
Deploy Outline on Your Own Server
An open, extensible, wiki for your team built using React and Node.js.
Want to deploy Outline on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.
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.
Install Docker
Skip this step if Docker is already installed on your server.
curl -fsSL https://get.docker.com | sh
Configure
Customize the settings below. Defaults work for most cases.
General
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
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)"