Skip to main content
This page lists every runtime and external service Aperium relies on, marked as required or optional. Once you’ve decided what to run, see Environment variables for the exact settings that wire each one up.

Runtimes

  • Python >=3.12,<3.15 with the uv package manager. Used to run the backend.
  • Node.js 20 or newer with the pnpm package manager. Used to build and serve the frontend.
  • Docker / OCI runtime. All production deployments ship as container images.
Aperium ships as two images. The backend is a single multi-stage image that serves the API, worker, embeddings, and migrations from one build (it exposes ports 8010, 8090, and 8091, with models baked in for offline operation). The frontend is a separate image built from the UI workspace and served behind its own web server. Deploy both together.
Orchestration runs on Temporal. Production has fully moved to Temporal for background jobs, scheduled tasks, and document workflows. The bundled reference-infra deployment package still provisions Prefect — it predates the cutover — so the Prefect steps in the GCP pages below are legacy and pending an infra update. Deploy Temporal for orchestration; treat the Prefect scaffold as transitional.

Core services

These are required for any production deployment. These aren’t strictly required to boot the app, but production deployments should plan to run them.

Optional services

Each of these gates a specific feature. Skip the ones you don’t need.

Production prerequisites (GCP)

If you’re running the supported production deployment on Google Cloud, you also need:
  • A GCP project for the shared apps environment.
  • A Terraform Cloud / HCP Terraform organization and workspaces.
  • Authority to delegate the parent DNS zone to the managed apps.YOUR_DOMAIN subdomain.
  • A GitHub App that ArgoCD can use for repository access (App ID, installation ID, and private key).
For the full prerequisite list, see GCP prerequisites.

Where to set everything

Once you have the services running, point Aperium at them through env vars. Every variable is documented on the Environment variables page, grouped to match the sections above.
CPU, memory, and disk sizing: to be confirmed. Concrete minimum resource recommendations for the backend, frontend, and supporting services are not yet validated. Verify against your own load testing before sizing a production cluster.