You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

58 lines
2.0 KiB

version: "2.4"
services:
db:
image: postgres:17
restart: unless-stopped
environment:
POSTGRES_DB: praktikum
POSTGRES_USER: praktikum
POSTGRES_PASSWORD: ${DATABASE_PASSWORD:-password}
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U praktikum -d praktikum"]
interval: 10s
timeout: 5s
retries: 10
redis:
image: redis:7-alpine
restart: unless-stopped
volumes:
- redis:/data
api:
build: .
restart: unless-stopped
depends_on:
db: { condition: service_healthy }
environment:
DATABASE_URL: postgres://praktikum:${DATABASE_PASSWORD:-password}@db:5432/praktikum
REDIS_URL: redis://redis:6379/0
RAILS_ENV: production
SECRET_KEY_BASE: ${SECRET_KEY_BASE:?SECRET_KEY_BASE fehlt. Bitte zuerst setup-env.ps1 ausfuehren oder eine .env anlegen.}
FRONTEND_ORIGINS: ${FRONTEND_ORIGINS:-http://localhost:13131}
FRONTEND_URL: ${FRONTEND_URL:-http://localhost:13131}
APP_HOST: ${APP_HOST:-localhost:13131}
APP_PROTOCOL: ${APP_PROTOCOL:-http}
ADMIN_EMAIL: ${ADMIN_EMAIL:-christoph@marzell.net}
MAILER_FROM: ${MAILER_FROM:-praktikum@marzell.net}
SMTP_ENABLED: ${SMTP_ENABLED:-true}
SMTP_ADDRESS: ${SMTP_ADDRESS:-smtp.ionos.de}
SMTP_PORT: ${SMTP_PORT:-587}
SMTP_USERNAME: ${SMTP_USERNAME:-}
SMTP_PASSWORD: ${SMTP_PASSWORD:-}
SMTP_DOMAIN: ${SMTP_DOMAIN:-marzell.net}
SMTP_AUTHENTICATION: ${SMTP_AUTHENTICATION:-plain}
SMTP_STARTTLS: ${SMTP_STARTTLS:-true}
BACKUP_NOTIFY_EMAIL: ${BACKUP_NOTIFY_EMAIL:-christoph@marzell.net}
TRAINING_WATCH_NOTIFY_EMAIL: ${TRAINING_WATCH_NOTIFY_EMAIL:-christoph@marzell.net}
PGHERO_USERNAME: ${PGHERO_USERNAME:-admin}
PGHERO_PASSWORD: ${PGHERO_PASSWORD:-}
ports: ["${API_PORT:-13000}:3000"]
frontend:
build: ./frontend
restart: unless-stopped
depends_on: [api]
ports: ["${FRONTEND_PORT:-13131}:80"]
volumes:
pgdata:
redis: