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
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:
|