ansible/roles/docker/templates/compose-files/fedi_dk_nodebb.yml.j2
2025-02-19 00:32:17 +01:00

71 lines
1.9 KiB
Django/Jinja

services:
nginx:
image: nginx:{{ services.fedi_dk_nodebb.nginx_version }}
restart: always
networks:
- default
- external_services
volumes:
- "./nginx:/etc/nginx/conf.d:ro"
- "./build:/usr/src/app/build:ro"
- "./public:/usr/src/app/public:ro"
environment:
VIRTUAL_HOST: {{ services.fedi_dk_nodebb.domain }}
VIRTUAL_PORT: 80
LETSENCRYPT_HOST: {{ services.fedi_dk_nodebb.domain }}
LETSENCRYPT_EMAIL: {{ letsencrypt_email }}
depends_on:
- app
redis:
image: redis:{{ services.fedi_dk_nodebb.redis_version }}
restart: unless-stopped
tmpfs:
- /var/lib/redis
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 3s
retries: 5
mongodb:
image: mongo:{{ services.fedi_dk_nodebb.mongodb_version }}
restart: always
volumes:
- "./mongodb:/data/db:rw"
- "./mongodb-user-init.js:/docker-entrypoint-initdb.d/user-init.js:ro"
environment:
MONGO_INITDB_ROOT_USERNAME: nodebb
MONGO_INITDB_ROOT_PASSWORD: {{ fedi_dk_nodebb_secrets.mongodb_password }}
healthcheck:
test: ["CMD", "mongosh", "--quiet", "127.0.0.1/test", "--eval", "'quit(db.runCommand({ ping: 1 }).ok ? 0 : 2)'"]
interval: 10s
timeout: 10s
retries: 5
start_period: 40s
app:
image: ghcr.io/nodebb/nodebb:{{ services.fedi_dk_nodebb.version }}
restart: always
networks:
default:
aliases:
- app.nodebb
postfix:
volumes:
- "./build:/usr/src/app/build:rw"
- "./public:/usr/src/app/public:rw"
- "./uploads:/usr/src/app/public/uploads:rw"
- "./config:/opt/config:rw"
- "./setup.json:/usr/src/app/setup.json:ro"
depends_on:
redis:
condition: service_healthy
mongodb:
condition: service_healthy
networks:
postfix:
external: true
external_services:
external: true