Wraps the existing manually-run Vikunja instance on PIHA in the standard service layout. No deploy — definition only, for review. - services/vikunja/: docker-compose.yml (vikunja + postgres:16-alpine), service.yaml, README, healthcheck, config.yml (OIDC, secret-free), .env.example. Real .env stays gitignored. - Pins EXISTING named volumes (vikunja_vikunja_db, vikunja_vikunja_files) so DB + uploaded files survive cutover. - extra_hosts forgejo.okit.pl=192.168.31.5 (npm on PIHA) so OIDC discovery resolves over LAN instead of flaky public DNS. - OIDC client secret injected via env (VIKUNJA_AUTH_OPENID_PROVIDERS_ FORGEJO_CLIENTSECRET); config.yml keeps trailing-slash authurl/redirecturl. - Registers vikunja in hosts/piha/services.yaml + inventory/topology.yaml, plus hosts/piha/runtime/vikunja override (advisory mem_limits). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
60 lines
1.6 KiB
YAML
60 lines
1.6 KiB
YAML
host: piha
|
|
|
|
services:
|
|
ha-diag-agent:
|
|
role: ha-diagnostic-agent
|
|
deployment_model: docker-compose
|
|
exposure: local-only
|
|
offline_required: false
|
|
depends_on:
|
|
local: []
|
|
external: [homeassistant]
|
|
config:
|
|
target_url: http://localhost:8123
|
|
location_tag: "ken"
|
|
events_dir: /opt/homelab/events/piha
|
|
runtime:
|
|
config_path: /opt/homelab/config/ha-diag-agent
|
|
data_path: /var/lib/ha-diag-agent
|
|
|
|
node-agent:
|
|
role: node-stability-monitor
|
|
deployment_model: docker-compose
|
|
exposure: local-only
|
|
offline_required: true
|
|
depends_on:
|
|
local: []
|
|
external: []
|
|
runtime:
|
|
config_path: /opt/homelab/config/node-agent
|
|
data_path: /opt/homelab/state
|
|
logs_path: /opt/homelab/events
|
|
|
|
brain-watchdog:
|
|
role: control-plane-watchdog
|
|
deployment_model: docker-compose
|
|
exposure: private
|
|
offline_required: false
|
|
depends_on:
|
|
local: []
|
|
external: [control-plane]
|
|
runtime:
|
|
config_path: /opt/homelab/config/brain-watchdog
|
|
|
|
vikunja:
|
|
role: task-management
|
|
deployment_model: docker-compose
|
|
exposure: private # public via npm reverse proxy at vikunja.okit.pl
|
|
offline_required: false
|
|
depends_on:
|
|
local: []
|
|
external: [forgejo] # OIDC identity provider
|
|
ports:
|
|
- name: http
|
|
container_port: 3456
|
|
protocol: tcp
|
|
runtime:
|
|
# secrets (.env) + OIDC config (config.yml) live alongside the compose file
|
|
config_path: services/vikunja
|
|
# data is in Docker named volumes: vikunja_vikunja_db, vikunja_vikunja_files
|