service: name: outline owner_node: vps exposure: public dependencies: - postgres - redis ports: - container: 3000 host: 3000 protocol: tcp healthcheck: type: http endpoint: http://localhost:3000/_health interval: 30s timeout: 10s retries: 3 restart_policy: unless-stopped persistence: paths: # Docker named volumes — data stays at Docker volume paths - volume:outline_outline_storage # /var/lib/outline/data inside container - volume:outline_postgres_data # Postgres data directory - volume:outline_redis_data # Redis persistence runtime: env_file: /opt/homelab/config/outline/.env env_vars: - URL - DATABASE_URL - REDIS_URL - SECRET_KEY - UTILS_SECRET - FILE_STORAGE - POSTGRES_USER - POSTGRES_PASSWORD - POSTGRES_DB