Strip the Nuxt 4 static site and replace with Docker Compose config for self-hosted Outline wiki (Outline + PostgreSQL 16 + Redis 7). Adds nginx reverse proxy with WebSocket support and CSS injection, migration script for existing markdown articles, backup script, and starter theme CSS.
61 lines
1.6 KiB
Text
61 lines
1.6 KiB
Text
# =============================================================================
|
|
# Outline Wiki — Environment Configuration
|
|
# Copy to outline.env and fill in all values before running docker compose up.
|
|
# =============================================================================
|
|
|
|
# ---------------------
|
|
# Core secrets
|
|
# ---------------------
|
|
# Generate each with: openssl rand -hex 32
|
|
SECRET_KEY=
|
|
UTILS_SECRET=
|
|
|
|
# ---------------------
|
|
# Database
|
|
# ---------------------
|
|
DATABASE_URL=postgres://outline:CHANGE_ME@postgres:5432/outline
|
|
REDIS_URL=redis://redis:6379
|
|
|
|
# ---------------------
|
|
# Application
|
|
# ---------------------
|
|
URL=https://wiki.ghostguild.org
|
|
PORT=3000
|
|
FORCE_HTTPS=true
|
|
|
|
# File storage — local (stored in Docker volume)
|
|
FILE_STORAGE=local
|
|
FILE_STORAGE_LOCAL_ROOT_DIR=/var/lib/outline/data
|
|
|
|
# ---------------------
|
|
# OIDC Authentication (Ghost Guild SSO)
|
|
# ---------------------
|
|
OIDC_CLIENT_ID=outline-wiki
|
|
OIDC_CLIENT_SECRET=CHANGE_ME
|
|
OIDC_AUTH_URI=https://ghostguild.org/oidc/auth
|
|
OIDC_TOKEN_URI=https://ghostguild.org/oidc/token
|
|
OIDC_USERINFO_URI=https://ghostguild.org/oidc/me
|
|
OIDC_LOGOUT_URI=https://ghostguild.org/oidc/session/end
|
|
OIDC_DISPLAY_NAME=Ghost Guild
|
|
OIDC_SCOPES=openid profile email
|
|
|
|
# ---------------------
|
|
# Email (via Resend SMTP)
|
|
# ---------------------
|
|
SMTP_HOST=smtp.resend.com
|
|
SMTP_PORT=465
|
|
SMTP_SECURE=true
|
|
SMTP_USERNAME=resend
|
|
SMTP_PASSWORD=CHANGE_ME
|
|
SMTP_FROM_EMAIL=wiki@ghostguild.org
|
|
SMTP_REPLY_EMAIL=support@ghostguild.org
|
|
|
|
# ---------------------
|
|
# Optional
|
|
# ---------------------
|
|
# PGSSLMODE=disable
|
|
# LOG_LEVEL=info
|
|
# DEFAULT_LANGUAGE=en_US
|
|
# RATE_LIMITER_ENABLED=true
|
|
# RATE_LIMITER_REQUESTS=1000
|
|
# RATE_LIMITER_DURATION_WINDOW=60
|