diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index 1ef9bf5..2a9a29a 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -1,4 +1,5 @@ # This workflow builds and deploys Dostalgia whenever code is pushed to main. +# Uses docker-compose at /appdata/dockhand/stacks/unraid/dostalgia/compose.yaml # Requires a Gitea Actions runner registered on the host with Docker socket access. # See: https://docs.gitea.com/usage/actions @@ -11,9 +12,7 @@ on: env: IMAGE_NAME: dostalgia - CONTAINER_NAME: dostalgia - HOST_PORT: 8765 - DATA_VOLUME: /opt/data/workspace/dostalgia/data + COMPOSE_DIR: /appdata/dockhand/stacks/unraid/dostalgia jobs: build-and-deploy: @@ -28,34 +27,27 @@ jobs: docker build -t ${{ env.IMAGE_NAME }}:${{ gitea.sha }} . docker tag ${{ env.IMAGE_NAME }}:${{ gitea.sha }} ${{ env.IMAGE_NAME }}:latest - - name: Stop and remove old container + - name: Deploy via docker-compose run: | - docker stop ${{ env.CONTAINER_NAME }} 2>/dev/null || true - docker rm ${{ env.CONTAINER_NAME }} 2>/dev/null || true - - - name: Start new container - run: | - docker run -d \ - --name ${{ env.CONTAINER_NAME }} \ - --restart unless-stopped \ - -p ${{ env.HOST_PORT }}:8765 \ - -v ${{ env.DATA_VOLUME }}:/data \ - -e TWITCH_CLIENT_ID='${{ secrets.TWITCH_CLIENT_ID }}' \ - -e TWITCH_CLIENT_SECRET='${{ secrets.TWITCH_CLIENT_SECRET }}' \ - ${{ env.IMAGE_NAME }}:latest + cd "${{ env.COMPOSE_DIR }}" + docker compose up -d - name: Verify container is running run: | sleep 5 - STATUS=$(docker inspect -f '{{.State.Status}}' ${{ env.CONTAINER_NAME }}) + CONTAINER_NAME=$(docker compose -f "${{ env.COMPOSE_DIR }}/compose.yaml" ps -q dostalgia 2>/dev/null || echo "dostalgia") + if [ -z "$CONTAINER_NAME" ] || [ "$CONTAINER_NAME" = "dostalgia" ]; then + CONTAINER_NAME="dostalgia" + fi + STATUS=$(docker inspect -f '{{.State.Status}}' "$CONTAINER_NAME" 2>/dev/null || docker inspect -f '{{.State.Status}}' dostalgia) if [ "$STATUS" = "running" ]; then echo "✅ Dostalgia container is running" echo "--- last logs ---" - docker logs ${{ env.CONTAINER_NAME }} --tail 5 + docker logs dostalgia --tail 5 echo "✅ Dostalgia deployed!" else echo "❌ Container status: $STATUS" - docker logs ${{ env.CONTAINER_NAME }} --tail 30 + docker logs dostalgia --tail 30 exit 1 fi