pretix-test-docker-compose/docker-compose.yml

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: