wiki_ghostguild/outline.env.example
Jennie Robinson Faber 289e673cbc Replace Nuxt wiki with Outline deployment config
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.
2026-03-01 15:45:44 +00:00

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