How to self-host Outline wiki in 2026: Notion alternative

Outline is the open-source Notion alternative for team wikis. 27,000 GitHub stars, rich editor, real-time collaboration. The tricky part is the OAuth setup — Outline doesn't ship username/password by design. Three ways to self-host.

Dmytro Chervonyi

Dmytro Chervonyi

Co-founder & CMO, livemy.app

Last updated

8

min.

Reading time

TABLE OF CONTENTS

item

How to self-host Outline wiki in 2026

AI Summary

Outline is the open-source Notion alternative for team wikis — 27,000 GitHub stars, real-time collaborative editor, full-text search, slash commands, embeds. Outline Cloud is $19/user/month on the Team plan. Self-hosted is free — you pay only for the server (~$10/month VPS or $20/month flat on livemy.app). The architectural complexity is higher than n8n or Ghost: Outline needs PostgreSQL, Redis, an S3-compatible storage bucket for file uploads, and an OAuth provider (Google, Slack, GitHub, or generic OIDC) because Outline has no built-in username/password login by design. This guide walks the three self-host paths, the OAuth configuration that decides whether your team can sign in, the local storage option introduced in 2026 (skips the S3 dance), and the five things that quietly break self-hosted Outline.

What Outline is and why people self-host it

Outline is open-source team wiki software — think Notion or Confluence, but yours to run. 27,000 GitHub stars in 2026. Rich collaborative editor, full-text search, slash commands, embeds, real-time multi-user editing. Used by teams who want Notion-style knowledge management without sending every internal doc to a third-party SaaS.

Three reasons to self-host instead of using Outline Cloud.

Per-user pricing on Cloud. Outline Cloud Team is $19/user/month. A 10-person team is $190/month. Self-hosted is flat regardless of seat count.

Internal data stays internal. Engineering docs, HR policies, customer information — everything lives on your server. Important for compliance-bound teams.

Air-gapped or VPN-only deployments. Need a wiki that's only reachable from corporate VPN? Self-host inside your network. Outline Cloud can't do that.

What Outline needs to run (it's more than just a container)

Outline has four moving parts, more than most self-hostable apps.

  • PostgreSQL — main database for docs, users, collections

  • Redis — caching and real-time collaboration via WebSockets

  • S3-compatible storage — file attachments and images. Or, as of 2026, local storage as an option that skips the S3 setup entirely

  • OAuth provider — Google, Slack, GitHub, Microsoft, or generic OIDC. Outline does not ship username/password login by design

The OAuth requirement is the part that catches teams off guard. Outline's stance is that SSO is the right way to manage company knowledge — and they don't want to be responsible for a homegrown password store. The trade-off: you can't run Outline without setting up at least one OAuth provider.

Three ways to self-host Outline

Path A: Docker Compose on your own VPS

Spin up a VPS with at least 2 GB RAM ($10–20/month). Drop a docker-compose.yml with Outline + PostgreSQL + Redis. Set up MinIO as a local S3-compatible bucket, or use local storage if your install is just yours. Configure OAuth credentials. nginx + automated SSL for SSL.

Realistic time-to-first-deploy: 2–4 hours including the OAuth dance.

Path B: Managed Docker host (Coolify, Dokploy)

Outline is on both as a template. Cleaner setup for the multi-container architecture. You still configure OAuth.

Path C: livemy.app one-click deploy

Pick the Outline template. livemy.app provisions PostgreSQL, Redis, and local storage (or connects to your S3-compatible bucket). Three-minute deploy. $25/month flat with backups.

From zero to Outline on livemy.app (about 5 minutes including OAuth)

Step 1: Sign up at livemy.app, pick Maker

Go to livemy.app, Start free, pick Maker ($20/month). Always-on is required for the websocket-based real-time collaboration.

Step 2: Deploy from the Outline template

In the dashboard: New projectTemplateOutline. livemy.app provisions PostgreSQL + Redis + local storage volume.

Step 3: Generate the secret keys

Outline needs two random secrets. Generate both with openssl rand -hex 32.

Under Project Settings → Environment Variables:

  • SECRET_KEY — first random hex string

  • UTILS_SECRET — second random hex string

  • URL — your full public URL with https:// (e.g., https://wiki.yourdomain.com)

  • FILE_STORAGE — set to local for the simplest setup; s3 if using AWS/MinIO/Backblaze

Step 4: Pick and configure an OAuth provider

Google is the easiest for most teams. Go to Google Cloud Console, create a project, enable the OAuth consent screen, create OAuth 2.0 credentials. Authorized redirect URI: https://wiki.yourdomain.com/auth/google.callback. Copy Client ID and Client Secret.

Add to environment variables: GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET. If you prefer Slack: SLACK_KEY, SLACK_SECRET, with Slack OAuth scopes identity.basic, identity.email, identity.avatar, identity.team.

Step 5: Configure SMTP for email notifications

Outline sends notifications for mentions, comments, doc edits. Add SMTP_HOST, SMTP_PORT, SMTP_USERNAME, SMTP_PASSWORD, SMTP_FROM_EMAIL. Mailgun, Postmark, Resend all work.

Step 6: Point your domain, sign in

Add custom domain, update DNS, wait for SSL. Update URL to the final domain, redeploy. Visit the URL, click "Continue with Google" (or Slack), authenticate. First user to sign in becomes the admin.

Five things that quietly break self-hosted Outline

1. OAuth redirect URI doesn't exactly match

Google and Slack reject any redirect URI mismatch — even a trailing slash or http vs https kills the flow. Symptom: clicking "Continue with Google" lands on a Google error page.

Fix. Copy the exact redirect URI from Outline's docs: https://wiki.yourdomain.com/auth/google.callback (no trailing slash). Update Google Cloud OAuth client settings any time the domain changes.

2. S3 setup is the second-hardest part (after OAuth)

If you went with S3 (instead of local storage), the bucket policy, CORS configuration, and access keys all have to be exactly right. Wrong bucket policy = images upload but never display. Wrong CORS = images upload from the browser fails entirely.

Fix. Use FILE_STORAGE=local unless you have a real reason to need S3 (multi-instance Outline, very large file libraries). Local storage just writes to a volume — simpler, cheaper, and supported officially as of 2026.

3. Real-time collaboration needs websocket support on the proxy

Outline's collaborative editor uses WebSockets. Without correct WebSocket proxying, doc edits still save but two users editing the same doc don't see each other's changes live.

Fix. livemy.app handles this automatically. On a manual nginx/Caddy setup, ensure WebSocket upgrade headers are proxied.

4. PostgreSQL needs at least 2 GB RAM at scale

Outline's full-text search and real-time edit ops put load on Postgres. The 1 GB tier works for under 10 users; bigger teams need more.

Fix. livemy.app Maker provides enough headroom for small-to-medium teams. For 50+ users with heavy edit volume, scale the tier or move Postgres to a separate dedicated instance.

5. Lose SECRET_KEY, lose every encrypted setting

Outline uses SECRET_KEY to encrypt OAuth tokens and integration credentials stored in the database. Change the key and every existing integration breaks.

Fix. Generate SECRET_KEY once, store it in a password manager, never change it.

Cost: Outline Cloud vs self-hosted

Real numbers for a 10-person team.

Outline Cloud Team: $19/user × 10 = $190/month

Self-hosted on a $10 VPS: $10/month for unlimited users.

Self-hosted on livemy.app: $25/month flat ($20 Maker + $5 backups). Unlimited users, managed Postgres and Redis.

For a 10-person team, livemy.app saves $165/month — about $2,000/year. Self-hosting pays for itself before the OAuth setup is done.

FAQ

Why doesn't Outline have username/password login?

By design — Outline expects SSO via OAuth or SAML. The rationale is security and ease of revocation: when an employee leaves, you revoke their Google or Slack access and they immediately lose Outline access too. No separate password to reset, no orphaned accounts to clean up.

Can I use generic OIDC (Authentik, Keycloak)?

Yes. Outline supports generic OIDC providers, which is how people self-hosting their own SSO (Authentik, Keycloak) plug it in. Configure the OIDC environment variables in addition to or instead of Google/Slack.

Can I migrate from Notion to self-hosted Outline?

Yes. Export your Notion workspace as Markdown + CSV, import via Outline's built-in import (Settings → Import → Markdown). Database content imports as tables. Plan for an afternoon for a medium-sized workspace; large workspaces with lots of databases take longer.

Will real-time collaboration work as well as in Notion?

For typical wiki use (two or three people editing the same doc at once), yes. Notion's edge is purely in massive collaborative documents with many simultaneous editors — Outline handles small-team collaboration cleanly.

What's the cheapest way to host Outline?

A $10/month VPS running Docker Compose with local file storage and Google OAuth. Realistic total: $10 VPS + $0 SSL + $0–10 SMTP = $10–20/month flat for unlimited team members.

Will it auto-update?

On livemy.app, opt-in auto-update or pin to a version. Outline ships updates every few weeks, including the major real-time collab features in 2024–2025. Pinning to a known-good version is fine for stable wikis; auto-update is fine if you trust the upstream release cadence.

Self-host Outline — unlimited team, flat $25/month

If you're paying Outline Cloud Team for 10+ users, or considering Notion at similar per-seat pricing, self-hosting Outline drops the math to a flat $20–25/month at any team size. The cheapest path is a $10 VPS. The fastest path is livemy.app — just budget the 30 minutes for Google OAuth setup.

→ Start free on livemy.app · Outline template with Postgres + Redis + local storage, custom domain, SSL, backups, all on Maker at $20/month flat.

Stuck on the OAuth setup or migrating from Notion? Email hello@livemy.app with what's blocking. Replies inside one business day.

Read next

Dmytro Chervonyi

Dmytro Chervonyi

,

Co-founder & CMO, livemy.app

Co-founder & CMO at livemy.app. 12 years as a CMO scaling SaaS from $0 to $10M+ ARR across marketing, sales, and infra products and tools. Now building the missing step between AI-built code and a live URL — for non-developers who’d rather ship than learn DevOps.

Build something.
We'll make it live.

Free to start. 2 minutes to deploy. One click to cancel.

No credit card · No commitment · Free tier forever