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"