bookwyrm/docker-compose.yml
bcj 015d45ef99 Start cron on db service start
init.d isn't run when docker containers are run so we need to modify the entrypoint.
This commit makes the ugly choice of injecting the command in automatically in order to avoid the need to manually maintain the images entrypoint.
2021-03-08 23:09:54 -06:00

97 lines
2.5 KiB
YAML

version: '3'
services:
nginx:
image: nginx:latest
ports:
- 80:80
- 443:443
depends_on:
- web
networks:
- main
volumes:
- ./nginx:/etc/nginx/conf.d
- ./certbot/conf:/etc/nginx/ssl
- ./certbot/data:/var/www/certbot
- static_volume:/app/static
- media_volume:/app/images
certbot:
image: certbot/certbot:latest
command: certonly --webroot --webroot-path=/var/www/certbot --email ${EMAIL} --agree-tos --no-eff-email -d ${DOMAIN} -d www.${DOMAIN}
#command: renew --webroot --webroot-path /var/www/certbot
volumes:
- ./certbot/conf:/etc/letsencrypt
- ./certbot/logs:/var/log/letsencrypt
- ./certbot/data:/var/www/certbot
db:
build: postgres-docker
env_file: .env
entrypoint: /bookwyrm-entrypoint.sh
command: cron postgres
volumes:
- pgdata:/var/lib/postgresql/data
- backups:/backups
networks:
- main
web:
build: .
env_file: .env
command: gunicorn bookwyrm.wsgi:application --bind 0.0.0.0:8000
volumes:
- .:/app
- static_volume:/app/static
- media_volume:/app/images
depends_on:
- db
- celery_worker
networks:
- main
ports:
- 8000:8000
redis:
image: redis
command: redis-server --requirepass ${REDIS_PASSWORD}
volumes:
- ./redis.conf:/etc/redis/redis.conf
env_file: .env
ports:
- 6379:6379
networks:
- main
restart: on-failure
celery_worker:
env_file: .env
build: .
networks:
- main
command: celery -A celerywyrm worker -l info
volumes:
- .:/app
- static_volume:/app/static
- media_volume:/app/images
depends_on:
- db
- redis
restart: on-failure
flower:
build: .
command: flower --port=8888 --basic_auth=${FLOWER_USER}:${FLOWER_PASSWORD}
env_file: .env
environment:
- CELERY_BROKER_URL=${CELERY_BROKER}
networks:
- main
depends_on:
- db
- redis
restart: on-failure
ports:
- 8888:8888
volumes:
pgdata:
backups:
static_volume:
media_volume:
networks:
main: