aurweb/docker-compose.aur-dev.yml
Levente Polyak 8dcf0b2d97
fix(docker): fix compose race conditions on mariadb_init
We want the dependent services to wait until the initialization service
of mariadb finishes, but also properly accept if it already exited
before a leaf service gets picked up and put into created state. By
using the service_completed_successfully signal, we can ensure precisely
this, without being racy and leading to none booted services.

While at it, remove the compose version identifiers as docker-compose
deprecated them and always warned about when running docker-compose.
2024-08-19 15:26:21 +02:00

67 lines
1.4 KiB
YAML

---
services:
ca:
volumes:
- data:/data
- step:/root/.step
redis:
restart: always
mariadb:
restart: always
git:
restart: always
environment:
- AUR_CONFIG=/aurweb/conf/config
# SSH_CMDLINE should be updated to production's ssh cmdline.
- SSH_CMDLINE=${SSH_CMDLINE:-ssh ssh://aur@localhost:2222}
volumes:
- ${GIT_DATA_DIR}:/aurweb/aur.git
- data:/aurweb/data
smartgit:
restart: always
volumes:
- ${GIT_DATA_DIR}:/aurweb/aur.git
- data:/data
- smartgit_run:/var/run/smartgit
cgit-fastapi:
restart: always
volumes:
- ${GIT_DATA_DIR}:/aurweb/aur.git
cron:
volumes:
# Exclude ./aurweb:/aurweb in production.
- mariadb_run:/var/run/mysqld
- archives:/var/lib/aurweb/archives
fastapi:
restart: always
environment:
- COMMIT_HASH=$COMMIT_HASH
- FASTAPI_BACKEND="gunicorn"
- FASTAPI_WORKERS=${FASTAPI_WORKERS}
- AURWEB_FASTAPI_PREFIX=${AURWEB_FASTAPI_PREFIX}
- AURWEB_SSHD_PREFIX=${AURWEB_SSHD_PREFIX}
- PROMETHEUS_MULTIPROC_DIR=/tmp_prometheus
volumes:
- data:/data
nginx:
restart: always
volumes:
- data:/data
- archives:/var/lib/aurweb/archives
- smartgit_run:/var/run/smartgit
volumes:
mariadb_run: {} # Share /var/run/mysqld
mariadb_data: {} # Share /var/lib/mysql
git_data: {} # Share aurweb/aur.git
smartgit_run: {}
data: {}
logs: {}