- 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
61 lines
1.8 KiB
YAML
61 lines
1.8 KiB
YAML
# Management-plane services: portainer, github-runner, watchtower.
|
|
# These manage the application stack rather than being part of it.
|
|
#
|
|
# This file also owns the portainer_proxy network that the main
|
|
# docker-compose.yml references as external: true.
|
|
#
|
|
# Fresh-install order:
|
|
# docker compose -f portainer-compose.yml up -d # network + mgmt plane first
|
|
# dc up -d # application stack second
|
|
|
|
services:
|
|
portainer:
|
|
container_name: portainer
|
|
image: portainer/portainer-ce:latest
|
|
restart: unless-stopped
|
|
networks:
|
|
- portainer_proxy
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- /config/portainer:/data
|
|
ports:
|
|
- "9100:9000"
|
|
labels:
|
|
- "com.centurylabs.watchtower.enable=false"
|
|
|
|
github-runner:
|
|
container_name: github_runner
|
|
image: myoung34/github-runner:latest
|
|
restart: unless-stopped
|
|
environment:
|
|
- ACCESS_TOKEN=${GITHUB_RUNNER_ACCESS_TOKEN}
|
|
- REPO_URL=https://github.com/ginnoir/homelabstack
|
|
- RUNNER_NAME=valhalla
|
|
- RUNNER_LABELS=self-hosted,Linux,x64
|
|
- RUNNER_SCOPE=repo
|
|
- DOCKER_GROUP_GID=1001
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- /home/ginnoir/valhalla-lab:/valhalla-lab
|
|
- /config/caddy:/config/caddy
|
|
labels:
|
|
- "com.centurylabs.watchtower.enable=false"
|
|
|
|
watchtower:
|
|
container_name: watchtower
|
|
image: containrrr/watchtower:latest
|
|
restart: unless-stopped
|
|
environment:
|
|
- DOCKER_API_VERSION=1.40
|
|
- WATCHTOWER_NOTIFICATION_SKIP_TITLE=true
|
|
- WATCHTOWER_NOTIFICATION_URL=ntfy://ntfy.ginnoir.com/watchtower?title=WatchtowerUpdates
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
labels:
|
|
- "com.centurylabs.watchtower.enable=false"
|
|
|
|
networks:
|
|
portainer_proxy:
|
|
name: portainer_proxy
|
|
driver: bridge
|