Deploys Honcho (plastic-labs/honcho) as a rootful Podman + Quadlet service on the lincoln VM (10.1.71.132). Three containers on a user-defined network: - honcho-postgres pgvector/pgvector:pg16 - honcho-api FastAPI on :8000 - honcho-deriver background worker for theory-of-mind derivations LLM provider: Anthropic Claude (claude-sonnet-4-5). Switching providers is two env-var changes — see README. Traefik route hall-of-presidents.local.mk-labs.cloud -> lincoln:8000 added under boilerplates/traefik/dynamic/. JARVIS itself talks to Honcho directly at lincoln:8000 (east-west); the Traefik alias exists only for browser access to the Swagger /docs UI. Requires three new vault entries before first run: - vault_honcho_database_password - vault_honcho_jwt_secret - vault_honcho_anthropic_api_key
36 lines
1.1 KiB
Django/Jinja
36 lines
1.1 KiB
Django/Jinja
# {{ ansible_managed }}
|
|
# mk-labs pgvector-enabled PostgreSQL backing store for Honcho
|
|
# Managed by Ansible - honcho role
|
|
|
|
[Unit]
|
|
Description=PostgreSQL (pgvector) for Honcho
|
|
After=network-online.target
|
|
Wants=network-online.target
|
|
|
|
[Container]
|
|
Image={{ honcho_postgres_image }}
|
|
ContainerName={{ honcho_postgres_container_name }}
|
|
Network={{ honcho_network_name }}
|
|
|
|
# Persistent data on a named volume. :Z relabels for SELinux; harmless on
|
|
# Ubuntu's ext4/apparmor stack and portable to any future host.
|
|
Volume={{ honcho_postgres_volume }}:/var/lib/postgresql/data:Z
|
|
|
|
Environment=POSTGRES_USER={{ honcho_db_user }}
|
|
Environment=POSTGRES_DB={{ honcho_db_name }}
|
|
Environment=POSTGRES_PASSWORD={{ honcho_db_password }}
|
|
Environment=POSTGRES_INITDB_ARGS={{ honcho_postgres_initdb_args }}
|
|
|
|
# Healthcheck — systemd doesn't act on this, but it's useful diagnostically
|
|
HealthCmd=pg_isready -U {{ honcho_db_user }} -d {{ honcho_db_name }}
|
|
HealthInterval=10s
|
|
HealthTimeout=5s
|
|
HealthRetries=3
|
|
|
|
[Service]
|
|
Restart=always
|
|
TimeoutStartSec=120
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target default.target
|