Files
container/oneuptime/docker-compose-master.yml
T

63 lines
2.3 KiB
YAML

services:
# 1. OneUptime Frontend & API Gateway (Zentraler Einstiegspunkt)
oneuptime:
image: oneuptime/oneuptime:${ONEUPTIME_VERSION:-latest}
container_name: oneuptime-master
restart: ${RESTART_POLICY:-always}
ports:
- "${HOST_PORT_HTTP:-8080}:80"
- "${HOST_PORT_HTTPS:-4433}:443"
environment:
- CONTAINER_NAME=oneuptime
- PORT=${INTERNAL_PORT:-80}
- ENCRYPTION_SECRET=${ENCRYPTION_SECRET:-ein_sehr_sicheres_zufaelliges_passwort_123!}
- APP_NAME=${APP_NAME:-OneUptime}
- TZ=${TIMEZONE:-Europe/Berlin}
- DATABASE_HOST=oneuptime-postgres
- REDIS_HOST=oneuptime-redis
- CLICKHOUSE_HOST=oneuptime-clickhouse
volumes:
- ${ONEUPTIME_DATA_DIR:-/opt/docker/oneuptime/app}:/usr/src/app/data
depends_on:
- oneuptime-postgres
- oneuptime-redis
- oneuptime-clickhouse
# 2. PostgreSQL: Primäre relationale Datenbank für Konfigurationen und Benutzerdaten
oneuptime-postgres:
image: postgres:${POSTGRES_VERSION:-15-alpine}
container_name: oneuptime-postgres
restart: ${RESTART_POLICY:-always}
environment:
- POSTGRES_USER=${POSTGRES_USER:-oneuptime}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-postgres_secure_pass_99!}
- POSTGRES_DB=${POSTGRES_DB:-oneuptimedb}
- TZ=${TIMEZONE:-Europe/Berlin}
volumes:
- ${POSTGRES_DATA_DIR:-/opt/docker/oneuptime/postgres}:/var/lib/postgresql/data
# 3. Redis: In-Memory-Datenbank für Caching, Echtzeit-Events und Job-Queues
oneuptime-redis:
image: redis:${REDIS_VERSION:-7-alpine}
container_name: oneuptime-redis
restart: ${RESTART_POLICY:-always}
command: redis-server --appendonly yes
environment:
- TZ=${TIMEZONE:-Europe/Berlin}
volumes:
- ${REDIS_DATA_DIR:-/opt/docker/oneuptime/redis}:/data
# 4. ClickHouse: Spaltenorientierte Datenbank für massenhafte Log-Daten und Metriken
oneuptime-clickhouse:
image: clickhouse/clickhouse-server:${CLICKHOUSE_VERSION:-latest}
container_name: oneuptime-clickhouse
restart: ${RESTART_POLICY:-always}
environment:
- TZ=${TIMEZONE:-Europe/Berlin}
ulimits:
nofile:
soft: 262144
hard: 262144
volumes:
- ${CLICKHOUSE_DATA_DIR:-/opt/docker/oneuptime/clickhouse}:/var/lib/clickhouse