From d3ccca52f0f5f7823eb1afdf07d777b918e63914 Mon Sep 17 00:00:00 2001 From: "Gan, Jimmy" Date: Sat, 21 Feb 2026 11:05:00 +0800 Subject: [PATCH] Use docker save/load for cross-build deploy from M1 to NAS --- .gitea/workflows/deploy.yml | 7 +++++-- dashboard/deploy.sh | 13 ++++++------- dashboard/docker-compose.yml | 2 +- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 96d47f0..f787d3e 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -19,7 +19,10 @@ jobs: - name: Checkout uses: actions/checkout@v4 - - name: Pull and Deploy + - name: Sync Dashboard Config + run: | + cp dashboard/docker-compose.yml /nas-dashboard/docker-compose.yml + + - name: Deploy run: | - docker compose -f /nas-dashboard/docker-compose.yml pull docker compose -f /nas-dashboard/docker-compose.yml up -d diff --git a/dashboard/deploy.sh b/dashboard/deploy.sh index 1afea4f..16e0e18 100755 --- a/dashboard/deploy.sh +++ b/dashboard/deploy.sh @@ -1,19 +1,18 @@ #!/bin/bash set -e -REGISTRY="100.78.131.124:3300" -IMAGE="$REGISTRY/jimmy/nas-dashboard" +IMAGE="nas-dashboard" TAG="${1:-latest}" DIR="$(cd "$(dirname "$0")" && pwd)" +NAS="zjgump@100.78.131.124" echo "Building linux/amd64 image..." -docker buildx build --platform linux/amd64 -t "$IMAGE:$TAG" -t "$IMAGE:latest" "$DIR" +docker buildx build --platform linux/amd64 -t "$IMAGE:$TAG" --load "$DIR" -echo "Pushing to registry..." -docker push "$IMAGE:$TAG" -[ "$TAG" != "latest" ] && docker push "$IMAGE:latest" +echo "Transferring to NAS..." +docker save "$IMAGE:$TAG" | ssh "$NAS" "export PATH=/usr/local/bin:\$PATH && docker load" echo "Deploying on NAS..." -ssh zjgump@100.78.131.124 "cd /volume1/docker/nas-dashboard && docker compose pull && docker compose up -d" +ssh "$NAS" "export PATH=/usr/local/bin:\$PATH && cd /volume1/docker/nas-dashboard && docker compose up -d" echo "Done." diff --git a/dashboard/docker-compose.yml b/dashboard/docker-compose.yml index d4ee31d..7b7ab70 100644 --- a/dashboard/docker-compose.yml +++ b/dashboard/docker-compose.yml @@ -20,7 +20,7 @@ services: dashboard: # build: . - image: 100.78.131.124:3300/jimmy/nas-dashboard:latest + image: nas-dashboard:latest container_name: nas-dashboard restart: unless-stopped ports: