name: Deploy Addon on: push: branches: master paths: - 'addon/**' - '.github/**' jobs: build: runs-on: ubuntu-latest strategy: matrix: include: - ssh-host: SSH_HOST_2 ssh-key: SSH_KEY_2 - ssh-host: SSH_HOST_3 ssh-key: SSH_KEY_3 - ssh-host: SSH_HOST_4 ssh-key: SSH_KEY_4 steps: - uses: actions/checkout@v1 - name: Create Docker image run: | docker build -t torrentio-addon:latest ./addon/ docker save torrentio-addon:latest > torrentio_addon_latest.tar - name: Upload Docker image uses: appleboy/scp-action@master with: host: ${{ secrets[matrix.ssh-host] }} username: ${{ secrets.SSH_USERNAME }} port: ${{ secrets.SSH_PORT }} key: ${{ secrets[matrix.ssh-key] }} source: torrentio_addon_latest.tar target: /tmp/docker overwrite: true - name: Deploy Docker image uses: appleboy/ssh-action@master with: host: ${{ secrets[matrix.ssh-host] }} username: ${{ secrets.SSH_USERNAME }} port: ${{ secrets.SSH_PORT }} key: ${{ secrets[matrix.ssh-key] }} script: | docker load -i /tmp/docker/torrentio_addon_latest.tar docker stop torrentio-addon docker rm torrentio-addon docker run -p ${{ secrets.PORT }}:7000 -d --name torrentio-addon --restart always --log-opt max-size=100m --network host -e PORT=${{ secrets.PORT }} -e MONGODB_URI=${{ secrets.MONGODB_URI }} -e DATABASE_URI=${{ secrets.DATABASE_URI }} -e REDIS_URL=${{ secrets.REDIS_URL }} -e METRICS_USER=${{ secrets.METRICS_USER }} -e METRICS_PASSWORD=${{ secrets.METRICS_PASSWORD }} torrentio-addon:latest docker image prune -f