Ersten Stack deployen
Nach der Ersteinrichtung bist du bereit, deinen ersten Stack zu deployen. Diese Anleitung zeigt dir Schritt für Schritt, wie du Container-Stacks mit ReadyStackGo verwaltest.
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“Bevor du einen Stack deployen kannst, stelle sicher, dass:
- ✓ Du den Setup-Wizard abgeschlossen hast
- ✓ Mindestens ein Environment konfiguriert ist
- ✓ Du als Admin eingeloggt bist
Stack Management öffnen
Abschnitt betitelt „Stack Management öffnen“- Melde dich bei ReadyStackGo an
- Navigiere zu Stacks im Seitenmenü
- Du siehst zwei Bereiche:
- Available Stacks – Vordefinierte Stack-Templates
- Deployed Stacks – Aktuell laufende Deployments
Deployment-Optionen
Abschnitt betitelt „Deployment-Optionen“ReadyStackGo bietet zwei Wege, um Stacks zu deployen:
Option A: Template deployen
Abschnitt betitelt „Option A: Template deployen“Wenn Stack-Quellen konfiguriert sind, werden verfügbare Templates im Bereich Available Stacks angezeigt.
- Stack finden – Suche den gewünschten Stack in der Template-Liste
- Deploy klicken – Klicke auf den Deploy-Button beim Stack
- Konfiguration anpassen – Ein Modal öffnet sich mit den Stack-Einstellungen
- Variablen setzen – Fülle erforderliche Umgebungsvariablen aus
- Deployment starten – Klicke auf Deploy
Option B: Custom Compose deployen
Abschnitt betitelt „Option B: Custom Compose deployen“Du kannst auch eigene docker-compose.yml Dateien deployen:
- Klicke auf Deploy Custom oben rechts
- Das Deployment-Modal öffnet sich
- Gib einen Stack Name ein
- Füge deine docker-compose.yml ein oder bearbeite sie
- Definiere optionale Umgebungsvariablen
- Klicke auf Deploy
Beispiel: Nginx deployen
Abschnitt betitelt „Beispiel: Nginx deployen“Hier ein einfaches Beispiel, um einen Nginx-Webserver zu deployen:
Schritt 1: Deploy Custom öffnen
Abschnitt betitelt „Schritt 1: Deploy Custom öffnen“Klicke auf den Deploy Custom Button in der Stack-Übersicht.
Schritt 2: Stack konfigurieren
Abschnitt betitelt „Schritt 2: Stack konfigurieren“Stack Name:
nginx-demoCompose-Definition:
services: web: image: nginx:alpine ports: - "8081:80" restart: unless-stoppedSchritt 3: Deployen
Abschnitt betitelt „Schritt 3: Deployen“Klicke auf Deploy und warte, bis der Stack gestartet ist.
Schritt 4: Überprüfen
Abschnitt betitelt „Schritt 4: Überprüfen“- Der Stack erscheint in der Deployed Stacks Liste
- Status sollte Running zeigen
- Öffne
http://<server-ip>:8081im Browser
Stack-Details
Abschnitt betitelt „Stack-Details“Status-Anzeigen
Abschnitt betitelt „Status-Anzeigen“| Status | Bedeutung |
|---|---|
| 🟢 Running | Alle Container laufen erfolgreich |
| 🔵 Deploying | Stack wird gerade deployed |
| 🟡 Stopped | Container sind gestoppt |
| 🔴 Failed | Deployment oder Container fehlgeschlagen |
Stack-Informationen
Abschnitt betitelt „Stack-Informationen“Jeder deployete Stack zeigt:
- Stack Name – Der Name des Deployments
- Version – Version des Stack-Templates (falls verfügbar)
- Services – Anzahl der Container im Stack
- Deployed At – Zeitpunkt des Deployments
- Status – Aktueller Status
Stack verwalten
Abschnitt betitelt „Stack verwalten“Stack entfernen
Abschnitt betitelt „Stack entfernen“- Finde den Stack in der Deployed Stacks Liste
- Klicke auf Remove
- Bestätige die Aktion
Stack aktualisieren
Abschnitt betitelt „Stack aktualisieren“Um einen Stack mit neuer Konfiguration zu deployen:
- Entferne den bestehenden Stack
- Deploye mit der aktualisierten Konfiguration
Stack Sources synchronisieren
Abschnitt betitelt „Stack Sources synchronisieren“Falls du Stack-Templates aus Git-Repositories nutzt:
- Klicke auf Sync Sources in der Stack-Übersicht
- ReadyStackGo lädt die neuesten Definitionen
- Neue oder aktualisierte Templates erscheinen in Available Stacks
Beispiele für Produktiv-Stacks
Abschnitt betitelt „Beispiele für Produktiv-Stacks“WordPress mit MySQL
Abschnitt betitelt „WordPress mit MySQL“services: wordpress: image: wordpress:latest ports: - "8082:80" environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: ${DB_PASSWORD} WORDPRESS_DB_NAME: wordpress volumes: - wordpress-data:/var/www/html depends_on: - db restart: unless-stopped
db: image: mysql:8.0 environment: MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: ${DB_PASSWORD} MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD} volumes: - db-data:/var/lib/mysql restart: unless-stopped
volumes: wordpress-data: db-data:Umgebungsvariablen:
DB_PASSWORD: Passwort für WordPress-DatenbankbenutzerDB_ROOT_PASSWORD: MySQL Root-Passwort
Portainer Agent
Abschnitt betitelt „Portainer Agent“services: agent: image: portainer/agent:latest volumes: - /var/run/docker.sock:/var/run/docker.sock - /var/lib/docker/volumes:/var/lib/docker/volumes restart: unless-stoppedTroubleshooting
Abschnitt betitelt „Troubleshooting“Stack startet nicht
Abschnitt betitelt „Stack startet nicht“-
Logs prüfen – Container-Logs im Docker-Host anzeigen:
Terminal-Fenster docker logs <container-name> -
Port-Konflikte – Stelle sicher, dass die Ports nicht belegt sind:
Terminal-Fenster sudo netstat -tlpn | grep <port> -
Image-Probleme – Prüfe, ob das Image verfügbar ist:
Terminal-Fenster docker pull <image-name>
Environment-Verbindung fehlgeschlagen
Abschnitt betitelt „Environment-Verbindung fehlgeschlagen“- Prüfe, ob der Docker-Socket korrekt gemountet ist
- Verifiziere, dass Docker läuft:
docker info - Überprüfe die Berechtigungen auf den Socket
Nächste Schritte
Abschnitt betitelt „Nächste Schritte“- Lerne mehr über Stack Templates
- Konfiguriere Stack Sources für Git-Integration
- Richte Backups ein