This repository has been archived on 2025-11-16. You can view files and clone it, but cannot push or open issues or pull requests.
Files
swarm-production/stacks/apps/mediacms/stack.yml
2025-11-08 00:49:12 +00:00

174 lines
3.8 KiB
YAML

version: "3.8"
services:
db:
image: postgres:17.2-alpine
networks:
- mediacms
environment:
POSTGRES_USER: mediacms
POSTGRES_PASSWORD: mediacms
POSTGRES_DB: mediacms
TZ: America/New_York
volumes:
- /home/doc/projects/swarm-data/appdata/mediacms/postgres:/var/lib/postgresql/data/
healthcheck:
test: [ "CMD-SHELL", "pg_isready -d mediacms -U mediacms" ]
interval: 10s
timeout: 5s
retries: 5
deploy:
replicas: 1
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
placement:
constraints:
- node.role == manager
redis:
image: redis:alpine
networks:
- mediacms
healthcheck:
test: [ "CMD", "redis-cli", "ping" ]
interval: 10s
timeout: 5s
retries: 3
deploy:
replicas: 1
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
migrations:
image: mediacms/mediacms:latest
networks:
- mediacms
volumes:
- /home/doc/projects/swarm-data/appdata/mediacms/data:/home/mediacms.io/mediacms/
environment:
ENABLE_UWSGI: 'no'
ENABLE_NGINX: 'no'
ENABLE_CELERY_SHORT: 'no'
ENABLE_CELERY_LONG: 'no'
ENABLE_CELERY_BEAT: 'no'
ADMIN_USER: 'admin'
ADMIN_EMAIL: 'john.allisonwin@outlook.com'
POSTGRES_HOST: db
POSTGRES_DB: mediacms
POSTGRES_USER: mediacms
POSTGRES_PASSWORD: mediacms
REDIS_HOST: redis
command: "./deploy/docker/prestart.sh"
depends_on:
- redis
- db
deploy:
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
web:
image: mediacms/mediacms:latest
networks:
- mediacms
- homelab
ports:
- "8880:80"
volumes:
- /home/doc/projects/swarm-data/appdata/mediacms/data:/home/mediacms.io/mediacms/
environment:
ENABLE_CELERY_BEAT: 'no'
ENABLE_CELERY_SHORT: 'no'
ENABLE_CELERY_LONG: 'no'
ENABLE_MIGRATIONS: 'no'
POSTGRES_HOST: db
POSTGRES_DB: mediacms
POSTGRES_USER: mediacms
POSTGRES_PASSWORD: mediacms
REDIS_HOST: redis
depends_on:
- migrations
- db
- redis
deploy:
replicas: 1
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
resources:
limits:
memory: 2G
reservations:
memory: 512M
celery_beat:
image: mediacms/mediacms:latest
networks:
- mediacms
volumes:
- /home/doc/projects/swarm-data/appdata/mediacms/data:/home/mediacms.io/mediacms/
environment:
ENABLE_UWSGI: 'no'
ENABLE_NGINX: 'no'
ENABLE_CELERY_SHORT: 'no'
ENABLE_CELERY_LONG: 'no'
ENABLE_MIGRATIONS: 'no'
POSTGRES_HOST: db
POSTGRES_DB: mediacms
POSTGRES_USER: mediacms
POSTGRES_PASSWORD: mediacms
REDIS_HOST: redis
depends_on:
- redis
- db
deploy:
replicas: 1
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
celery_worker:
image: mediacms/mediacms:latest
networks:
- mediacms
volumes:
- /home/doc/projects/swarm-data/appdata/mediacms/data:/home/mediacms.io/mediacms/
environment:
ENABLE_UWSGI: 'no'
ENABLE_NGINX: 'no'
ENABLE_CELERY_BEAT: 'no'
ENABLE_MIGRATIONS: 'no'
POSTGRES_HOST: db
POSTGRES_DB: mediacms
POSTGRES_USER: mediacms
POSTGRES_PASSWORD: mediacms
REDIS_HOST: redis
depends_on:
- migrations
- db
- redis
deploy:
replicas: 1
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
resources:
limits:
memory: 4G
reservations:
memory: 1G
networks:
mediacms:
driver: overlay
homelab:
external: true