* chore: disable beat container for dev * chore: use init option with celery container * chore: create cancel_stale_submissions task via migration * chore: revert accidental change included in last commit * chore: terminate celery docker-init.sh on failed command
104 lines
3.1 KiB
YAML
104 lines
3.1 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
app:
|
|
build:
|
|
context: .
|
|
dockerfile: docker/app.Dockerfile
|
|
|
|
init: true
|
|
|
|
# Overrides default command so things don't shut down after the process ends.
|
|
command: sleep infinity
|
|
|
|
# Runs app on the same network as the database container, allows "forwardPorts" in devcontainer.json function.
|
|
# network_mode: service:db
|
|
|
|
depends_on:
|
|
- db
|
|
- mq
|
|
|
|
ipc: host
|
|
|
|
# environment:
|
|
# USER: django
|
|
# UID: 1001
|
|
# GID: 1001
|
|
# DATADIR: data
|
|
# DJANGO_SETTINGS_MODULE: settings_sqlitetest
|
|
|
|
# Uncomment the next line to use a non-root user for all processes.
|
|
# user: dev
|
|
|
|
# Use "forwardPorts" in **devcontainer.json** to forward an app port locally.
|
|
# (Adding the "ports" property to this file will not forward from a Codespace.)
|
|
|
|
db:
|
|
image: ghcr.io/ietf-tools/datatracker-db:latest
|
|
# build:
|
|
# context: ..
|
|
# dockerfile: docker/db.Dockerfile
|
|
restart: unless-stopped
|
|
volumes:
|
|
- mariadb-data:/var/lib/mysql
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: RkTkDPFnKpko
|
|
MYSQL_DATABASE: ietf_utf8
|
|
MYSQL_USER: django
|
|
MYSQL_PASSWORD: RkTkDPFnKpko
|
|
command:
|
|
- '--character-set-server=utf8'
|
|
- '--collation-server=utf8_unicode_ci'
|
|
- '--innodb-buffer-pool-size=1G'
|
|
- '--innodb-log-buffer-size=128M'
|
|
- '--innodb-log-file-size=256M'
|
|
- '--innodb-write-io-threads=8'
|
|
- '--innodb-flush-log-at-trx-commit=0'
|
|
- '--performance-schema=1'
|
|
|
|
# Add "forwardPorts": ["5432"] to **devcontainer.json** to forward PostgreSQL locally.
|
|
# (Adding the "ports" property to this file will not forward from a Codespace.)
|
|
|
|
mq:
|
|
image: rabbitmq:3-alpine
|
|
restart: unless-stopped
|
|
|
|
celery:
|
|
image: ghcr.io/ietf-tools/datatracker-celery:latest
|
|
init: true
|
|
environment:
|
|
CELERY_APP: ietf
|
|
CELERY_ROLE: worker
|
|
UPDATE_REQUIREMENTS_FROM: requirements.txt
|
|
command:
|
|
- '--loglevel=INFO'
|
|
depends_on:
|
|
- db
|
|
restart: unless-stopped
|
|
stop_grace_period: 1m
|
|
volumes:
|
|
- .:/workspace
|
|
- app-assets:/assets
|
|
|
|
# Celery Beat is a periodic task runner. It is not normally needed for development,
|
|
# but can be enabled by uncommenting the following.
|
|
#
|
|
# beat:
|
|
# image: ghcr.io/ietf-tools/datatracker-celery:latest
|
|
# environment:
|
|
# CELERY_APP: ietf
|
|
# CELERY_ROLE: beat
|
|
# UPDATE_REQUIREMENTS_FROM: requirements.txt
|
|
# command:
|
|
# - '--loglevel=INFO'
|
|
# depends_on:
|
|
# - db
|
|
# restart: unless-stopped
|
|
# stop_grace_period: 1m
|
|
# volumes:
|
|
# - .:/workspace
|
|
|
|
volumes:
|
|
mariadb-data:
|
|
app-assets:
|