Follows the homelab pattern: ironicbadger.docker_compose_generator v2 renders services/<host>/NN-<stack>/compose.yml templates into ~/docker/compose.yaml on the host. - 01-vllm: chat model, fixed --gpu-memory-utilization - 02-embeddings: second vLLM instance (--task embed) rather than a separate toolchain, so SM120 support only has to be solved once - 03-openwebui: Open WebUI + pgvector (not chroma — corpus size) - 99-network: shared bridge; leading comment keeps networks: top-level - pin docker_compose_generator to 2.0.1 — galaxy tags mix v1/v2 formats - group_vars: stack config incl. LDAP placeholders still to be filled The role only writes the compose file; starting the stack stays manual. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Ansible
Global configuration for all Phytron servers. Run everything from this directory, preferably via just.
Layout
hosts.ini— inventory; one group per host (phy_z_*), host aliases match the real hostnamesgroup_vars/all.yml— defaults for all hosts;group_vars/<group>.ymlholds per-host overrides onlygroup_vars/secrets.yml— ansible-vault encrypted secretsrun.yml— main playbook;playbooks/— utilities (update.yml)roles/— custom roles; external roles come fromrequirements.yml
Usage
just reqs # install Galaxy role requirements
just run <HOST> [ARGS] # run run.yml against one host, e.g. just run phy_z_srv_cloud
just compose <HOST> # docker compose tasks only (--tags compose)
just vault edit # edit encrypted secrets (encrypt/decrypt/edit)