Englisch|Vereinfachtes Chinesisch|Traditionelles Chinesisch|Spanisch|Französisch|Deutsch|japanisch|Portugiesisch|Russisch|Koreanisch|Arabisch|Hindi
Docker Dashboard with real-time monitoring (Dark Theme)
Real-time resource monitoring and container status (Light Theme)
- JWT-Authentifizierung mit 24-Stunden-Ablauf
- Role-Based Access Control (Super Admin / Admin / Manager / User / ReadOnly)
- Passwortverschlüsselung (SHA-256)
- Ratenbegrenzung und Sicherheitsheader
- Vollständige Audit-Protokollierung
- OAuth 2.0-Unterstützung (Google, GitHub)
- MySQL 8.0+ (Standard)
- PostgreSQL 15+
- MongoDB 5.0+
- Automatische Schemamigration
- Verbindungspooling
- Container: Starten, stoppen, neu starten, entfernen, erstellen, prüfen
- Bilder: Register abrufen, entfernen, prüfen, durchsuchen
- Netzwerke: Container erstellen, entfernen, verbinden/trennen
- Bände: Erstellen, entfernen, prüfen, beschneiden
- Terminal: Echtzeit-Shell-Zugriff mit xterm.js
- Protokolle: Echtzeit-Streaming von Containerprotokollen
- Statistiken: Live-Überwachung der Ressourcennutzung (CPU, Speicher, Netzwerk, E/A)
- Verwalten Sie mehrere Docker-Hosts
- Lokale und Remote-Docker-Daemons
- SSH- und TCP-Verbindungen
- Schneller Hostwechsel
- Dunkel/Hell-Thema
- Responsives Design
- Mehrsprachige Unterstützung (10+ Sprachen)
- Tastaturkürzel
- Echtzeit-Updates
Der schnellste Weg, SteerDock zum Laufen zu bringen:
# 1. Generate secure passwords and configuration
./generate-passwords.sh # Linux/macOS
# or
.\generate-passwords.ps1 # Windows
# 2. Start all services with Docker Compose
docker compose up -d
# 3. Wait for services to start (about 30 seconds)
docker compose logs -f steerdock
# 4. Access SteerDock
# Open: http://localhost:5151Standard-Login:
- Benutzername:
superadmin - Passwort:
superadmin123
# Linux/macOS
./start-dev.sh
# Windows
.\start-dev.ps1Zugang:
- Frontend: http://localhost:5151 (mit Hot-Reload)
- Backend: http://localhost:8383
# Linux/macOS
./start-prod.sh
# Windows
.\start-prod.ps1Zugang:
- Frontend: http://localhost:5151 (vom Backend bereitgestellt)
- Backend-API: http://localhost:8383/api/v1
# Windows only
.\win-desktop.ps1Dadurch wird eine eigenständige Desktop-Anwendung erstellt mit:
- Backend-Dienst läuft im Hintergrund
- Desktop-GUI-Anwendung (SteerDock-frontend.exe)
- Zugriff: Desktop-Anwendungsfenster
# 1. Generate configuration and passwords
./generate-passwords.sh # Linux/macOS
# or
.\generate-passwords.ps1 # Windows
# 2. Start all services (MySQL + Redis + SteerDock)
docker compose up -d
# 3. Check service status
docker compose ps
# 4. View logs
docker compose logs -f steerdock
# 5. Access application
# Frontend: http://localhost:5151 (served by backend)
# Backend API: http://localhost:8383/api/v1Inklusivleistungen:
- MySQL-Datenbank (Port 3306)
- Redis-Cache (Port 6379)
- SteerDock-Anwendung (Port 8383)
**Wichtig:**Immer verwendendocker compose up -dum alle Dienste gemeinsam zu starten. Führen Sie keine einzelnen Behälter mit ausdocker run.
Standard-Login:
- Benutzername:
superadmin - Passwort:
superadmin123
# 1. Build frontend
cd frontend
npm install
npm run build
# 2. Build backend (creates single binary)
cd ../backend
go mod tidy
go build -o steerdock .
# 3. Install the database and cache
cd .. && ./install-database.sh
# 4. Run backend
cd ./backend && ./steerdock # Linux/macOS
# or:
cd ./backend && steerdock.exe # Windows
# 5. Run frontend (in another terminal)
cd ./frontend && npm run preview -- --host 0.0.0.0 --port 5151# Use Docker Compose (Recommended)
docker compose up -d# Build with custom tag and build args
docker build \
--tag steerdock:v1.0.0 \
--tag steerdock:latest \
--build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \
--build-arg VERSION=v1.0.0 \
.
# Build for multiple platforms (requires buildx)
docker buildx build \
--platform linux/amd64,linux/arm64 \
--tag steerdock:latest \
--push \
.
# Build with specific Dockerfile
docker build -f Dockerfile -t steerdock:custom .**Important:**Verwenden Sie Docker Compose anstelle einzelner Container für eine ordnungsgemäße Datenbankkonnektivität.
# Generate configuration first
./generate-passwords.sh # Linux/macOS
# or
.\generate-passwords.ps1 # Windows
# Start all services with Docker Compose
docker compose up -d
# For production deployment with custom configuration
docker compose -f docker-compose.prod.yml up -dWarum Docker Compose erforderlich ist:
- Automatische Service-Vernetzung (MySQL, Redis, Steerdock)
- Richtige Konfiguration der Umgebungsvariablen
- Gesundheitsprüfungen und Dienstabhängigkeiten
- Volume-Management für Datenpersistenz
Das Dockerfile verwendet einen dreistufigen Build-Prozess:
-
Frontend-Bühne: Erstellt eine React-App mit Node.js
FROM node:20-alpine AS frontend-builder # Builds optimized production frontend
-
Backend-Phase: Kompiliert Go Binary
FROM golang:1.24-alpine AS backend-builder # Creates optimized static binary
-
Letzte Phase: Minimales Alpine-Image mit Frontend und Backend
FROM alpine:3.19 # Runtime dependencies, backend serves frontend files, ~50MB final image
# Check container health
docker ps --filter name=steerdock
docker logs steerdock
docker exec steerdock curl -f http://localhost:8383/health/live
# View container stats
docker stats steerdock# Build everything
make build
# Build and run with Docker
make docker-build
make docker-run
# Development mode
make dev
# Production mode
make prod- Docker: 20.10+ und Docker Compose
- System: Linux/Windows/macOS mit 2 GB+ RAM
Für die Entwicklung:
- Node.js: 20+
- Gehen: 1.24+
- Datenbank: MySQL 8.0+ (Standard) / PostgreSQL 15+ / MongoDB 5.0+
- Gehen Sie 1.24+ mit dem Gin-Framework
- GORM für Datenbankoperationen
- JWT-Authentifizierung
- WebSocket für Echtzeit-Updates
- Reagieren Sie 18+ mit TypeScript
- Vite-Build-Tool
- Rückenwind-CSS
- Reagieren Sie auf eine Abfrage zur Statusverwaltung
- xterm.js für Terminal
👑 Super Admin: superadmin / superadmin123
🛡️ Admin: admin / admin123
👨💼 Manager: manager / manager123
👤 User: user / user123
👁️ ReadOnly: readonly / readonly123
- Architekturübersicht- Systemarchitektur und Design
- Sicherheitsleitfaden- Sicherheitsfunktionen und Best Practices
- Änderungsprotokoll- Versionsverlauf und Updates
Alle Konfigurationen sind vorhanden.envDatei (vom Passwortgenerator automatisch generiert):
# Frontend
FRONTEND_PORT=5151
BASE_URL=http://localhost:8383
# Database (MySQL example - default)
MYSQL_USER=steerdock
MYSQL_PASSWORD=<auto-generated>
MYSQL_DATABASE=steerdock
MYSQL_HOST=mysql # Docker service name
MYSQL_PORT=3306
# Security
JWT_SECRET=<auto-generated>
ALLOWED_ORIGINS=http://localhost:8383,http://localhost:5151
# Cache (Optional)
REDIS_HOST=redis # Docker service name
REDIS_PORT=6379
REDIS_PASSWORD=<auto-generated># Check Docker is running
docker ps
# Check Docker socket permissions (Linux)
ls -l /var/run/docker.sock
sudo chmod 666 /var/run/docker.sock # If needed# Check if you're using Docker Compose (IMPORTANT!)
docker compose ps
# Should show 3 services: mysql, redis, steerdock
# If not, start with Docker Compose:
docker compose up -d
# Check database container
docker compose logs mysql
# Restart all services
docker compose restart# Check backend is running
curl http://localhost:8383/health/live
# View backend logs
docker compose logs steerdock
# Check database initialization
docker compose exec mysql mysql -u steerdock -p steerdock -e "SELECT username FROM users;"# Stop all services
docker compose down
# Or manually kill processes
# Linux/macOS
lsof -ti:8383 | xargs kill -9
lsof -ti:5432 | xargs kill -9
lsof -ti:6379 | xargs kill -9
# Windows
netstat -ano | findstr :8383
taskkill /PID <PID> /F# ❌ WRONG: Running single container without database
docker run steerdock:latest
# ✅ CORRECT: Using Docker Compose with all services
docker compose up -d
# ❌ WRONG: Missing .env file
docker compose up -d # without running generate-passwords first
# ✅ CORRECT: Generate config first
./generate-passwords.sh && docker compose up -d
# ❌ WRONG: Using localhost for database in Docker
MYSQL_HOST=localhost # Won't work in Docker
# ✅ CORRECT: Using Docker service names
MYSQL_HOST=mysql # Docker Compose service namesteerdock/
├── backend/ # Go backend application
│ ├── config/ # Configuration
│ ├── handlers/ # HTTP handlers
│ ├── middleware/ # Middleware
│ ├── models/ # Database models
│ ├── routes/ # API routes
│ └── main.go # Entry point
├── frontend/ # React frontend
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── pages/ # Page components
│ │ ├── hooks/ # Custom hooks
│ │ └── config/ # Configuration
│ └── package.json
├── sql/ # Database init scripts
├── docs/ # Documentation
├── docker-compose.yml # Docker Compose config
└── .env # Environment variables
- Standardpasswörter ändern: Unmittelbar nach der Installation
- Verwenden Sie sichere Passwörter: Befolgen Sie die Anforderungen der Passwortrichtlinie
- Aktivieren Sie HTTPS: SSL/TLS-Zertifikate in der Produktion verwenden
- Regelmäßige Updates: Halten Sie SteerDock und Abhängigkeiten auf dem neuesten Stand
- Audit-Protokolle: Überprüfen Sie regelmäßig die Audit-Protokolle
- Sicherung: Regelmäßige verschlüsselte Backups
- Netzwerkisolation: Verwenden Sie Firewalls und Netzwerksegmentierung
- Geringstes Privileg: Erteilen Sie die erforderlichen Mindestberechtigungen
SehenSECURITY.mdAusführliche Sicherheitsrichtlinien finden Sie hier.
Beiträge sind willkommen!
- Forken Sie das Repository
- Erstellen Sie Ihren Feature-Branch (
git checkout -b feature/amazing-feature) - Übernehmen Sie Ihre Änderungen (
git commit -m 'Add amazing feature') - Zum Zweig schieben (
git push origin feature/amazing-feature) - Öffnen Sie eine Pull-Anfrage
Dieses Projekt ist unter der MIT-Lizenz lizenziert – sieheLIZENZEinzelheiten finden Sie in der Datei.
- Docker- Containerplattform
- Gehen- Backend-Sprache
- Reagieren- Frontend-Framework
- Gin- Web-Framework
- BLAU- ORM-Bibliothek
- xterm.js- Terminalemulator