Installation
DATAZONE Control wird als Docker-Compose-Stack bereitgestellt. Die Installation umfasst Backend, Frontend, Datenbank und Reverse-Proxy.
Voraussetzungen
- Linux-Server mit Docker und Docker Compose
- Mindestens 2 GB RAM und 10 GB Speicherplatz
- Netzwerkzugriff auf die zu verwaltenden Hosts (Port 443 ausgehend fuer Agents)
Installation mit Docker Compose
1. Repository klonen
git clone https://gitlab.datazone.de/kidev/datazone-control.git
cd datazone-control2. Umgebungsvariablen konfigurieren
Erstellen Sie eine .env-Datei im Projektverzeichnis:
# Datenbank
POSTGRES_PASSWORD=IhrSicheresPasswort
DATABASE_URL=postgresql://datazone:IhrSicheresPasswort@db:5432/datazone_control
# Backend
SECRET_KEY=IhrGeheimerSchluessel
CORS_ORIGINS=https://control.ihredomain.de
# Optional: E-Mail fuer Reports
SMTP_HOST=smtp.ihredomain.de
SMTP_PORT=587
SMTP_USER=reports@ihredomain.de
SMTP_PASSWORD=SmtpPasswort3. Stack starten
docker compose up -d --buildDies startet folgende Container:
| Container | Dienst | Port |
|---|---|---|
datazone-db | PostgreSQL-Datenbank | 5432 (intern) |
datazone-redis | Redis Message Queue | 6379 (intern) |
datazone-backend | Flask API + SocketIO | 5001 (intern) |
datazone-frontend | React (Nginx) | 80 (intern) |
datazone-nginx | Reverse Proxy | 8080 |
4. Erreichbarkeit pruefen
Oeffnen Sie https://control.ihredomain.de im Browser. Sie sollten den Login-Bildschirm sehen.
Reverse Proxy (Optional)
Fuer Produktivumgebungen empfehlen wir einen vorgelagerten Reverse Proxy mit SSL:
Nginx-Beispiel
server {
listen 443 ssl;
server_name control.ihredomain.de;
ssl_certificate /etc/letsencrypt/live/control.ihredomain.de/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/control.ihredomain.de/privkey.pem;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}Wichtig
WebSocket-Support (Upgrade und Connection-Header) muss aktiviert sein, da DATAZONE Control WebSockets fuer Echtzeit-Updates, Remote Shell und Tunnel verwendet.
Tunnel-Ports
Fuer die Tunnel-Funktionalitaet muessen die Ports 20000-25000 auf dem Backend-Server erreichbar sein. Diese werden dynamisch fuer SSH-, RDP- und HTTP-Tunnel verwendet.
# Firewall-Regel (ufw)
ufw allow 20000:25000/tcpUpdate
cd /pfad/zu/datazone-control
git pull
docker compose up -d --buildDie Datenbank-Migrationen werden automatisch beim Start des Backends ausgefuehrt.
Naechste Schritte
Nach der Installation fahren Sie mit dem Ersten Login fort.