Install
1
Get the deployment files
The files live in
docker/deploy of the
meteroid-oss/meteroid repository:
docker-compose.yml, .env.example, and the ClickHouse configuration under volume/.
Check out the tag of the release you run, so the files match it:2
Set the secrets
Replace the four placeholder secrets in
.env before the first start:DATABASE_PASSWORD is inserted into the database URL, so a hexadecimal value avoids
characters that would need escaping.3
Set the public URLs
The browser talks to the API directly, so the web app needs the addresses at which your
users reach it. The defaults work when you open Meteroid on the same machine:On a server, replace
.env
localhost with its address or domain name. METEROID_PUBLIC_URL is
the address of the web app, used in links Meteroid generates (emails, portal and checkout
links). The API and the worker also take the REST API’s public URL from
VITE_METEROID_REST_API_EXTERNAL_URL, for file links and the OAuth and SSO callbacks.4
Start Meteroid
docker compose logs -f meteroid-api.5
Create the first account
Open http://localhost:3000 and sign up: the first account creates
the organization. When SMTP is configured, a new account must first confirm its email
address.
Services and ports
The Compose file publishes the database and broker ports on the host as well. On a machine
reachable from the internet, restrict them with a firewall, or remove their
ports: entries.
Configure optional settings
Compose passes to each container only the variables listed under itsenvironment: in
docker-compose.yml; a variable that is only in .env is not seen by Meteroid. Optional
settings (S3 storage, Redis, SMTP, Google sign-in, outbound webhooks, OpenTelemetry) are listed
there, commented
out. To use one, uncomment its lines in both meteroid-api and meteroid-worker, then set the
values in .env. For a setting that is not listed, such as LICENSE_KEY, add a line to the
environment: of both services.
To turn off the anonymous telemetry report, uncomment
METEROID_TELEMETRY=off in the same two services.
See the configuration reference for every setting.
With the default file:// object storage, the API and the worker share the object_store_data
volume.
Update Meteroid
Back up the database first: an upgrade cannot be undone except by restoring a backup. Takedocker/deploy from the tag of the new release if its files changed, reapply your
changes to docker-compose.yml, then:
latest, so docker compose pull takes the newest release. To stay on one
release, set METEROID_VERSION in .env, for example 2.0.0, and change it when you upgrade.
Coming from a 1.0.0 release candidate, 0.19 or an older build? Follow
Upgrading to 2.0 instead.
Backups
The data lives in these volumes:docker compose down -v deletes these volumes, and your data with them.
Back up PostgreSQL with pg_dump, for example:
.env (DATABASE_USER, DATABASE_NAME) if you
changed them. Store the dump, and your .env, away from the machine.