# 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=2 pretix-task-queue: <<: *pretix-base command: - taskworker - --concurrency - 2 environment: - AUTOMIGRATE=skip # migration is run by the web worker # Pretalx pretalx: <<: *service-defaults image: harbor.aalen.space/sfz.aalen/infra/images/pretalx-ctbk:1741346032 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: "2" 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