Service config - #367
Conversation
WalkthroughThis PR adds shared MongoDB and Gitea Actions runner services, migrates several containers to bind-mounted storage with permission-fix init services, updates UniFi integration and environment examples, revises tool images and GPU settings, adds cleanup automation, and expands container documentation. ChangesInfrastructure compose and configuration updates
Estimated code review effort: 3 (Moderate) | ~30 minutes Possibly related PRs
Sequence Diagram(s)sequenceDiagram
participant mongodb-init
participant mongodb
participant unifi-network-application
mongodb-init->>mongodb: Fix persisted data ownership
mongodb->>mongodb: Report healthy via mongosh
unifi-network-application->>mongodb: Connect with shared MongoDB credentials
🚥 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
🧹 Nitpick comments (1)
docker/automation/n8n/n8n.yaml (1)
39-39: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueConsider renaming
initContainerservice ton8n-initfor consistency.All other init containers in this PR follow the
<service>-initnaming convention (mongodb-init,postgresql-init,mssql-server-init,n8n-postgres-init,db-init). TheinitContainerservice name uses camelCase and breaks this pattern. Thecontainer_nameis alreadyn8n-init, so aligning the service name would improve consistency.♻️ Optional rename
- initContainer: + n8n-init: image: busybox:1.38.0 container_name: n8n-initNote: the
depends_onreference on line 70 would also need updating frominitContainerton8n-init.🤖 Prompt for 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. In `@docker/automation/n8n/n8n.yaml` at line 39, The `initContainer` service name in the n8n compose config is inconsistent with the `<service>-init` naming used elsewhere. Rename the service to `n8n-init` to match the existing pattern and keep it aligned with the already-correct `container_name`; also update any `depends_on` references in the same config that still point to `initContainer` so they use `n8n-init` instead.
🤖 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 `@config-example/docker/myhost/.env`:
- Around line 72-75: The shared MongoDB example config is missing the required
MONGO_ROOT_PASSWORD value, so add it alongside the existing UNIFI_MONGO_*
entries in this .env example. Update the myhost environment sample to include
MONGO_ROOT_PASSWORD for the MongoDB service configuration used by mongodb.yaml,
while leaving MONGO_ROOT_USERNAME optional since it already defaults to root.
In `@docker/database/mongodb/mongodb.yaml`:
- Around line 32-33: The MongoDB root password mapping in the compose config is
missing the fail-fast guard, so it can silently resolve to an empty value;
update the MONGO_INITDB_ROOT_PASSWORD entry in mongodb.yaml to use the same
${VAR:?message} pattern as the MSSQL service. Keep the change localized to the
MongoDB environment section and make sure the placeholder references
MONGO_ROOT_PASSWORD with a clear required-password message so startup fails if
it is unset.
In `@docker/infra/unifi-network-application/unifi-network-application.yaml`:
- Line 42: The Unifi Network Application image tag is incorrect in the
deployment manifest; update the image reference for the
unifi-network-application container to use the published LinuxServer
build-suffixed tag instead of the plain version. Locate the image declaration in
the unifi-network-application YAML and change the tag from the current
version-only form to the matching ls-build tag so the deployment pulls the
correct image.
In `@docs/PRPs/containers/act-runner.md`:
- Around line 92-110: The command examples in this section still use the old
gitea-runner binary name, but the docs now reference runner, so update the
snippets to match the current CLI. Make the change in the example commands
around generate-config and cache-server so they use runner consistently,
matching the existing docs for commands like runner daemon. Keep the surrounding
config guidance unchanged.
---
Nitpick comments:
In `@docker/automation/n8n/n8n.yaml`:
- Line 39: The `initContainer` service name in the n8n compose config is
inconsistent with the `<service>-init` naming used elsewhere. Rename the service
to `n8n-init` to match the existing pattern and keep it aligned with the
already-correct `container_name`; also update any `depends_on` references in the
same config that still point to `initContainer` so they use `n8n-init` instead.
🪄 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: 30afc52a-7dd5-4365-90a3-d4c0550a9d26
📒 Files selected for processing (20)
Taskfile.yamlconfig-example/docker/myhost/.envconfig-example/dotfiles/README.mddocker/automation/n8n/n8n.yamldocker/dashboard/homepage/config/services.yamldocker/database/mongodb/config/initdb/.gitkeepdocker/database/mongodb/mongodb.yamldocker/database/mssql-server/mssql-server.yamldocker/database/postgresql/postgresql.yamldocker/dev/act-runner/act-runner.yamldocker/dev/act-runner/config/config.yamldocker/dev/supabase/supabase.yamldocker/fileshare/qbittorrent/qbittorrent.yamldocker/infra/unifi-controller/unifi-controller.yamldocker/infra/unifi-network-application/unifi-network-application.yamldocker/storage/filebrowser/config/settings.jsondocker/storage/filebrowser/filebrowser.yamldocker/tools/searxng/searxng.yamldocs/PRPs/containers/act-runner.mddocs/PRPs/containers/mongodb.md
💤 Files with no reviewable changes (3)
- docker/storage/filebrowser/filebrowser.yaml
- docker/storage/filebrowser/config/settings.json
- docker/infra/unifi-controller/unifi-controller.yaml
cd1906e to
cc8a5d0
Compare
434f207 to
6c54592
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 `@docs/PRPs/containers/mongodb.md`:
- Around line 17-28: Update the MongoDB service configuration in the YAML
example to replace the hardcoded root password with a clearly marked placeholder
and bind the published port to 127.0.0.1, or remove the ports mapping if
external access is unnecessary. Keep the existing service and volume
configuration unchanged.
🪄 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: f04791e5-3879-4d1f-acfb-21e544fe5808
📒 Files selected for processing (27)
.pre-commit-config.yamlTaskfile.yamlconfig-example/docker/myhost/.envconfig-example/dotfiles/README.mddocker/ai/litellm/config/config.yamldocker/ai/litellm/litellm.yamldocker/ai/ollama/ollama-amdgpu.yamldocker/automation/n8n/n8n.yamldocker/dashboard/homepage/config/services.yamldocker/database/mongodb/config/initdb/.gitkeepdocker/database/mongodb/mongodb.yamldocker/database/mssql-server/mssql-server.yamldocker/database/postgresql/postgresql.yamldocker/dev/act-runner/act-runner.yamldocker/dev/act-runner/config/config.yamldocker/dev/jupyter-notebook/jupyter-notebook.yamldocker/dev/supabase/supabase.yamldocker/fileshare/qbittorrent/qbittorrent.yamldocker/infra/unifi-controller/unifi-controller.yamldocker/infra/unifi-network-application/unifi-network-application.yamldocker/security/authelia/authelia.yamldocker/storage/bees/bees.yamldocker/storage/filebrowser/config/settings.jsondocker/storage/filebrowser/filebrowser.yamldocker/tools/searxng/searxng.yamldocs/PRPs/containers/act-runner.mddocs/PRPs/containers/mongodb.md
💤 Files with no reviewable changes (3)
- docker/storage/filebrowser/filebrowser.yaml
- docker/storage/filebrowser/config/settings.json
- docker/infra/unifi-controller/unifi-controller.yaml
✅ Files skipped from review due to trivial changes (5)
- docker/storage/bees/bees.yaml
- docker/dev/act-runner/config/config.yaml
- docker/fileshare/qbittorrent/qbittorrent.yaml
- config-example/dotfiles/README.md
- docker/dashboard/homepage/config/services.yaml
🚧 Files skipped from review as they are similar to previous changes (15)
- docker/security/authelia/authelia.yaml
- docker/dev/jupyter-notebook/jupyter-notebook.yaml
- docker/ai/litellm/litellm.yaml
- docker/database/mongodb/mongodb.yaml
- .pre-commit-config.yaml
- docker/ai/litellm/config/config.yaml
- docker/database/mssql-server/mssql-server.yaml
- docker/ai/ollama/ollama-amdgpu.yaml
- docker/infra/unifi-network-application/unifi-network-application.yaml
- docker/dev/act-runner/act-runner.yaml
- docker/dev/supabase/supabase.yaml
- Taskfile.yaml
- docker/automation/n8n/n8n.yaml
- docker/database/postgresql/postgresql.yaml
- docker/tools/searxng/searxng.yaml
Commits in this PR
Summary by CodeRabbit
.venvcleanup via a newclean-venvstask.