From 8bfc2b1b0aaa320e76dc953ad2d4d7a8fd7ec26c Mon Sep 17 00:00:00 2001 From: Daniel Date: Sat, 7 Mar 2026 14:03:37 +0100 Subject: [PATCH] Fix: Deploy via Docker-Socket statt SSH Runner laeuft auf adriahub - nutzt Docker-Socket direkt. Secrets (Discord Tokens, Admin PWD) als CI-Variablen. Co-Authored-By: Claude Opus 4.6 --- .gitlab-ci.yml | 37 ++++++++++++++++++++++++++++++------- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f16b0c4..9782bb4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -65,14 +65,37 @@ docker-build: deploy: stage: deploy - image: alpine:latest + image: docker:latest needs: [docker-build] rules: - if: $CI_COMMIT_BRANCH == "main" - before_script: - - apk add --no-cache openssh-client - - mkdir -p ~/.ssh - - echo "$DEPLOY_SSH_KEY" | base64 -d > /tmp/deploy_key - - chmod 600 /tmp/deploy_key + variables: + DEPLOY_IMAGE: "git.adriahub.de/root/gaming-hub:latest" + CONTAINER_NAME: "gaming-hub" script: - - ssh -i /tmp/deploy_key -o StrictHostKeyChecking=no root@100.79.45.50 "/mnt/cache/appdata/gaming-hub/deploy.sh" + - echo "[Deploy] Pulling $DEPLOY_IMAGE..." + - docker pull "$DEPLOY_IMAGE" + - echo "[Deploy] Stopping $CONTAINER_NAME..." + - docker stop "$CONTAINER_NAME" || true + - docker rm "$CONTAINER_NAME" || true + - echo "[Deploy] Starting $CONTAINER_NAME..." + - | + docker run -d \ + --name "$CONTAINER_NAME" \ + --network pangolin \ + --restart unless-stopped \ + -p 8085:8080 \ + -e TZ=Europe/Berlin \ + -e NODE_ENV=production \ + -e PORT=8080 \ + -e DATA_DIR=/data \ + -e SOUNDS_DIR=/data/sounds \ + -e "NODE_OPTIONS=--dns-result-order=ipv4first" \ + -e ADMIN_PWD="$GAMING_HUB_ADMIN_PWD" \ + -e PCM_CACHE_MAX_MB=2048 \ + -e DISCORD_TOKEN_JUKEBOX="$GAMING_HUB_DISCORD_JUKEBOX" \ + -e DISCORD_TOKEN_RADIO="$GAMING_HUB_DISCORD_RADIO" \ + -v /mnt/cache/appdata/gaming-hub/data:/data:rw \ + -v /mnt/cache/appdata/dockge/container/jukebox/sounds/:/data/sounds:rw \ + "$DEPLOY_IMAGE" + - docker ps --filter name="$CONTAINER_NAME" --format "ID={{.ID}} Status={{.Status}} Image={{.Image}}"