# The Alienist's Cabinet A theatrical Victorian diagnostic parlor. Visitors select fictional complaints of the mental faculties, bodily humours, spiritual condition, and modern habits. DeepInfra produces an invented diagnosis, harmless treatment, prognosis, and a period medical illustration. Diagnoses are stored in SQLite and receive durable, shareable permalinks; generated illustrations remain alongside the database in the persistent data volume. This is an entertainment project, not a medical tool. ## Configuration | Variable | Default | Purpose | |---|---|---| | `PORT` | `8080` | HTTP listen port | | `DATA_DIR` | `/data` | Persistent result and image storage | | `BASE_URL` | `https://alienist.build.vibecode.rodeo` | Canonical origin used for permalinks and sharing | | `DEEPINFRA_TOKEN` | empty | DeepInfra API token; empty enables demonstration mode | | `DEEPINFRA_TEXT_MODEL` | `deepseek-ai/DeepSeek-V3` | Structured diagnosis model | | `DEEPINFRA_IMAGE_MODEL` | `black-forest-labs/FLUX-1-schnell` | Illustration model | ## Local development ```bash mkdir -p data/results DATA_DIR="$PWD/data" DEEPINFRA_TOKEN=... go run ./cmd/alienist ``` Without `DEEPINFRA_TOKEN`, the complete flow works with a fixed demonstration diagnosis and placeholder illustration. ## Deployment Pushes to `main` run tests, build an OCI image in a Tangled Spindle microVM, and stream it to `157.245.173.122` over restricted SSH. The server runs the image as a Podman Quadlet and routes `alienist.build.vibecode.rodeo` through Caddy. The Tangled repository requires a configured Spindle and the repository secret `DEPLOY_SSH_KEY`. Runtime secrets live only on the server in `/etc/vibecode/secrets/alienist.env`. See `~/projects/BUILD_DEPLOY.md` for infrastructure operations.