CI: deploy locally on the Pi (no SSH/scp) — runner already has docker socket + /opt/siriusdevops mounted
Some checks failed
build-and-deploy / build (push) Failing after 20s

This commit is contained in:
sirius0xdev 2026-07-09 19:22:30 -04:00
parent 8c7f17f645
commit 650ad27349
No known key found for this signature in database

View file

@ -8,18 +8,18 @@ jobs:
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 }}
- name: Build and deploy on the Pi (local docker)
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 images on the Pi's native docker, then bring up the stack
ssh sirius@rpi.tail14a963.ts.net 'cd /opt/siriusdevops/build/osint-dashboard && docker compose build --no-cache && docker compose up -d --force-recreate && docker image prune -f'
echo 'osint-dashboard deployed'
# The forgejo-runner runs on the Pi with /var/run/docker.sock and
# /opt/siriusdevops mounted, so we deploy locally — no SSH/scp needed.
BUILD_DIR=/opt/siriusdevops/build/osint-dashboard
rm -rf "$BUILD_DIR"
mkdir -p "$BUILD_DIR"
# ship checked-out source into the build dir (local fs copy)
cp -r "${GITHUB_WORKSPACE}/." "$BUILD_DIR/"
cd "$BUILD_DIR"
docker compose build --no-cache
docker compose up -d --force-recreate
docker image prune -f
echo 'osint-dashboard deployed (local)'