Files
ticket/docker-compose.yml
2026-07-16 12:27:06 +02:00

87 lines
2.7 KiB
YAML

services:
postgres:
image: postgres:17
container_name: ticket-postgres
restart: unless-stopped
environment:
POSTGRES_DB: ticket
POSTGRES_USER: postgres
POSTGRES_PASSWORD: "${POSTGRES_PASSWORD:-localpassword}"
ports:
- "127.0.0.1:5444:5432"
volumes:
- ticket_postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres -d ticket"]
interval: 5s
timeout: 5s
retries: 10
start_period: 10s
bot:
build: .
image: ticket-bot:production
container_name: ticket-bot
restart: unless-stopped
network_mode: host
depends_on:
postgres:
condition: service_healthy
environment:
TZ: Europe/Rome
PYTHONUNBUFFERED: "1"
TICKET_PG_HOST: "127.0.0.1"
TICKET_PG_PORT: "5444"
TICKET_PG_DATABASE: "ticket"
TICKET_PG_USER: "postgres"
TICKET_PG_PASSWORD: "${TICKET_PG_PASSWORD:-localpassword}"
TICKET_MYSQL_HOST: "${TICKET_MYSQL_HOST:-127.0.0.1}"
TICKET_MYSQL_PORT: "${TICKET_MYSQL_PORT:-3307}"
TICKET_MYSQL_DATABASE: "${TICKET_MYSQL_DATABASE:-smits}"
TICKET_MYSQL_USER: "${TICKET_MYSQL_USER:-reader}"
TICKET_MYSQL_PASSWORD: "${TICKET_MYSQL_PASSWORD:-localpassword}"
TICKET_MYSQL_CHARSET: "${TICKET_MYSQL_CHARSET:-utf8}"
TICKET_TELEGRAM_TOKEN: "${TICKET_TELEGRAM_TOKEN:-}"
TICKET_ADMIN_ID: "${TICKET_ADMIN_ID:-145645559}"
TICKET_ENABLE_NOTIFICATIONS: "${TICKET_ENABLE_NOTIFICATIONS:-true}"
web:
build:
context: .
dockerfile: web/Dockerfile
image: ticket-web:production
container_name: ticket-web
restart: unless-stopped
network_mode: host
depends_on:
postgres:
condition: service_healthy
environment:
TZ: Europe/Rome
PYTHONUNBUFFERED: "1"
TICKET_PG_HOST: "127.0.0.1"
TICKET_PG_PORT: "5444"
TICKET_PG_DATABASE: "ticket"
TICKET_PG_USER: "postgres"
TICKET_PG_PASSWORD: "${TICKET_PG_PASSWORD:-localpassword}"
TICKET_MYSQL_HOST: "${TICKET_MYSQL_HOST:-127.0.0.1}"
TICKET_MYSQL_PORT: "${TICKET_MYSQL_PORT:-3307}"
TICKET_MYSQL_DATABASE: "${TICKET_MYSQL_DATABASE:-smits}"
TICKET_MYSQL_USER: "${TICKET_MYSQL_USER:-reader}"
TICKET_MYSQL_PASSWORD: "${TICKET_MYSQL_PASSWORD:-localpassword}"
TICKET_MYSQL_CHARSET: "${TICKET_MYSQL_CHARSET:-utf8}"
TICKET_WEB_ADMIN_USERNAME: "${TICKET_WEB_ADMIN_USERNAME:-admin}"
TICKET_WEB_ADMIN_PASSWORD: "${TICKET_WEB_ADMIN_PASSWORD:-change-me-now}"
TICKET_WEB_COOKIE_SECURE: "${TICKET_WEB_COOKIE_SECURE:-false}"
TICKET_WEB_SESSION_DAYS: "${TICKET_WEB_SESSION_DAYS:-7}"
TICKET_WEB_STATIC_DIR: "/app/web/static"
volumes:
ticket_postgres_data: