Introduces a new Nomad job definition (`newt.nomad`) to deploy the `newt` agent as a managed service within the Homelab environment.
This job configures a single `newt-agent` task using the `fosrl/newt:latest` Podman image. The agent is set up with specific environment variables for endpoint, ID, and secret, enabling it to connect to the Pangolin service and establish network connectivity. Resource limits for CPU and memory are also defined.
Moves DNS server and search domain configuration from task `config` blocks to the job/group `network` blocks for `ai-frontend` (OpenWebUI) and `lobechat`.
This refactoring centralizes DNS settings for all tasks within a Nomad job or group, ensuring consistent DNS resolution and aligning with recommended Nomad configuration patterns.
Corrected the LobeChat service health check path from `/api/health` to `/` as the root endpoint is the correct health indicator. This resolves an issue where the service was not being properly marked as healthy by Nomad.
Additionally, this commit refactors comments across both `ai-frontend` (OpenWebUI) and `lobechat` jobs within the `ai-frontend.nomad` file. Redundant or outdated comments regarding DNS "reverts," version pinning, and security notes have been removed or simplified to improve readability and reflect the stable state of the configurations. The Consul DNS configuration is now consistently marked as a "DNS Fix" rather than a temporary solution.
This commit addresses service discovery issues by explicitly configuring Consul DNS for the `openwebui` and `lobechat` tasks within the `ai-frontend` job.
Previously, services were unable to reliably resolve `ollama.service.consul`. This is resolved by:
* Setting `dns_servers` to the Consul server IP (`192.168.1.133`).
* Setting `dns_search` to `service.consul`.
* Reverting `OLLAMA_BASE_URL` and `OLLAMA_PROXY_URL` environment variables to use `ollama.service.consul` as intended.
* The `lobechat` task's image is now pinned to `v1.143.0` for improved stability.
* Removed outdated comments regarding host pinning.
Updates the hostname constraint in the `ai-frontend` Nomad job from `hp-mini-1` to `hp1-home` for both `openwebui` and `lobechat` tasks. This correction ensures the services are pinned to the accurate target host.
Removed outdated `FIXED:` comments for cleanup.
* Reformatted the `resources` block for the `openwebui` group to a multi-line format to resolve an illegal semicolon syntax issue.
* Added explicit comments to both `openwebui` and `lobechat` groups to clarify the host pinning constraint.
* Streamlined comments in the `lobechat` group's `resources` block to concisely state the memory allocation, removing outdated "fix" comments and adding a current "FIXED" comment.
These changes enhance the readability, maintainability, and correctness of the Nomad job definition.
This commit addresses several issues and updates in the `ai-frontend.nomad` job configuration:
- **LobeChat OOM Fix**: Increased `lobechat` service memory allocation from 512MB to 1024MB to prevent out-of-memory crashes and improve stability.
- **Node Constraint Update**: Updated the `attr.unique.hostname` constraint for both `openwebui` and `lobechat` groups from `hp1-home` to `hp-mini-1` to reflect the correct node hostname.
- **Static Port Assignment**: Explicitly added `static` port definitions for `http` in both `openwebui` (8080) and `lobechat` (3210) services to ensure consistent port binding.
- **Minor Housekeeping**: Cleaned up comments and formatted resource blocks for better readability.