Home Random

Outline

Install#

The recommended way to run Outline is through a docker-compose.yml. You can find the docu here: https://docs.getoutline.com/s/hosting/doc/docker-7pfeLP5a8t

The docker-compose.yml uses a docker.env for its environment-variables. You can find in on their Github: https://github.com/outline/outline/blob/main/.env.sample (also linked in the docu) The following variables are important:

## Set postgres ssl to false, otherwise there will be an error when running yarn
PGSSLMODE=disable
## If your using traefik or another loadBalancer, turn off redirection
FORCE_HTTPS=false

Outline utilizes a postgres-database. Before the first start it needs to get initalized:

## Creation
docker compose run --rm outline yarn db:create --env=production-ssl-disabled
## Migration
docker compose run --rm outline yarn db:migrate --env=production-ssl-disabled

Run both commands in order.

When creating the database, this error can appear:

Sequelize CLI [Node: 20.19.1, CLI: 6.6.2, ORM: 6.37.3]

Loaded configuration file "server/config/database.json".
Using environment "production-ssl-disabled".

ERROR: getaddrinfo ENOTFOUND postgres

error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

The outline container cannot find the postgres-container. To fix that explicitly create a network and put all services in it.

networks:
  outline-net:
    name: outline-net
    driver: bridge

services:
  outline:
    networks:
      - outline-net
  postgres:
    container_name: postgres-outline  # fixed hostname
    networks:
      - outline-net

Also make sure to give the containers fixed names, so the variable in docker.env are right.

## docker.env
DATABASE_URL=postgres://user:pass@postgres-outline:5432/outline

Authentik as provider for Open ID Connect#

Reference: