Self-Hosting Elixium
Run the entire Elixium stack on your own infrastructure. Deploy via Docker Compose or Kubernetes with a single configuration flag. Built for air-gapped environments, compliance requirements, and total data sovereignty.
Docker & Kubernetes
Deploy with Docker Compose or Kustomize manifests
Air-Gapped Ready
Full offline operation with Ed25519 license validation
Multi-Cloud
Pre-configured bundles for AWS, GCP, and Azure
Deployment guides are in your Command Center
Self-hosted deployment docs, cloud-specific guides (AWS, GCP, Azure), update procedures, and infrastructure configuration are available from the Deployment tab in your Command Center. You'll also find deployment bundle generation, cost estimation, and license management there.
What's included
Local AI: Ollama or any OpenAI-compatible server
Self-hosted deployments can run Elixium's AI features entirely on-premises. By default, the backend talks to an Ollama server. Set AI_API_FORMAT=openai-compat to instead talk to any OpenAI-compatible server: same feature set, no capability expansion, just a different API format.
Compatible servers include: llama.cpp, vLLM, LiteLLM, oobabooga, LM Studio, and real OpenAI.
OLLAMA_HOST=http://ollama.internal:11434OLLAMA_MODEL=llama3
AI_API_FORMAT=openai-compatOLLAMA_HOST=https://api.openai.com # or your local endpointOLLAMA_MODEL=gpt-4o-mini # or your local modelAI_COMPAT_API_KEY=sk-your-key # optional; omit if server requires no auth
AI_API_FORMAT is a routing switch only; it does not change the AI feature set. Streaming, multi-turn memory, fallback providers, and per-request overrides remain out of scope on the self-hosted path.Story attachments: storage & upload transport
Files attached to stories are stored behind a provider abstraction selected by ATTACHMENT_PROVIDER_TYPE (local | s3 | gcs | azure). When unset, the backend selects s3 if MINIO_ENDPOINT is present (the docker-compose stack ships MinIO), otherwise local-fs, the zero-dependency air-gapped floor.
The provider determines the upload transport. Browsers upload differently depending on your storage backend:
| Provider | Upload transport | Air-gap |
|---|---|---|
locallocal-fs | Direct stream. Bytes flow through the backend to disk; no presigned URLs (there is no object server to sign for). | Fully air-gappedZero extra services; backend bandwidth carries uploads. |
s3MinIO / AWS S3 | Presigned PUT. The browser uploads to the object store directly with a short-lived URL. | Air-gapped with MinIOBrowsers must reach the MinIO endpoint. |
gcs / azureV4 signed URL / SAS URL | Presigned PUT. Cloud object storage with provider-signed URLs. | Cloud onlyNot an air-gapped path. |
ATTACHMENT_PROVIDER_TYPE=localATTACHMENT_LOCAL_DIR=/data/elixium-attachmentsATTACHMENT_MAX_BYTES=26214400 # optional per-file cap in bytes; default 25 MB
ATTACHMENT_PROVIDER_TYPE=s3ATTACHMENT_S3_BUCKET=elixium-uploadsATTACHMENT_MAX_BYTES=26214400 # optional per-file cap in bytes; default 25 MB
Attachment text extraction and excerpts run locally on the backend in every mode; no cloud document services. AI summaries (when configured) route through the same AI_PROVIDER switch as everything else.
Self-hosted deployment is available on the Self-Hosted Standard ($79/user/month, minimum 10 seats) and Enterprise & Government plans. View pricing