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: ubuntu-latest steps: - name: Checkout run: | git clone --depth=1 http://gitea:3000/jimmy/t-youtube.git /volume1/docker/t-youtube-build 2>&1 - name: Build Docker image run: | export DOCKER_API_VERSION=1.43 docker build -t t-youtube:latest /volume1/docker/t-youtube-build 2>&1 - name: Save & Load image on host run: | export DOCKER_API_VERSION=1.43 docker save t-youtube:latest | /volume1/@appstore/ContainerManager/usr/bin/docker load 2>&1 - name: Swap container on host run: | /volume1/@appstore/ContainerManager/usr/bin/docker stop t-youtube 2>/dev/null || true /volume1/@appstore/ContainerManager/usr/bin/docker rm t-youtube 2>/dev/null || true /volume1/@appstore/ContainerManager/usr/bin/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 - name: Verify run: | export DOCKER_API_VERSION=1.43 sleep 3 docker ps --filter name=t-youtube --format "{{.Status}}" echo "OK: deploy complete"