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

122 lines
3.4 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
networks:
- default
- npm-nw
pretix:
image: pretix/standalone:stable
restart: unless-stopped
depends_on:
db:
condition: service_healthy
redis:
condition: service_started
mailpit:
condition: service_started
networks:
- default
- npm-nw
environment:
PRETIX_PRETIX_INSTANCE_NAME: "pretix Testinstanz"
PRETIX_PRETIX_URL: "https://pretix.test.hobbyhimmel.de"
PRETIX_PRETIX_TRUST_X_FORWARDED_FOR: "on"
PRETIX_PRETIX_TRUST_X_FORWARDED_PROTO: "on"
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: "https://pretix.test.hobbyhimmel.de"
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:
networks:
default:
npm-nw:
external: true