diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml new file mode 100644 index 0000000..12cc096 --- /dev/null +++ b/.gitea/workflows/ci.yaml @@ -0,0 +1,50 @@ +name: Build and Deploy + +on: + push: + branches: + - main + +jobs: + build-and-deploy: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Write deploy key + run: | + echo "${{ secrets.DEPLOY_KEY }}" > /tmp/deploy_key + chmod 600 /tmp/deploy_key + + - name: Log in to Gitea registry + run: | + echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login gitea.home.arpa \ + --username ${{ secrets.REGISTRY_USERNAME }} \ + --password-stdin + + - name: Build and push backend + run: | + docker build \ + --platform linux/amd64 \ + -t gitea.home.arpa/nik/watch-party-backend:latest \ + ./backend + docker push gitea.home.arpa/nik/watch-party-backend:latest + + - name: Build and push frontend + run: | + docker build \ + --platform linux/amd64 \ + -t gitea.home.arpa/nik/watch-party-frontend:latest \ + ./frontend + docker push gitea.home.arpa/nik/watch-party-frontend:latest + + - name: Deploy to Mac Mini + run: | + ssh -o StrictHostKeyChecking=no \ + -i /tmp/deploy_key \ + ${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }} \ + "cd ~/repo/watch-party && \ + docker login gitea.home.arpa -u ${{ secrets.REGISTRY_USERNAME }} -p ${{ secrets.REGISTRY_PASSWORD }} && \ + docker compose pull && \ + docker compose up -d" \ No newline at end of file