layerindex-web/docker-compose.yml
Tim Orling ecd1005ae2 docker-compose: bump mariadb to 10.3
10.2 was based on Ubuntu bionic 18.04,
bumping to 10.3 as it is the first release
on Ubuntu focal 20.04

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
2022-01-13 20:59:10 -08:00

96 lines
2.9 KiB
YAML

version: '3'
services:
layersdb:
image: mariadb:10.3
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --wait_timeout=28800 --max_allowed_packet=128M
environment:
- "MYSQL_DATABASE=layersdb"
- "MYSQL_ROOT_PASSWORD=testingpw"
restart: unless-stopped
layersapp:
depends_on:
- layersdb
build: .
image: halstead/layerindex-app
hostname: localhost
volumes:
- layersmeta:/opt/workdir
- logvolume:/opt/layerindex-task-logs:z
environment:
#- "SECRET_KEY=<set this here>"
- "DATABASE_USER=root"
- "DATABASE_PASSWORD=testingpw"
- "DATABASE_HOST=layersdb"
- "RABBITMQ_DEFAULT_USER=guest"
- "RABBITMQ_DEFAULT_PASS=guest"
#- "EMAIL_HOST=<set this here>"
#- "EMAIL_PORT=<set this here if not the default>"
#- "EMAIL_USER=<set this here if needed>"
#- "EMAIL_PASSWORD=<set this here if needed>"
#- "EMAIL_USE_SSL=<set this here if needed>"
#- "EMAIL_USE_TLS=<set this here if needed>"
#- "DEBUG=1"
restart: unless-stopped
layersweb:
depends_on:
- layersapp
build:
context: .
dockerfile: Dockerfile.web
image: halstead/layerindex-web
hostname: localhost
ports:
- "8080:80"
## For production you want these instead
# - "80:80"
# - "443:443"
volumes:
- layersstatic:/usr/share/nginx/html
- ./docker/certs:/opt/cert
- certbotwww:/var/www/certbot:z
command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'"
restart: unless-stopped
layersrabbit:
image: rabbitmq:alpine
restart: unless-stopped
environment:
- "RABBITMQ_DEFAULT_USER=guest"
- "RABBITMQ_DEFAULT_PASS=guest"
layerscelery:
depends_on:
- layersdb
- layersapp
- layersrabbit
image: halstead/layerindex-app
volumes:
- layersmeta:/opt/workdir
- logvolume:/opt/layerindex-task-logs:z
environment:
#- "SECRET_KEY=<set this here>"
- "DATABASE_USER=layers"
- "DATABASE_PASSWORD=testingpw"
- "DATABASE_HOST=layersdb"
- "RABBITMQ_DEFAULT_USER=guest"
- "RABBITMQ_DEFAULT_PASS=guest"
#- "EMAIL_HOST=<set this here>"
#- "EMAIL_PORT=<set this here if not the default>"
#- "EMAIL_USER=<set this here if needed>"
#- "EMAIL_PASSWORD=<set this here if needed>"
#- "EMAIL_USE_SSL=<set this here if needed>"
#- "EMAIL_USE_TLS=<set this here if needed>"
#- "DEBUG=1"
restart: unless-stopped
command: /usr/local/bin/celery -A layerindex.tasks worker --loglevel=info --workdir=/opt/layerindex
#layerscertbot:
# image: certbot/certbot
# volumes:
# - ./docker/certs:/opt/cert
# - certbotwww:/var/www/certbot:z
# entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'"
volumes:
layersmeta:
layersstatic:
logvolume:
certbotwww: