name: build-and-deploy on: push: branches: [main, master] jobs: build: runs-on: docker steps: - name: Checkout uses: https://code.forgejo.org/actions/checkout@v4 - name: Deploy to Pi via SSH env: PI_SSH_KEY: ${{ secrets.PI_SSH_KEY }} run: | set -e mkdir -p ~/.ssh echo "$PI_SSH_KEY" > ~/.ssh/id_ed25519 chmod 600 ~/.ssh/id_ed25519 ssh-keyscan -H rpi.tail14a963.ts.net >> ~/.ssh/known_hosts 2>/dev/null || true # ship source to the Pi build dir ssh sirius@rpi.tail14a963.ts.net 'rm -rf /opt/siriusdevops/build/osint-dashboard && mkdir -p /opt/siriusdevops/build/osint-dashboard' scp -r . sirius@rpi.tail14a963.ts.net:/opt/siriusdevops/build/osint-dashboard/ # build arm64 image on the Pi's native docker, then bring up the stack ssh sirius@rpi.tail14a963.ts.net 'cd /opt/siriusdevops/build/osint-dashboard && docker build --platform linux/arm64 -t localhost/osint-dashboard:latest . && docker compose up -d --force-recreate && docker image prune -f' echo 'osint-dashboard deployed'