81 lines
2.5 KiB
Markdown
81 lines
2.5 KiB
Markdown
# octomode
|
|
|
|
> *work-in-progress*
|
|
|
|
Octomode is a collective editing space for PDF making, using Etherpad, Paged.js and Flask.
|
|
|
|
Inspired by the multi-centered, tentacular cognition capabilities of the octopus, we imagined a space in which the artificial boundaries of writing and design can be crossed; where writing, editing and designing can be done in one environment simultaneously, allowing the format to influence the matter and vice-versa.
|
|
|
|
More expanded documentation can be found here: <https://cc.vvvvvvaria.org/wiki/Octomode>
|
|
|
|
An installation guide can be found below.
|
|
|
|
## Install octomode
|
|
|
|
You can clone this repository to run octomode on your own computer or server.
|
|
|
|
`git clone https://git.vvvvvvaria.org/varia/octomode.git`
|
|
|
|
Install the dependencies.
|
|
|
|
All the `python` dependencies are listed in `requirements.txt`
|
|
|
|
To install them, you can run:
|
|
|
|
`make setup`
|
|
|
|
This creates a virtual environment at `.venv/` and installs all the dependencies here.
|
|
|
|
Next to this, you also need to install `pandoc`.
|
|
|
|
`sudo apt install pandoc`
|
|
|
|
Now we need to configure *octomode*:
|
|
|
|
`cd octomode`
|
|
|
|
`nano .env`
|
|
|
|
Configure your environment, save the following configuration settings as to a file called `.env`:
|
|
|
|
```
|
|
OCTOMODE_APPLICATION_ROOT=XXX
|
|
OCTOMODE_PORTNUMBER=XXX
|
|
OCTOMODE_PAD_URL=XXX
|
|
OCTOMODE_PAD_API_URL=XXX
|
|
OCTOMODE_PAD_API_KEY=XXX
|
|
```
|
|
|
|
- **OCTOMODE_APPLICATION_ROOT**: *optional*, default: `/`
|
|
- **OCTOMODE_PORTNUMBER**: *optional*, default: `5001`
|
|
- **OCTOMODE_PAD_URL**: *optional*, default: `https://pad.vvvvvvaria.org/`
|
|
- **OCTOMODE_PAD_API_URL**: *optional*, default: `https://pad.vvvvvvaria.org/api/1.2.15/`
|
|
- **OCTOMODE_PAD_API_KEY**: *required*, **no default**
|
|
|
|
(Note: You must provide a value for `OCTOMODE_PAD_API_KEY`.)
|
|
|
|
`make run` (runs the Flask application)
|
|
|
|
Open the application at port `5001`, for example: <http://localhost:5001> or <https://mydomainname.ext:5001>.
|
|
|
|
## Install octomode with an URL prefix
|
|
|
|
If you want to install octomode with an URL prefix, like <https://mydomainname.ext/octomode/>, then you can use the gunicorn WSGI.
|
|
|
|
If you have ran the `make setup` command already, then `gunicorn` is already installed.
|
|
|
|
Configure your application root URL in your `.env` file.
|
|
|
|
You can simply run *octomode* now with the following command to run it with `gunicorn` (and not the built-in Flask dev server):
|
|
|
|
`make action`
|
|
|
|
### Dependencies
|
|
|
|
* pandoc
|
|
* python dependencies, see: `requirements.txt`
|
|
|
|
## Use octomode locally
|
|
|
|
It's recommended to use Firefox when working with octomode locally. Chrome or Chromium do not load external etherpads in iframes.
|