version: '3.8' services: postgres: image: postgres:16-alpine container_name: vixtix-db restart: unless-stopped environment: POSTGRES_USER: vixtix POSTGRES_PASSWORD: vixtix_secret POSTGRES_DB: vixtix ports: - "5433:5432" volumes: - vixtix-data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U vixtix"] interval: 5s timeout: 5s retries: 5 vixtix: image: vixtix:latest container_name: vixtix restart: unless-stopped depends_on: postgres: condition: service_healthy ports: - "3000:3000" environment: DATABASE_URL: postgresql://vixtix:vixtix_secret@postgres:5432/vixtix DB_HOST: postgres DB_PORT: 5432 vixtix-cron: image: vixtix:latest container_name: vixtix-cron restart: unless-stopped depends_on: postgres: condition: service_healthy environment: DATABASE_URL: postgresql://vixtix:vixtix_secret@postgres:5432/vixtix MATTERMOST_WEBHOOK_URL: ${MATTERMOST_WEBHOOK_URL} entrypoint: ["sh", "-c"] command: - | while true; do npx tsx /app/scripts/send-reminders.ts sleep 60 done volumes: vixtix-data: