Back to Apps
Outline

Deploy Outline on Your Own Server

An open, extensible, wiki for your team built using React and Node.js.

πŸ“ CMS

Want to deploy Outline on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.

Get Started

What is Outline?

Outline is an open, extensible, wiki for your team built using React and Node.js. Outline requires an external authentication provider such as Google/Slack, etc. If you don't want to rely on those solutions you can use a generic OpenID Connect Server. For instance you can use the Open Source Keycloak alternative (there is a Senate one-click-apps for that) IMPORTANT: You need to, at least, set one 3rd party login method, either Keycloak, Slack or Google

Self-Host Outline

Follow these steps to deploy on your own server.

1

Install Docker

Skip this step if Docker is already installed on your server.

curl -fsSL https://get.docker.com | sh
2

Configure

Customize the settings below. Defaults work for most cases.

General
3

Deploy

Copy the configuration and run it on your server.

services:
  outline:
    environment:
      AWS_ACCESS_KEY_ID: outline_user
      AWS_REGION: eu-east-1
      AWS_S3_ACL: private
      AWS_S3_FORCE_PATH_STYLE: "true"
      AWS_S3_UPLOAD_BUCKET_NAME: outline-data
      AWS_S3_UPLOAD_BUCKET_URL: https://YOUR_S3_STORAGE_PROVIDER_API_URL
      AWS_S3_UPLOAD_MAX_SIZE: "26214400"
      AWS_SECRET_ACCESS_KEY: ""
      DATABASE_URL: postgres://outline_user:8b5f89d1f3fbb5b78c00@outline-db:5432/outline
      DATABASE_URL_TEST: postgres://outline_user:8b5f89d1f3fbb5b78c00@outline-db:5432/outline-test
      DEBUG: http
      DEFAULT_LANGUAGE: en_US
      ENABLE_UPDATES: "false"
      FORCE_HTTPS: "false"
      GOOGLE_CLIENT_ID: ""
      GOOGLE_CLIENT_SECRET: ""
      PGSSLMODE: disable
      PORT: "3000"
      REDIS_URL: redis://outline-redis:6379
      SECRET_KEY: ""
      SMTP_FROM_EMAIL: ""
      SMTP_HOST: ""
      SMTP_PASSWORD: ""
      SMTP_PORT: ""
      SMTP_REPLY_EMAIL: ""
      SMTP_SECURE: "true"
      SMTP_TLS_CIPHERS: ""
      SMTP_USERNAME: ""
      URL: https://outline.your-domain.com
      UTILS_SECRET: ""
    depends_on:
      - outline-redis
      - outline-db
  outline-db:
    image: postgres:14.4
    environment:
      POSTGRES_DB: outline
      POSTGRES_PASSWORD: 8b5f89d1f3fbb5b78c00
      POSTGRES_USER: outline_user
    volumes:
      - outline-db-data:/var/lib/postgresql/data
  outline-redis:
    image: redis:7.0.2
    volumes:
      - outline-redis-data:/redis.conf
volumes:
  outline-db-data: {}
  outline-redis-data: {}

Then run:

docker compose up -d
4

Access

Once started, access your app at http://localhost:3000

Why Self-Host Outline?

Full Data Ownership

Your data stays on your servers. No third-party access.

No Monthly Fees

Pay only for your server. No per-seat or usage charges.

Complete Control

Customize, backup, and scale on your own terms.

Privacy & Compliance

Meet GDPR, HIPAA, or internal security requirements.

Technical Details

Want to go faster?

Try Senate! Senate handles Docker, HTTPS, updates, and monitoring for you. Deploy any of our 300+ apps with a single command.

Install on any Linux server:

sh -c "$(curl -sSL https://get.senate.sh)"