Migration bestehender Installationen
🚀 Installation & Setup
·
Updated vor 1 Monat
12. Migration bestehender Installationen
Falls du eine ältere GateControl-Installation mit einem Named Docker Volume hast (der historische Default), kannst du mit ca. 15 Sekunden Downtime auf das empfohlene Layout in /opt/gatecontrol/ umziehen. Named Volumes sind vom Host-Dateisystem aus unsichtbar und machen Backups umständlich; Bind-Mounts lösen das.
Schritte:
# 1. Quelle verifizieren
docker inspect gatecontrol --format '{{range .Mounts}}{{.Type}} {{.Source}}{{"\n"}}{{end}}'
# Zeigt "volume <pfad>" → weiter. Zeigt "bind <pfad>" → schon fertig.
# 2. Neue Location vorbereiten
mkdir -p /opt/gatecontrol
cp /pfad/zum/alten/.env /opt/gatecontrol/.env
cat > /opt/gatecontrol/docker-compose.yml <<'EOF'
services:
gatecontrol:
image: ghcr.io/callmetechie/gatecontrol:latest
container_name: gatecontrol
network_mode: host
cap_add:
- NET_ADMIN
volumes:
- ./data:/data
env_file:
- .env
restart: unless-stopped
EOF
# 3. Alt stoppen, Daten kopieren, Neu starten (kurze Downtime)
cd /pfad/zum/alten # wo das alte docker-compose.yml liegt
docker compose down
mkdir -p /opt/gatecontrol/data
VOL_PATH=$(docker volume inspect <alter-volume-name> --format '{{.Mountpoint}}')
cp -a "$VOL_PATH"/. /opt/gatecontrol/data/
chown -R 101:102 /opt/gatecontrol/data
cd /opt/gatecontrol
docker compose up -d
# 4. Verifizieren
docker inspect gatecontrol --format '{{range .Mounts}}{{.Type}} {{.Source}}{{"\n"}}{{end}}'
# sollte jetzt zeigen: bind /opt/gatecontrol/data
curl -s http://127.0.0.1:3000/health | jq
Das alte Named Volume mindestens 24 Stunden als Fallback liegen lassen. Wenn du sicher bist, dass das neue Setup läuft:
docker volume rm <alter-volume-name>