- Replace host systemd runner with myoung34/github-runner container in the main compose stack - Mounts docker.sock (GID 1001), /valhalla-lab, and /config/caddy so the workflow can deploy compose and reload Caddy without SSH - Update deploy.yml to write files via mounted paths and use a shared COMPOSE env var for cleaner step commands - Add GITHUB_RUNNER_ACCESS_TOKEN placeholder to .env (fine-grained PAT with Administration:write needed for runner self-registration)
32 lines
734 B
YAML
32 lines
734 B
YAML
name: Deploy to valhalla
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
|
|
env:
|
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
|
COMPOSE: docker compose -f /valhalla-lab/docker-compose.yml --env-file /valhalla-lab/.env
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: self-hosted
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Push .env + compose
|
|
run: |
|
|
cp .env /valhalla-lab/.env
|
|
cp docker-compose.yml /valhalla-lab/docker-compose.yml
|
|
|
|
- name: Pull and apply compose
|
|
run: |
|
|
$COMPOSE pull
|
|
$COMPOSE up -d
|
|
|
|
- name: Reload Caddyfile
|
|
run: |
|
|
cp Caddyfile /config/caddy/Caddyfile
|
|
$COMPOSE exec -T caddy caddy reload --config /etc/caddy/Caddyfile
|