113 lines
3.2 KiB
YAML
113 lines
3.2 KiB
YAML
services:
|
|
db:
|
|
image: postgres:16-alpine
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_DB: pretix
|
|
POSTGRES_USER: pretix
|
|
POSTGRES_PASSWORD: ${PRETIX_DB_PASSWORD:-pretix_test_password}
|
|
volumes:
|
|
- postgres-data:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U pretix -d pretix"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 10
|
|
|
|
redis:
|
|
image: redis:7-alpine
|
|
restart: unless-stopped
|
|
command: redis-server --save 60 1 --loglevel warning
|
|
volumes:
|
|
- redis-data:/data
|
|
|
|
mailpit:
|
|
image: axllent/mailpit:latest
|
|
restart: unless-stopped
|
|
ports:
|
|
- "127.0.0.1:8025:8025"
|
|
|
|
pretix:
|
|
image: pretix/standalone:stable
|
|
restart: unless-stopped
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_started
|
|
mailpit:
|
|
condition: service_started
|
|
ports:
|
|
- "127.0.0.1:8345:80"
|
|
environment:
|
|
PRETIX_PRETIX_INSTANCE_NAME: "pretix Testinstanz"
|
|
PRETIX_PRETIX_URL: "http://localhost:8345"
|
|
PRETIX_PRETIX_CURRENCY: "EUR"
|
|
PRETIX_PRETIX_DATADIR: "/data"
|
|
PRETIX_LOCALE_DEFAULT: "de"
|
|
PRETIX_LOCALE_TIMEZONE: "Europe/Berlin"
|
|
PRETIX_DATABASE_BACKEND: "postgresql"
|
|
PRETIX_DATABASE_NAME: "pretix"
|
|
PRETIX_DATABASE_USER: "pretix"
|
|
PRETIX_DATABASE_PASSWORD: "${PRETIX_DB_PASSWORD:-pretix_test_password}"
|
|
PRETIX_DATABASE_HOST: "db"
|
|
PRETIX_DATABASE_PORT: "5432"
|
|
PRETIX_MAIL_FROM: "pretix-test@localhost"
|
|
PRETIX_MAIL_HOST: "mailpit"
|
|
PRETIX_MAIL_PORT: "1025"
|
|
PRETIX_MAIL_TLS: "off"
|
|
PRETIX_MAIL_SSL: "off"
|
|
PRETIX_REDIS_LOCATION: "redis://redis:6379/0"
|
|
PRETIX_REDIS_SESSIONS: "true"
|
|
PRETIX_CELERY_BACKEND: "redis://redis:6379/1"
|
|
PRETIX_CELERY_BROKER: "redis://redis:6379/2"
|
|
volumes:
|
|
- pretix-data:/data
|
|
command: all
|
|
|
|
pretix-cron:
|
|
image: pretix/standalone:stable
|
|
restart: unless-stopped
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_started
|
|
mailpit:
|
|
condition: service_started
|
|
pretix:
|
|
condition: service_started
|
|
environment:
|
|
PRETIX_PRETIX_INSTANCE_NAME: "pretix Testinstanz"
|
|
PRETIX_PRETIX_URL: "http://localhost:8345"
|
|
PRETIX_PRETIX_CURRENCY: "EUR"
|
|
PRETIX_PRETIX_DATADIR: "/data"
|
|
PRETIX_LOCALE_DEFAULT: "de"
|
|
PRETIX_LOCALE_TIMEZONE: "Europe/Berlin"
|
|
PRETIX_DATABASE_BACKEND: "postgresql"
|
|
PRETIX_DATABASE_NAME: "pretix"
|
|
PRETIX_DATABASE_USER: "pretix"
|
|
PRETIX_DATABASE_PASSWORD: "${PRETIX_DB_PASSWORD:-pretix_test_password}"
|
|
PRETIX_DATABASE_HOST: "db"
|
|
PRETIX_DATABASE_PORT: "5432"
|
|
PRETIX_MAIL_FROM: "pretix-test@localhost"
|
|
PRETIX_MAIL_HOST: "mailpit"
|
|
PRETIX_MAIL_PORT: "1025"
|
|
PRETIX_MAIL_TLS: "off"
|
|
PRETIX_MAIL_SSL: "off"
|
|
PRETIX_REDIS_LOCATION: "redis://redis:6379/0"
|
|
PRETIX_REDIS_SESSIONS: "true"
|
|
PRETIX_CELERY_BACKEND: "redis://redis:6379/1"
|
|
PRETIX_CELERY_BROKER: "redis://redis:6379/2"
|
|
volumes:
|
|
- pretix-data:/data
|
|
entrypoint:
|
|
- /bin/sh
|
|
- -c
|
|
command:
|
|
- 'while true; do pretix cron; sleep 300; done'
|
|
|
|
volumes:
|
|
postgres-data:
|
|
redis-data:
|
|
pretix-data: |