Prerequisites
- PostgreSQL 18 with the
pgmqextension available. The migrations runCREATE EXTENSION pgmq. Meteroid publishes PostgreSQL images that include it:ghcr.io/meteroid-oss/meteroid-postgres:18.3-cnpgfor CloudNativePG andghcr.io/meteroid-oss/meteroid-postgres:18.3-standard. - Kafka. The chart’s defaults expect SASL/SCRAM-SHA-512 authentication (
global.kafka.*). Create themeteroid-events-rawtopic, unless your brokers create topics automatically. - ClickHouse with Keeper (or ZooKeeper). The migrations create
Replicated*MergeTreetablesON CLUSTERthe cluster named inglobal.clickhouse.clusterName, and the ClickHouse user needs thenamed_collection_controlprivilege. - S3-compatible object storage (
global.objectStore.*). - Traefik, for the
IngressRoutes the chart creates by default. With another ingress controller, setingress.useIngressRoute: falseto get a standardIngress.
global.redis.url), which shares rate limits and caches across replicas, and an
SMTP server (global.smtp.*).
Install
1
Write your values
Create a Generate
values.yaml with at least the URLs, hosts, secrets and service addresses of your
installation (see Values to set):values.yaml
jwtPrivateKey and internalApiSecret with openssl rand -hex 32, and
secretsCryptkey with openssl rand -hex 16.2
Install the chart
2.0.0 runs the 2.0.0 images. Releases are listed on the
package page.publicAppUrl and sign up: the first account creates the
organization.
Values to set
See the chart’svalues.yaml for every value. The ones most installations set:
The components are
api, worker, metering and web.
Secret keys
When you provide your own Secret withglobal.secrets.existingSecretName, the chart reads these
keys from it:
License
The chart runs the official images, which are free without a license (see Editions). You can activate a license online from Settings → License in the app, with no change to your values.Telemetry
The installation sends one anonymous report a day. To turn it off:values.yaml
Upgrade
Back up the database, then upgrade the release to the new chart version:image.tag values unset, so the chart version alone decides what runs. Until the last
old pod is replaced, the old pods may fail some requests against the new schema.
Coming from an earlier public release? Read Upgrading to 2.0
first: the chart changed.