Install
Three supported paths: curl pipe, manual docker compose, or one-click Render Blueprint.
Option A — curl pipe (recommended)
curl -fsSL install.openbitum.pw | bash
Flags:
| Flag | Effect |
|---|---|
| -y, --yes | non-interactive — reads everything from env, no prompts |
| --dry-run | print every command that would run, change nothing |
Useful environment overrides:
| Var | Default | Note |
|---|---|---|
| OPENBITUM_REF | main | git ref to check out |
| OPENBITUM_DIR | /opt/openbitum or ~/openbitum | install dir |
| OPENBITUM_DOMAIN | (prompted) | public domain |
| OPENBITUM_ADMIN_EMAIL | (prompted) | seeds Logto + Bitcart admin |
| BITCART_ADMIN_PASSWORD | random | Bitcart admin bootstrap |
| GITHUB_PAT | empty | enables GitHub entitlement |
| DISCORD_BOT_TOKEN | empty | enables Discord entitlement |
The script is POSIX-ish bash with set -euo pipefail. It only writes inside the
install dir and is safe to re-run — it will not overwrite an existing .env.
Option B — manual docker compose
git clone https://github.com/openbitum/openbitum
cd openbitum
cp .env.example .env
# edit .env: set OPENBITUM_DOMAIN, POSTGRES_PASSWORD, LOGTO_ADMIN_*,
# MINIO_ROOT_PASSWORD, BITCART_ADMIN_PASSWORD, GLUE_*_SECRET
docker compose pull
docker compose up -d
docker compose ps # all services healthy
Open https://<your-domain>/setup to finish onboarding.
Option C — Render Blueprint
render.yaml at the repo root provisions Postgres, KeyValue (Redis), Logto, Bitcart,
glue, and web in one click:
After first deploy you'll need to set the two *_ENDPOINT env vars on the Logto service
and BITCART_HOST on the Bitcart service to the auto-assigned *.onrender.com URLs (the
Blueprint marks them sync: false).
Upgrades
cd /opt/openbitum
scripts/upgrade.sh
The upgrade script: takes a backup → git pull → docker compose pull → rolling restart
of app containers with --no-recreate for data containers (Postgres, Redis, MinIO,
bitcart-btc). If the post-upgrade boot fails, you get rollback instructions referencing
the previous SHA and the freshest backup in backups/.
Backups
scripts/backup.sh # → backups/openbitum-YYYY-MM-DD-HHMM.tar.gz
scripts/restore.sh backups/openbitum-2026-05-11-1900.tar.gz
The archive contains: openbitum.sql, logto.sql, bitcart.sql (pg_dump
--clean --if-exists), minio.tar.gz (raw volume), and infrastructure.tar.gz
(Caddyfile + bitcart configs).