Skip to content

Service config - #367

Merged
bubacoder merged 15 commits into
mainfrom
service-config
Jul 11, 2026
Merged

Service config#367
bubacoder merged 15 commits into
mainfrom
service-config

Conversation

@bubacoder

@bubacoder bubacoder commented Jul 8, 2026

Copy link
Copy Markdown
Owner

Commits in this PR

  • Fix act-runner networking
  • Migrate to bind-mounted volumes (with initcontainer to fix permissions)
  • Add MongoDB and Gitea Runner (act_runner)
  • Move qBittorrent service from NAS
  • Migrate from Unifi-controller to UniFi Network Application
  • Add clean-venvs task
  • Move dotfiles to config (not yet used)
  • Remove unused Filebrowser service

Summary by CodeRabbit

  • New Features
    • Added deployment configs for MongoDB, Gitea Actions runner, UniFi Network Application, and Supabase database initialization.
  • Bug Fixes
    • Improved startup reliability by fixing persisted volume permissions and tightening service readiness for MongoDB, PostgreSQL, MSSQL Server, Supabase, and n8n; updated SearXNG/Valkey setup.
  • Documentation
    • Published/updated setup docs for the runner and MongoDB containers.
  • Chores
    • Removed UniFi Controller and Filebrowser deployments; refreshed dashboard visibility; updated images/configs; added .venv cleanup via a new clean-venvs task.

@coderabbitai

coderabbitai Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Walkthrough

This 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.

Changes

Infrastructure compose and configuration updates

Layer / File(s) Summary
Shared MongoDB service and UniFi integration
docker/database/mongodb/mongodb.yaml, docker/infra/unifi-network-application/unifi-network-application.yaml, docs/PRPs/containers/mongodb.md, config-example/docker/myhost/.env
Adds the shared MongoDB service and documentation, configures UniFi to use MongoDB, and adds the corresponding environment variables.
Permission-fix init containers and bind mounts
docker/database/postgresql/postgresql.yaml, docker/database/mssql-server/mssql-server.yaml, docker/automation/n8n/n8n.yaml, docker/dev/supabase/supabase.yaml
Adds BusyBox ownership-fix services, switches persistence to ${DOCKER_VOLUMES} bind mounts, and updates startup dependencies.
Act Runner service and documentation
docker/dev/act-runner/*, docs/PRPs/containers/act-runner.md, config-example/docker/myhost/.env
Adds the Gitea Actions runner service and configuration, registration token example, and deployment, caching, and security documentation.
Tool configuration and cleanup updates
docker/tools/searxng/searxng.yaml, docker/ai/ollama/ollama-amdgpu.yaml, docker/ai/litellm/*, docker/dev/jupyter-notebook/jupyter-notebook.yaml, docker/security/authelia/authelia.yaml, Taskfile.yaml, docker/dashboard/homepage/config/services.yaml, docker/fileshare/qbittorrent/qbittorrent.yaml, .pre-commit-config.yaml, config-example/dotfiles/README.md
Updates storage, capabilities, image tags, GPU settings, model configuration, dashboard configuration, proxy documentation, pre-commit exclusions, GNU Stow documentation, and virtual-environment cleanup.

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
Loading
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title is too generic and does not describe the specific service configuration changes in this PR. Rename it to a concise, specific summary of the main change, such as adding and updating infrastructure service configs.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch service-config

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🧹 Nitpick comments (1)
docker/automation/n8n/n8n.yaml (1)

39-39: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Consider renaming initContainer service to n8n-init for consistency.

All other init containers in this PR follow the <service>-init naming convention (mongodb-init, postgresql-init, mssql-server-init, n8n-postgres-init, db-init). The initContainer service name uses camelCase and breaks this pattern. The container_name is already n8n-init, so aligning the service name would improve consistency.

♻️ Optional rename
-  initContainer:
+  n8n-init:
     image: busybox:1.38.0
     container_name: n8n-init

Note: the depends_on reference on line 70 would also need updating from initContainer to n8n-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

📥 Commits

Reviewing files that changed from the base of the PR and between c62a449 and cd1906e.

📒 Files selected for processing (20)
  • Taskfile.yaml
  • config-example/docker/myhost/.env
  • config-example/dotfiles/README.md
  • docker/automation/n8n/n8n.yaml
  • docker/dashboard/homepage/config/services.yaml
  • docker/database/mongodb/config/initdb/.gitkeep
  • docker/database/mongodb/mongodb.yaml
  • docker/database/mssql-server/mssql-server.yaml
  • docker/database/postgresql/postgresql.yaml
  • docker/dev/act-runner/act-runner.yaml
  • docker/dev/act-runner/config/config.yaml
  • docker/dev/supabase/supabase.yaml
  • docker/fileshare/qbittorrent/qbittorrent.yaml
  • docker/infra/unifi-controller/unifi-controller.yaml
  • docker/infra/unifi-network-application/unifi-network-application.yaml
  • docker/storage/filebrowser/config/settings.json
  • docker/storage/filebrowser/filebrowser.yaml
  • docker/tools/searxng/searxng.yaml
  • docs/PRPs/containers/act-runner.md
  • docs/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

Comment thread config-example/docker/myhost/.env
Comment thread docker/database/mongodb/mongodb.yaml Outdated
Comment thread docs/PRPs/containers/act-runner.md

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 434f207 and 6c54592.

📒 Files selected for processing (27)
  • .pre-commit-config.yaml
  • Taskfile.yaml
  • config-example/docker/myhost/.env
  • config-example/dotfiles/README.md
  • docker/ai/litellm/config/config.yaml
  • docker/ai/litellm/litellm.yaml
  • docker/ai/ollama/ollama-amdgpu.yaml
  • docker/automation/n8n/n8n.yaml
  • docker/dashboard/homepage/config/services.yaml
  • docker/database/mongodb/config/initdb/.gitkeep
  • docker/database/mongodb/mongodb.yaml
  • docker/database/mssql-server/mssql-server.yaml
  • docker/database/postgresql/postgresql.yaml
  • docker/dev/act-runner/act-runner.yaml
  • docker/dev/act-runner/config/config.yaml
  • docker/dev/jupyter-notebook/jupyter-notebook.yaml
  • docker/dev/supabase/supabase.yaml
  • docker/fileshare/qbittorrent/qbittorrent.yaml
  • docker/infra/unifi-controller/unifi-controller.yaml
  • docker/infra/unifi-network-application/unifi-network-application.yaml
  • docker/security/authelia/authelia.yaml
  • docker/storage/bees/bees.yaml
  • docker/storage/filebrowser/config/settings.json
  • docker/storage/filebrowser/filebrowser.yaml
  • docker/tools/searxng/searxng.yaml
  • docs/PRPs/containers/act-runner.md
  • docs/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

Comment thread docs/PRPs/containers/mongodb.md
@bubacoder
bubacoder merged commit 311ceac into main Jul 11, 2026
4 checks passed
@bubacoder
bubacoder deleted the service-config branch July 11, 2026 10:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant