wiki_ghostguild/docker-compose.yml
Jennie Robinson Faber ed05044464 Block dotfile access, remove custom CSS, fix cron npm install
- nginx: deny all requests to hidden files (/.git/config was publicly readable)
- nginx: remove CSS injection and /custom/ static file serving
- cron: install script deps at build time into /opt to avoid ro mount conflict
- docker-compose: widen cron build context for package.json COPY
- Delete unused theme/ghost-guild.css
2026-03-31 17:53:50 +01:00

101 lines
2 KiB
YAML

services:
nginx:
image: nginx:alpine
restart: unless-stopped
depends_on:
- outline
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
networks:
- default
- dokploy-network
outline:
image: docker.getoutline.com/outlinewiki/outline:1.6.1
restart: unless-stopped
env_file:
- .env
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
volumes:
- outline-storage:/var/lib/outline/data
postgres:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_USER: outline
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: outline
volumes:
- postgres-data:/var/lib/postgresql/data
command:
- "postgres"
- "-c"
- "shared_buffers=128MB"
- "-c"
- "max_connections=20"
- "-c"
- "work_mem=4MB"
- "-c"
- "maintenance_work_mem=64MB"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U outline"]
interval: 10s
timeout: 5s
retries: 5
redis:
image: redis:7-alpine
restart: unless-stopped
command: >
redis-server
--maxmemory 64mb
--maxmemory-policy allkeys-lru
volumes:
- redis-data:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
cron:
build:
context: .
dockerfile: cron/Dockerfile
restart: unless-stopped
depends_on:
- postgres
volumes:
- ./scripts:/app/scripts:ro
- ./content:/app/content
- ./.git:/app/.git
- /var/run/docker.sock:/var/run/docker.sock:ro
- ~/.ssh:/root/.ssh:ro
- ./backups:/backups/outline
env_file:
- .env
networks:
dokploy-network:
external: true
volumes:
outline-storage:
name: code_outline-storage
external: true
postgres-data:
name: code_postgres-data
external: true
redis-data:
name: code_redis-data
external: true