name: Deploy t-youtube on: push: branches: [main] paths: - 'backend/**' - 'frontend/**' - 'Dockerfile' - '.gitea/workflows/deploy.yml' workflow_dispatch: jobs: build-and-deploy: name: Build & Deploy runs-on: nas steps: - name: Pull latest code run: | cd /volume1/docker/t-youtube git fetch http://localhost:3300/jimmy/t-youtube.git main 2>&1 git merge FETCH_HEAD 2>&1 echo "OK: code updated" - name: Build Docker image run: | cd /volume1/docker/t-youtube /volume1/@appstore/ContainerManager/usr/bin/docker build -t t-youtube:latest . 2>&1 echo "OK: image built" - name: Swap & Verify run: | D=/volume1/@appstore/ContainerManager/usr/bin $D/docker stop t-youtube 2>/dev/null || true $D/docker rm t-youtube 2>/dev/null || true $D/docker run -d --name t-youtube --restart unless-stopped \ -p 8001:8000 \ --env-file /volume1/docker/t-youtube/.env \ -v /volume1/docker/t-youtube/data:/app/data \ -v /volume1/docker/t-youtube/config:/app/config \ t-youtube:latest 2>&1 sleep 3 $D/docker ps --filter name=t-youtube --format "{{.Status}}" echo "OK: deploy complete"