# 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: 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: or . ## Install octomode with an URL prefix If you want to install octomode with an URL prefix, like , 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.