name: Build and Deploy on: push: branches: - main jobs: build: runs-on: linux container: image: catthehacker/ubuntu:act-latest options: --privileged # Required for Docker-in-Docker environment: BOT_TOKEN: from_secret: bot_token AUTHORIZED_USER_ID: from_secret: ${{ secrets.authorized_user_id }} NTFY_AUTH_HEADER: from_secret: ${{ secrets.ntfy_auth_header }} KUMA_API_PASSWORD: from_secret: ${{ secrets.kuma_api_password }} TORRENT_API_PASSWORD: from_secret: ${{ secrets.torrent_api_password }} steps: - name: Checkout code uses: actions/checkout@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - name: Log in to Gitea Container Registry uses: docker/login-action@v2 with: registry: gitea.abzk.fr username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - name: Build and push Docker image uses: docker/build-push-action@v4 with: context: . file: ./Dockerfile push: true tags: gitea.abzk.fr/mrzaiko/jarvis:latest - name: Deploy to Portainer run: | curl --location --request PUT -k 'https://192.168.1.17:9443/api/stacks/27?endpointId=2' \ --header 'X-API-Key: ${{ secrets.PORTAINER_API_KEY }}' \ --header 'Content-Type: application/json' \ --data '{ "prune": false, "pullImage": true, "stackFileContent": "version: '\''3.8'\''\nservices:\n jarvis:\n image: gitea.abzk.fr/mrzaiko/jarvis:latest\n container_name: jarvis\n volumes:\n - /home/portainer/docker-config/local_stuff/jarvis/:/app/config" }'