- aether-medical: Stationen/Belegung, Intensivstation, Blutbank, Fuhrpark, Nachrichten/Aushänge, Berichte und Textbausteine (server + NUI) - aether-admin: vollständiges Server-Admin-Panel als echtes FiveM-Resource, an aether-core gekoppelt (Rechte über aether_users.admin_group), mit WebRTC-Live-Kameras (Bildschirmfreigabe) und separatem Media-Server (SFU) - Prototypen admin/ vervollständigt - SQL-Schema aether_admin.sql - Docker-Compose mit MariaDB und idempotenter Auto-Migration (schema_migrations) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
69 lines
2.0 KiB
YAML
69 lines
2.0 KiB
YAML
# =====================================================================
|
|
# Aether Framework — Datenbank + Auto-Migration
|
|
#
|
|
# Startet eine MariaDB und spielt beim Hochfahren alle Schemas ein.
|
|
# Bereits angewendete Migrationen werden über `schema_migrations`
|
|
# erkannt und übersprungen — mehrfaches `up` ist gefahrlos.
|
|
#
|
|
# cp .env.example .env # Zugangsdaten anpassen
|
|
# docker compose up -d # DB starten + migrieren
|
|
# docker compose logs -f migrate # Migration mitlesen
|
|
#
|
|
# Adminer (Web-Oberfläche für die DB) optional dazu:
|
|
# docker compose --profile tools up -d
|
|
# =====================================================================
|
|
|
|
services:
|
|
db:
|
|
image: mariadb:11
|
|
container_name: aether-db
|
|
restart: unless-stopped
|
|
environment:
|
|
MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD:-aether_root}
|
|
MARIADB_DATABASE: ${DB_NAME:-aether}
|
|
MARIADB_USER: ${DB_USER:-aether}
|
|
MARIADB_PASSWORD: ${DB_PASSWORD:-aether}
|
|
ports:
|
|
- "${DB_PORT:-3306}:3306"
|
|
volumes:
|
|
- db_data:/var/lib/mysql
|
|
healthcheck:
|
|
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 30
|
|
|
|
# Läuft einmal pro `up`, wartet auf die DB und spielt die Migrationen ein.
|
|
migrate:
|
|
image: mariadb:11
|
|
container_name: aether-migrate
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
environment:
|
|
DB_HOST: db
|
|
DB_NAME: ${DB_NAME:-aether}
|
|
DB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD:-aether_root}
|
|
volumes:
|
|
- ./sql:/sql:ro
|
|
- ./docker/migrate.sh:/migrate.sh:ro
|
|
entrypoint: ["sh", "/migrate.sh"]
|
|
restart: "no"
|
|
|
|
# Optional: schlanke Web-Oberfläche auf http://localhost:8080
|
|
adminer:
|
|
image: adminer:4
|
|
container_name: aether-adminer
|
|
restart: unless-stopped
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
ports:
|
|
- "${ADMINER_PORT:-8080}:8080"
|
|
environment:
|
|
ADMINER_DEFAULT_SERVER: db
|
|
profiles: ["tools"]
|
|
|
|
volumes:
|
|
db_data:
|