Self-host Glossia
Install Glossia on your own Kubernetes cluster with the bundled Helm chart, so your team runs the language OS on its own infrastructure.
Glossia is open source under the O'Saasy License. You can self-host it, modify it, and run it for your organization's internal use. The one thing the license does not permit is offering it to third parties as a hosted or SaaS product that competes with the hosted service at glossia.ai.
This guide gets you from an empty Kubernetes cluster to a running Glossia instance.
Before you start
You'll need:
- A Kubernetes cluster you can install Helm charts on (v1.28 or newer)
helmandkubectllocally- A domain you can point at the cluster ingress
- An OpenID Connect provider or SMTP relay for authentication (Glossia supports both)
The Helm chart bundles Postgres (via CloudNativePG) and ClickHouse (via the official operator) so you don't need external databases. If you'd rather bring your own, both can be disabled in values.yaml.
Install the operators
Install whichever operators match the components you plan to enable. At minimum:
- CloudNativePG operator for the app database
- ClickHouse Kubernetes operator for the analytics database
- An ingress controller (for example ingress-nginx)
- cert-manager if you want automatic TLS
Install the Glossia chart
Clone the repository, then install the chart:
git clone https://github.com/glossia/glossia.git
cd glossia
helm install glossia ./deploy/helm/glossia \
--namespace glossia --create-namespace \
--set image.tag=main \
--set ingress.enabled=true \
--set ingress.hosts[0].host=glossia.example.com
Provide the app secrets
Create a Kubernetes Secret named glossia-app-env with at least these keys:
| Key | Purpose |
|---|---|
GLOSSIA_SECRET_KEY_BASE |
Phoenix session signing key |
GLOSSIA_METRICS_BEARER_TOKEN |
Bearer token guarding /metrics |
GLOSSIA_OPS_AUTH_PASSWORD |
Basic-auth for /ops dashboards |
RELEASE_COOKIE |
Erlang distribution cookie shared by every pod |
GLOSSIA_SMTP_* |
Outbound email settings |
You can provision these directly, use Sealed Secrets, or wire the chart to your secret manager via the External Secrets Operator integration described in the chart README.
What lives in the chart
- The Glossia web application
- Postgres for application data (optional, on by default)
- ClickHouse for analytics (optional, on by default)
- Background workers for translation jobs, which run as Kubernetes Jobs so they outlive rolling deploys
Where to go next
- The Helm chart README has the full reference for every value, plus notes on backups, object storage, and observability.
- Configure a model provider once the instance is running so translations can call an LLM.
- Report issues or suggest improvements at the GitHub repository.