- portainer-compose.yml now owns all three management-plane services: portainer, github-runner, watchtower. All mount the docker socket; none belong to the application stack. - Watchtower carries over its existing env (DOCKER_API_VERSION, ntfy URL). portainer, runner, and watchtower itself are labeled to opt out of watchtower auto-updates. - docker-compose.yml: remove github-runner (was causing self-kill during dc up -d; exclusion workaround no longer needed) - deploy.yml: simplified back to plain dc up -d with no service filtering
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
|