Updating Made Open
Made Open treats updates as opt-in. A fresh install never contacts any Made Open server. If you want to receive update notifications, enable them explicitly.
Enable update checks
Set these in your .env:
UPDATE_CHECK_ENABLED=1
UPDATE_CHANNEL=stable
Restart the hub. Once per week the hub will fetch https://releases.made-open.org/manifest.json, verify its Ed25519 signature, and surface a notification in the web UI if a newer release is available.
Channels
| Channel | Behaviour |
|---|---|
stable | Fully tested releases. Migrations auto-apply after snapshot. |
beta | Release candidates. Updates halt and require manual migrate confirmation. |
edge | Latest main-branch builds. Same as beta. |
Change channel with made-open channel set <name> (when the CLI is installed — see plan 5).
Applying an update
Web UI: Click "Update available" → "Apply update". Confirm.
REST (curl):
curl -X POST https://api.example.com/updates/apply \
-H "Content-Type: application/json" \
-d '{"version": "1.5.0"}'
The update runs in the background. Poll GET /updates/status for progress.
Rollback
If a verify step fails, the runner auto-rolls back. If you need to roll back a successful update manually, use the made-open rollback CLI (plan 5).
Privacy
UPDATE_CHECK_ENABLED=0means the hub never contacts the manifest URL.- When enabled, the only network request is a plain
GETwithAccept: application/json. No install ID, no version, no telemetry. - Point
UPDATE_MANIFEST_URLat a mirror you control for full sovereignty.
Installing the CLI
Download the binary for your platform from the latest release, then:
# Linux / macOS
curl -L https://github.com/drdropout/made-open/releases/latest/download/made-open-linux-x64 -o /usr/local/bin/made-open
chmod +x /usr/local/bin/made-open
# Verify
made-open update check
Configure by writing ~/.made-open/config.json:
{
"hubUrl": "https://api.example.com",
"authToken": "<your token>",
"channel": "stable"
}