mirror of
https://github.com/MrUnknownDE/utools.git
synced 2026-04-06 00:32:04 +02:00
51 lines
2.3 KiB
YAML
51 lines
2.3 KiB
YAML
services:
|
|
# Backend Service (Node.js App)
|
|
backend:
|
|
build:
|
|
context: ./backend # Pfad zum Verzeichnis mit dem Backend-Dockerfile
|
|
args:
|
|
# Übergibt den Git Commit Hash als Build-Argument.
|
|
# Erwartet, dass GIT_COMMIT_SHA in der Shell-Umgebung gesetzt ist (z.B. export GIT_COMMIT_SHA=$(git rev-parse --short HEAD))
|
|
- GIT_COMMIT_SHA=${GIT_COMMIT_SHA:-unknown}
|
|
# Übergibt den Sentry DSN als Build-Argument (optional, falls im Code benötigt)
|
|
- SENTRY_DSN="https://7ea70caba68f548fb96482a573006a7b@o447623.ingest.us.sentry.io/4509062020333568"
|
|
container_name: utools_backend # Eindeutiger Name für den Container
|
|
restart: unless-stopped
|
|
environment:
|
|
# Setze Umgebungsvariablen für das Backend
|
|
NODE_ENV: production # Wichtig für Performance und Logging
|
|
PORT: 3000 # Port innerhalb des Containers
|
|
LOG_LEVEL: info # Oder 'warn' für weniger Logs in Produktion
|
|
PING_COUNT: 4
|
|
# Die DB-Pfade werden aus dem Backend-Dockerfile ENV genommen,
|
|
# könnten hier aber überschrieben werden, falls nötig.
|
|
# GEOIP_CITY_DB: ./data/GeoLite2-City.mmdb
|
|
# GEOIP_ASN_DB: ./data/GeoLite2-ASN.mmdb
|
|
# Sentry DSN aus der Umgebung/ .env Datei übernehmen
|
|
SENTRY_DSN: "https://7ea70caba68f548fb96482a573006a7b@o447623.ingest.us.sentry.io/4509062020333568" # Wichtig für die Laufzeit
|
|
dns:
|
|
- 1.1.1.1 # Cloudflare DNS
|
|
- 1.0.0.1 # Cloudflare DNS
|
|
- 8.8.8.8 # Google DNS
|
|
- 8.8.4.4 # Google DNS
|
|
networks:
|
|
- utools_network # Verbinde mit unserem benutzerdefinierten Netzwerk
|
|
|
|
# Frontend Service (Nginx)
|
|
frontend:
|
|
build: ./frontend # Pfad zum Verzeichnis mit dem Frontend-Dockerfile
|
|
container_name: utools_frontend
|
|
restart: unless-stopped
|
|
ports:
|
|
# Mappe Port 8080 vom Host auf Port 80 im Container (wo Nginx lauscht)
|
|
# Zugriff von außen (Browser) erfolgt über localhost:8080
|
|
- "8080:80"
|
|
depends_on:
|
|
- backend # Stellt sicher, dass Backend gestartet wird (aber nicht unbedingt bereit ist)
|
|
networks:
|
|
- utools_network # Verbinde mit unserem benutzerdefinierten Netzwerk
|
|
|
|
# Definiere ein benutzerdefiniertes Netzwerk (gute Praxis)
|
|
networks:
|
|
utools_network:
|
|
driver: bridge # Standard-Netzwerktreiber |