datatracker/docker-compose.yml
Robert Sparks 27fccc6ba0
feat: move to postgresql (#4744)
* feat: move to postgresql

* fix: repair fractional replace statement

* fix: use pathlib to manipulate settings_local

Co-authored-by: Jennifer Richards <jennifer@painless-security.com>

* fix: do two string replacements, not one followed by another that throws away the first.

Co-authored-by: Jennifer Richards <jennifer@painless-security.com>

* fix: use pathlib again to manipulate settings_local

Co-authored-by: Jennifer Richards <jennifer@painless-security.com>

* fix: properly use assert (1/2)

Co-authored-by: Jennifer Richards <jennifer@painless-security.com>

* fix: properly use assert (2/2)

Co-authored-by: Jennifer Richards <jennifer@painless-security.com>

Co-authored-by: Jennifer Richards <jennifer@painless-security.com>
2022-11-11 11:01:01 +00:00

117 lines
3.4 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:
DISPLAY: host.docker.internal:0
# 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'
pgdb:
build:
context: .
dockerfile: docker/pgdb.Dockerfile
restart: unless-stopped
environment:
POSTGRES_PASSWORD: hk2j22sfiv
volumes:
- postgresdb-data:/var/lib/postgresql/data
# 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
# init: true
# 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:
postgresdb-data:
mariadb-data:
app-assets: