# Outline - Modern csapat tudásbázis Markdown támogatással # Domain: kb.${DOMAIN} # Database: postgres # RAM: ~200M (mem_limit: 768M) | Pi-compatible: No # # Environment variables: # DOMAIN - Your domain (e.g., demo-felhom.eu) # SECRET_KEY - Titkosítási kulcs (auto-generated) # UTILS_SECRET - Segédprogram kulcs (auto-generated) # DB_PASSWORD - Adatbázis jelszó (auto-generated) services: outline: image: outlinewiki/outline:0.82.0 container_name: outline restart: unless-stopped depends_on: outline-postgres: condition: service_healthy outline-redis: condition: service_healthy environment: - NODE_ENV=production - SECRET_KEY=${SECRET_KEY} - UTILS_SECRET=${UTILS_SECRET} - DATABASE_URL=postgres://outline:${DB_PASSWORD}@outline-postgres:5432/outline - REDIS_URL=redis://outline-redis:6379 - URL=https://kb.${DOMAIN} - PORT=3000 - FILE_STORAGE=local - FILE_STORAGE_LOCAL_ROOT_DIR=/var/lib/outline/data volumes: - outline_data:/var/lib/outline/data networks: - traefik-public - outline-internal deploy: resources: limits: memory: 768M healthcheck: test: ["CMD", "node", "-e", "const http = require('http'); http.get('http://localhost:3000/_health', (r) => { process.exit(r.statusCode === 200 ? 0 : 1) }).on('error', () => process.exit(1))"] interval: 30s timeout: 5s retries: 3 start_period: 30s labels: - "traefik.enable=true" - "traefik.http.routers.outline.rule=Host(`kb.${DOMAIN}`)" - "traefik.http.routers.outline.entrypoints=websecure" - "traefik.http.routers.outline.tls=true" - "traefik.http.routers.outline.tls.certresolver=letsencrypt" - "traefik.http.services.outline.loadbalancer.server.port=3000" outline-postgres: image: postgres:16-alpine container_name: outline-postgres restart: unless-stopped environment: - POSTGRES_USER=outline - POSTGRES_PASSWORD=${DB_PASSWORD} - POSTGRES_DB=outline - TZ=Europe/Budapest volumes: - outline_postgres_data:/var/lib/postgresql/data networks: - outline-internal deploy: resources: limits: memory: 256M healthcheck: test: ["CMD-SHELL", "pg_isready -U outline -d outline"] interval: 10s timeout: 5s retries: 5 start_period: 20s outline-redis: image: redis:7-alpine container_name: outline-redis restart: unless-stopped environment: - TZ=Europe/Budapest volumes: - outline_redis_data:/data networks: - outline-internal deploy: resources: limits: memory: 128M healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 5s retries: 5 start_period: 20s volumes: outline_data: outline_postgres_data: outline_redis_data: networks: traefik-public: external: true outline-internal: