This runbook describes local validation and local execution for the shared
Victus infrastructure runtime.
uvCommitted examples:
compose/env/core.env.example
compose/env/observability.env.example
compose/env/llm.env.example
Local runtime env files:
compose/projects/core/.env
compose/projects/observability/.env
compose/projects/llm/.env
Local .env files are not committed.
Run from the repository root:
make ansible-check
make compose-validate
make core-up
This workflow:
infra_shared_backend.core stack.docker compose \
--env-file compose/projects/core/.env \
-f compose/projects/core/compose.yml \
-f compose/projects/core/compose.dev.yml \
ps
make core-logs
make core-down
Start the stack:
make llm-up
Local endpoints:
LiteLLM http://127.0.0.1:4000
Langfuse http://127.0.0.1:3001
Postgres 127.0.0.1:55432
Production does not publish LiteLLM or Langfuse ports directly. Access goes
through private NGINX on the Tailscale IP.
Private DNS endpoints:
LiteLLM http://litellm.victus.io
Langfuse http://langfuse.victus.io
Local NGINX aliases:
LiteLLM http://litellm.localhost:8080
Langfuse http://langfuse.localhost:8080
When using the NGINX aliases, set:
LANGFUSE_NEXTAUTH_URL=http://langfuse.localhost:8080
Production must use the private NGINX URL:
LANGFUSE_NEXTAUTH_URL=http://langfuse.victus.io
Provider API keys are added through the LiteLLM UI and persisted in the
LiteLLM Postgres database. They should not be committed to git.
cd ops/bridge
UV_PROJECT_ENVIRONMENT=/tmp/victus-bridge-uv-env uv run victus-ingest --help
Expected local bridge variables:
VICTUS_PG_DSN=postgresql://victus:<password>@pipeline-postgres:5432/victus_registry
VICTUS_REDIS_URL=redis://:<password>@redis:6379/0
VICTUS_S3_ENDPOINT=http://seaweedfs:8333
VICTUS_S3_ACCESS_KEY=<access-key>
VICTUS_S3_SECRET_KEY=<secret-key>
VICTUS_S3_BUCKET=victus-corpus
VICTUS_AWS_REGION=us-east-1
Expected variables from other hosts in the private network:
VICTUS_PG_DSN=postgresql://victus:<password>@pipeline-postgres.victus.io:5432/victus_registry
VICTUS_REDIS_URL=redis://:<password>@redis.victus.io:6379/0
VICTUS_S3_ENDPOINT=http://s3.victus.io