Local development

If you wish to make and test changes to the Outline source code to customize your installation or contribute to the open source project then you’ll need to run a development version of the software.

For the right balance of speed and performance we recommend running Redis + Postgres inside of Docker with the Node application running directly on the host machine. This guide assumes this setup.

Dependencies

Install these dependencies if you don't already have them:

  1. Git

  2. Docker for Desktop

  3. Node.js (v20 LTS preferred)

  4. Yarn

  5. mkcert (For SSL)

Download

Clone the source code with the following command:

git clone git@github.com:outline/outline

Configuration

Env

Copy the .env.sample file to .env – for development the contents should mostly work as in the sample but it is required to configure at least one authentication provider of your choice or provision a user – see the bottom of this file.

Hosts

Add an entry in your /etc/hosts file to allow the local development domains to load:

 127.0.0.1     app.outline.dev
 127.0.0.1     wiki.outline.dev

Running

make up

This command will download the Node dependencies, create and migrate the database, install the local SSL certificates, and build and launch a development version of Outline.