Colony host setup - #357
Conversation
WalkthroughAdds GPU compose override handling, renames node environment variables to PRIMARY/SECONDARY, migrates qBittorrent to Traefik proxy networking, adds a cron setup task for backups, and updates several service, Ansible, Renovate, and runbook files. ChangesInfrastructure and Service Configuration Updates
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 4
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docker/automation/homeassistant/homeassistant.yaml`:
- Line 9: The trusted proxy example is too broad because it currently points to
all Docker bridge networks. Update the Home Assistant proxy configuration
example to use only the specific Traefik/proxy subnet that actually reaches Home
Assistant, and reference the trusted proxy list in homeassistant.yaml so the
example cannot be misread as allowing every Docker bridge.
In `@docker/fileshare/qbittorrent/qbittorrent.yaml`:
- Around line 22-33: The separate-host guidance for qbittorrent is incomplete:
the Traefik example points to a host-side HTTP port, but the service definition
removes the only published port, so the route cannot work as written. Update the
instructions in qbittorrent.yaml to either keep a host port published for the
qbittorrent service or change the Traefik external-services example to point at
the actual reachable port, and make the separate-host setup explicitly match the
service’s exposure.
In `@docker/security/frigate/config/config.yml`:
- Around line 55-61: The shared Frigate OpenVINO detector config is hardcoding
both ov_0 and ov_1 to CPU, which overrides accelerator selection for
Intel-capable hosts. Update the detectors in the shared config to use AUTO in
the openvino device settings, and keep any CPU-only fallback in a host-specific
override rather than in this shared file.
- Around line 15-20: The shared Frigate config is forcing VAAPI hardware decode
for every deployment, which should only be enabled for AMD/GPU hosts. Remove the
ffmpeg hwaccel_args setting from the common config and place it in the
AMD-specific override so only the frigate-amdgpu.yaml path enables it alongside
the /dev/dri passthrough. Use the ffmpeg section and hwaccel_args preset-vaapi
setting as the main symbols to relocate.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 3f8f286a-4d66-4e7a-982c-d4e6bb1ec28b
📒 Files selected for processing (26)
.claude/skills/debug-container-service/SKILL.mdansible/inventory/group_vars/debian/vars.yamlansible/playbooks/homelab.yamlconfig-example/docker/.envdocker/Taskfile.apps.yamldocker/Taskfile.docker.yamldocker/ai/ollama/ollama-amdgpu.yamldocker/ai/ollama/ollama.yamldocker/ai/sillytavern/sillytavern.yamldocker/automation/homeassistant/homeassistant.yamldocker/dashboard/homepage/config/services.yamldocker/fileshare/qbittorrent/Dockerfiledocker/fileshare/qbittorrent/qbittorrent.yamldocker/infra/adguardhome-sync/adguardhome-sync.yamldocker/media/video/jellyfin/jellyfin-amdgpu.yamldocker/media/video/jellyfin/jellyfin.yamldocker/security/frigate/config/config.ymldocker/security/frigate/frigate-amdgpu.yamldocker/security/frigate/frigate.yamldocker/security/traefik/config/dynamic/external-services.ymldocker/security/traefik/config/traefik.ymldocker/security/traefik/traefik.yamldocker/security/wg-easy/wg-easy.yamldocker/storage/syncthing/syncthing.yamlrenovate.jsonscripts/labctl.py
💤 Files with no reviewable changes (3)
- docker/security/traefik/traefik.yaml
- docker/security/traefik/config/dynamic/external-services.yml
- ansible/playbooks/homelab.yaml
7339d7f to
7baaeb7
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@Taskfile.yaml`:
- Around line 191-194: The crontab update in the setup-crontab Taskfile target
is removing any line that contains the broad substring task backup, which can
delete unrelated user entries. Update the CRON_ENTRY handling to add a unique
marker for the managed job and have the cleanup step in the same shell block
filter only on that marker; use the existing setup-crontab/CRON_ENTRY logic to
locate the change. Also make the cd $(pwd) portion safe for paths with spaces by
quoting the working directory in the generated cron command.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 91d0a798-2f60-4d5e-97e7-3bae644f9440
📒 Files selected for processing (17)
Taskfile.yamlansible/inventory/group_vars/debian/vars.yamlansible/playbooks/homelab.yamldocker/ai/ollama/ollama-amdgpu.yamldocker/ai/ollama/ollama.yamldocker/ai/sillytavern/sillytavern.yamldocker/automation/homeassistant/homeassistant.yamldocker/dashboard/homepage/config/services.yamldocker/fileshare/qbittorrent/Dockerfiledocker/fileshare/qbittorrent/qbittorrent.yamldocker/media/video/jellyfin/jellyfin-amdgpu.yamldocker/media/video/jellyfin/jellyfin.yamldocker/security/frigate/config/config.ymldocker/security/frigate/frigate-amdgpu.yamldocker/security/frigate/frigate.yamldocker/security/traefik/config/dynamic/external-services.ymlscripts/labctl.py
💤 Files with no reviewable changes (2)
- docker/security/traefik/config/dynamic/external-services.yml
- ansible/playbooks/homelab.yaml
✅ Files skipped from review due to trivial changes (5)
- docker/security/frigate/frigate-amdgpu.yaml
- docker/ai/ollama/ollama.yaml
- docker/security/frigate/frigate.yaml
- ansible/inventory/group_vars/debian/vars.yaml
- docker/ai/sillytavern/sillytavern.yaml
🚧 Files skipped from review as they are similar to previous changes (9)
- docker/ai/ollama/ollama-amdgpu.yaml
- docker/dashboard/homepage/config/services.yaml
- docker/media/video/jellyfin/jellyfin-amdgpu.yaml
- docker/fileshare/qbittorrent/qbittorrent.yaml
- docker/automation/homeassistant/homeassistant.yaml
- docker/security/frigate/config/config.yml
- docker/fileshare/qbittorrent/Dockerfile
- docker/media/video/jellyfin/jellyfin.yaml
- scripts/labctl.py
7baaeb7 to
af4f983
Compare
Summary by CodeRabbit
New Features
Bug Fixes
Chores