events/docker-compose.yml

107 lines
2.4 KiB
YAML

# useful variables
x-pretix-port: &pretix-port 8080
x-pretalx-port: &pretalx-port 8081
# defaults for web port configs
x-web: &web
target: 80
app_protocol: http
# defaults for all services
x-service-defaults: &service-defaults
restart: always
x-pretix: &pretix-base
<<: *service-defaults
image: harbor.aalen.space/sfz.aalen/infra/images/pretix-ctbk:1743074527
depends_on: [memcached, valkey]
volumes:
- ./pretix.cfg:/etc/pretix/pretix.cfg
- /var/run/postgresql:/run/postgresql
- /run/valkey:/run/valkey
- /run/memcached:/run/memcached
- /var/lib/pretix:/data
env_file: ".env-pretix"
### Containers
services:
# Pretix
pretix-web:
<<: *pretix-base
ports:
- name: web-v6
<<: *web
published: *pretix-port
host_ip: "[::]"
- name: web-v4
<<: *web
published: *pretix-port
host_ip: "0.0.0.0"
command:
- web
environment:
- NUM_WORKERS=1
pretix-task-queue:
<<: *pretix-base
command:
- taskworker
- --concurrency
- 1
environment:
- AUTOMIGRATE=skip # migration is run by the web worker
# Pretalx
pretalx:
<<: *service-defaults
image: git.ctbk.de/infra/pretalx-ctbk:2025.2.3
depends_on: [valkey]
restart: always
ports:
- name: web-v6
<<: *web
published: *pretalx-port
host_ip: "[::]"
- name: web-v4
<<: *web
published: *pretalx-port
host_ip: "0.0.0.0"
volumes:
- ./pretalx.cfg:/etc/pretalx/pretalx.cfg:ro
- /var/run/postgresql:/run/postgresql
- /run/valkey:/run/valkey
- /var/lib/pretalx:/data
environment:
TZ: Europe/Berlin
# testing for limited memory
GUNICORN_WORKERS: "1"
NUM_WORKERS: "1"
# more testing
command:
- webworker
env_file: ".env-pretalx"
# Cache databases
memcached:
<<: *service-defaults
image: docker.io/memcached:alpine
command:
- --threads=4
- --conn-limit=100
- --memory-limit=16
# - --conn-limit=1024
# - --memory-limit=64
# - --threads=4
- -s /run/memcached/memcached.sock
volumes:
- /run/memcached:/run/memcached
valkey:
<<: *service-defaults
image: ghcr.io/valkey-io/valkey:alpine
command:
- /etc/valkey.conf
volumes:
- ./valkey.conf:/etc/valkey.conf
- /run/valkey:/run/valkey