osint-dashboard/.forgejo/workflows/build.yml

26 lines
1.1 KiB
YAML
Raw Normal View History

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'