diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..37b5226 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,125 @@ +version: '3' + +services: + nginx: + image: nginx:latest +# ports: +# - 80:80 +# - 443:443 + depends_on: + - web + environment: + - VIRTUAL_HOST=good.franv.site + - LETSENCRYPT_HOST=good.franv.site + - VIRTUAL_PORT=8001 + networks: + - main + - acme-companion_proxy-tier + 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 + - redis_activity + networks: + - main +# ports: +# - 8000:8000 + redis_activity: + image: redis + command: redis-server --requirepass ${REDIS_ACTIVITY_PASSWORD} --appendonly yes --port ${REDIS_ACTIVITY_PORT} + volumes: + - ./redis.conf:/etc/redis/redis.conf + - redis_activity_data:/data + env_file: .env +# environment: +# - VIRTUAL_HOST=good.franv.site +# - LETSENCRYPT_HOST=good.franv.site +# - VIRTUAL_PORT=8000 + + networks: + - main + - acme-companion_proxy-tier + + restart: on-failure + redis_broker: + image: redis + command: redis-server --requirepass ${REDIS_BROKER_PASSWORD} --appendonly yes --port ${REDIS_BROKER_PORT} + volumes: + - ./redis.conf:/etc/redis/redis.conf + - redis_broker_data:/data + 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 -Q high_priority,medium_priority,low_priority + volumes: + - .:/app + - static_volume:/app/static + - media_volume:/app/images + depends_on: + - db + - redis_broker + restart: on-failure + flower: + build: . + command: flower -A celerywyrm + env_file: .env + volumes: + - .:/app + networks: + - main + depends_on: + - db + - redis_broker + restart: on-failure +# ports: +# - 8888:8888 +volumes: + pgdata: + backups: + static_volume: + media_volume: + redis_broker_data: + redis_activity_data: +networks: + main: + acme-companion_proxy-tier: + external: true