Railway

Deploy Outline | Open Source Notion, Confluence Alternative

Self-host Outline. Fast Wiki, Docs, Search, Real-Time Collab

Deploy Outline | Open Source Notion, Confluence Alternative

DBs

/var/lib/postgresql/data

Just deployed

/data

Just deployed

/var/lib/outline/data

Deploy and Host Outline

Outline is a fast, open-source team knowledge base and wiki — a self-hosted alternative to Notion and Confluence built on Node.js and React. It gives teams a polished, Markdown-first editor with real-time collaboration, nested collections, powerful search, and 20+ integrations (Slack, Figma, Loom, and more).

Deploy Outline on Railway with this template and get a production-ready three-service stack — the Outline app, PostgreSQL, and Redis — all pre-wired over Railway's private network with one click.

Outline Railway architecture

Getting Started with Outline on Railway

Once deployed, open your Railway-generated domain (or custom domain). You will be prompted to sign up. The first user to sign in is created as an admin

Outline dashboard screenshot

⚠️ IMP: Setting Up Authentication (SSO / OAuth)

Outline requires at least one authentication provider before users can sign in. This template ships without a provider pre-configured so you can connect and explore before doing the hard work of setting up auth. If you want to add authentication, add the relevant variables to the Outline service and redeploy.

Some of the providers and their env vars are listed below:

Google OAuth

Create an OAuth 2.0 Client at console.cloud.google.com. Set the Authorized Redirect URI to https:///auth/google.callback. Full guide: docs.getoutline.com/s/hosting/doc/google-hOuvtCmTqQ

GOOGLE_CLIENT_ID="your-google-client-id"
GOOGLE_CLIENT_SECRET="your-google-client-secret"

Slack

Create a Slack app at api.slack.com/apps. Add https:///auth/slack.callback as an OAuth redirect URL. Full guide: docs.getoutline.com/s/hosting/doc/slack-A9vpFpPXxY

SLACK_CLIENT_ID="your-slack-client-id"
SLACK_CLIENT_SECRET="your-slack-client-secret"
SLACK_MESSAGE_ACTIONS="true"

Generic OIDC (Authelia, Authentik, Keycloak, etc.)

Any OIDC-compatible provider works. Set the redirect URI to https:///auth/oidc.callback. Full guide: docs.getoutline.com/s/hosting/doc/oidc-8CPBm6uC0I

OIDC_CLIENT_ID="outline"
OIDC_CLIENT_SECRET="your-oidc-secret"
OIDC_AUTH_URI="https://your-idp.com/auth"
OIDC_TOKEN_URI="https://your-idp.com/token"
OIDC_USERINFO_URI="https://your-idp.com/userinfo"
OIDC_USERNAME_CLAIM="preferred_username"
OIDC_DISPLAY_NAME="Login"
OIDC_SCOPES="openid profile email"

About Hosting Outline

Outline (github.com/outline/outline, Docker image: docker.getoutline.com/outlinewiki/outline:latest) is a knowledge management platform designed for teams that want the Notion experience with full data ownership. It runs as a Node.js server backed by PostgreSQL for document storage and Redis for WebSocket sessions, caching, and background queues. On Railway, all three services communicate exclusively over the private network — Postgres and Redis are never exposed publicly.

Key features:

  • Real-time collaborative editing with comments and @mentions
  • Slash commands, Markdown shortcuts, and media embeds
  • Nested documents, automatic backlinks, and millisecond-speed search
  • Collections with granular read/write permissions and user groups
  • Public document sharing and guest user support
  • 20+ integrations: Slack, Figma, Loom, Zapier, and an open REST API
  • RTL support and translations in 20+ languages
  • Dark mode

Why Deploy Outline on Railway

  • Private networking between Outline, Postgres, and Redis out of the box
  • Volume-backed local file storage — no S3 bucket required
  • Managed TLS and custom domains with zero nginx config
  • One-click redeploys; database migrations run automatically on startup

Common Use Cases

  • Internal team wikis — SOPs, runbooks, onboarding guides, and meeting notes organized in searchable collections
  • Product documentation — technical specs and product decisions version-controlled and shared across engineering and product teams
  • Customer-facing knowledge bases — public collections for support docs, FAQs, and help articles
  • Replacing Confluence — teams migrating away from per-user Confluence pricing who want a self-hosted, modern editor

Dependencies for Outline

  • Outlinedocker.getoutline.com/outlinewiki/outline:latest (github.com/outline/outline)
  • PostgreSQL — Railway managed Postgres; primary document and user database
  • Redis — Railway managed Redis; WebSocket sessions, caching, and background job queues

Deployment Dependencies


Setting Up SMTP (Email Features)

SMTP is optional but unlocks several key Outline features:

  • Magic link login — users can sign in via email without an SSO provider configured
  • Invitations — email invite links when adding new team members
  • Document notifications — alerts when someone comments or edits a shared doc

To enable email, set the following variables on the Outline service:

SMTP_HOST="smtp.yourprovider.com"
SMTP_PORT="587"                      # 587 for STARTTLS, 465 for SSL
SMTP_USERNAME="you@yourteam.com"
SMTP_PASSWORD="your-smtp-password"
SMTP_FROM_EMAIL="wiki@yourteam.com"
SMTP_SECURE="false"                  # true for port 465, false for 587

Without SMTP configured, invitation and notification emails will fail.


Minimum Hardware Requirements for Outline

ResourceMinimumRecommended
CPU0.5 vCPU1 vCPU
RAM512 MB1 GB
Storage1 GB (for volume)10 GB+ (scales with uploads)
Node.js≥ 18latest LTS
PostgreSQL≥ 9.514+
Redis≥ 47+

Outline is lightweight at idle. A single Railway Hobby plan instance comfortably handles small-to-medium teams (< 50 users). Increase WEB_CONCURRENCY for higher traffic.


How Much Does Outline Cost?

The Outline source code is BSL 1.1 licensed — free to self-host for internal, non-commercial use. Deploying this Railway template costs only what Railway charges for infrastructure, typically $5–15/month for the Hobby plan covering the app, Postgres, Redis, and a volume.

The commercial cloud version at getoutline.com starts at $10/month for up to 10 users, $79/month for up to 100 users, and $249/month for up to 200 users — all including managed hosting, SSO, and support. Self-hosting on Railway is the cost-effective path for teams that want data ownership without per-user pricing.


Outline vs Notion vs Confluence

FeatureOutline (self-hosted)NotionConfluence
Open sourceBSL 1.1 (source-available)
Self-hostable✅ (Data Center)
Real-time collaboration
Databases / KanbanLimited
Pricing (cloud)Free to self-hostFrom $10/user/moFrom $5.50/user/mo
Built-in auth (email/pw)Via magic link (SMTP needed)
SSO/OIDCPaid plansPaid plans
API

Outline is the right choice when data ownership and a modern editing experience matter more than Notion-style databases or Confluence's deep Jira integration.


Self-Hosting Outline

Self-host Outline on any VPS with Docker:

# Clone the official example config
git clone https://github.com/outline/outline.git
cd outline

# Copy and fill the environment file
cp .env.sample .env
# Edit .env: set URL, DATABASE_URL, REDIS_URL, SECRET_KEY, UTILS_SECRET, auth provider

docker pull docker.getoutline.com/outlinewiki/outline:latest
docker compose up -d

Companion services (minimum):

services:
  postgres:
    image: postgres:16
    environment:
      POSTGRES_DB: outline
      POSTGRES_USER: outline
      POSTGRES_PASSWORD: yourpassword
    volumes:
      - pgdata:/var/lib/postgresql/data

  redis:
    image: redis:7

FAQ

What is Outline? Outline is an open-source team knowledge base and wiki built on Node.js and React. It provides real-time collaborative editing, Markdown support, nested collections, fast full-text search, and 20+ integrations. It is commonly used as a self-hosted alternative to Notion or Confluence.

Do I need an SSO provider to use Outline? For team deployments, at least one SSO provider (Google, Slack, Microsoft, Discord, or OIDC) is recommended so users can self-serve sign-in. See the Authentication section above for setup instructions for each provider.

Do I need to set up SMTP? SMTP is optional but enables magic link login, email invitations to new team members, and document activity notifications. Without it, all email-based features silently fail. See the SMTP section above.

Can I use S3 instead of a local volume for file storage? Yes. Set FILE_STORAGE=s3 and configure AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION, AWS_S3_UPLOAD_BUCKET_NAME, and AWS_S3_UPLOAD_BUCKET_URL. Remove the Railway Volume from the Outline service when using S3. Any S3-compatible provider (Cloudflare R2, Backblaze B2, MinIO) works.


Template Content

More templates in this category

View Template
Strapi
A popular self-hosted CMS

Milo
7.5K
Deploy
View Template
WordPress with Redis
Deploy WordPress with MariaDB and Redis

Noor Adn
View Template
Directus (docker/websocket/extensions) + PostGIS (docker/TCP) + S3/Local
Directus (Docker) + PostGIS (Docker/TCP) + S3

Protemplate