Skip to content

BuildNot yet confirmed elsewhere1 publisher2 min readPublished

npm run backup covers two payloads; the rest of a Hubs restore lives in your notes

Hubs Community Edition's bundled scripts archive the Postgres dump and the Reticulum file store. Everything between a bare host and a serving room is a rebuild you perform by hand.

The Engineer · Build desk

How we use AISend a correction

Illustration accompanying npm run backup covers two payloads; the rest of a Hubs restore lives in your notes
Generated illustration

What happened

  • The bundled Hubs Community Edition scripts archive two things: the PostgreSQL database and the Reticulum file store with its GLB scenes, avatars, thumbnails and room media.
  • hcce.yaml, TLS material, DNS records, Kubernetes state and object storage credentials are not in the archive.
  • The archive is a data snapshot rather than a running system image, so a restore always lands on a freshly installed instance.
  • Point Hubs at an external database rather than the bundled Postgres pod and the scripts quietly back up the Reticulum files alone.
  • The author's recommendation is to treat restore as a fresh install plus a data load, and to time it once instead of guessing.

Why it matters

  • constraint The number your users ask about is rebuild time plus load time, and only the load has a command behind it, so the figure lives in an operator's notes rather than in the repository.
  • cost A studio pays for its own asset library in outage minutes: the file store and disk throughput set the clock while the database portion stays cheap.
  • exposure Anyone on managed Postgres is holding two recovery points that no script reconciles, and whatever falls between them is loss nobody agreed to.
  • decision Multi-client hosts now have to choose per instance archives with config and secrets stored alongside, or accept that one client's request pulls in the whole cluster.

The two payloads are two halves of one object. The database dump is the record of every room: its title, its permissions, its owner account, its scene assignment and the metadata rows that point at uploaded files, and if you lose it the GLB files are still sitting on disk without belonging to any room [9]. That interlock is a good reason for the scripts to exist. It is also the entire scope of what they hand you, a single timestamped archive in the `data_backup_1234567890123` pattern holding those two payloads and nothing else [8].

Count the inventory instead of reading the feature list. Of the seven categories of state the write-up names around a working instance, the archive owns two and the operator owns five [14]. That ratio is the article's real finding, and the author states the consequence directly: `npm run restore-backup` is the last step of a disaster recovery plan rather than the plan, and every step ahead of it is a rebuild you have to perform from your own notes [6].

Watch where the advice lands for the simplest deployment. A lecturer running one instance on one VPS is told to keep the built-in backup and add a nightly filesystem snapshot of the node, because the recovery target is the whole box rather than a selective extraction [17]. The snapshot is what carries the five categories the archive leaves behind. For the easiest case, in other words, the recommended primary artifact is an image of the machine, and the scripts ride on top of it.

The migration case shows what the rebuild actually contains. Move to a new provider or a new client domain and room URLs, the Reticulum host configuration and certificate issuance all have to be corrected before anyone can join a room, which is why the write-up says to rehearse the whole thing on a scratch host first [15]. None of that is a data-load problem, and none of it is timed by the tooling.

The tradeoff is put plainly in the source: the scripts are simple and they cover the data that matters, on the assumption that you can reconstruct the surrounding installation by hand, so effort saved at backup time is effort repaid, under pressure, at restore time [12]. The half of the procedure with a command attached is the half already documented. The half that decides how long your rooms are dark is the one sitting in somebody's notes, unversioned and untimed.

What to watch

  • Whether upstream extends the scripts to capture hcce.yaml and cluster state, which would move the rebuild inside the tooling instead of the notes.
  • Anyone publishing a measured end to end restore time against a stated file store size and disk throughput, which is the number currently missing.
  • Whether a documented procedure appears for reconciling a managed database's point in time recovery timestamp with the file store archive.

Clarity's read

What the record supports and how the coverage leans. The claims behind it follow.

Reality

Evidence30
Adoption
Insufficient
Hype gap+5
Incentives60
Confidence38
Why these scores

Claim ledger

Ranked by verification strength, evidence, and original report placement.

  1. [1]

    The Reticulum file store is the part of the archive that grows without limit and dominates archive size.

  2. [2]

    For a studio with hundreds of client uploaded GLB files, the write-up says to budget the restore window from file store size and disk throughput, because the database restores quickly and the assets dominate the clock.

  3. [3]

    The bundled scripts in Hubs Community Edition back up two things: the PostgreSQL database and the Reticulum file store that holds uploaded GLB scenes, avatars, thumbnails and room media.

    ReportedSupportedView cited source

Sources

1 independent publisher whose own reporting we read for this story.

  1. dev.to

    1 article · August 22, 2026

    Hubs Community Edition backup and restore: what npm run backup captures, what it misses, and how long recovery takes

Share your take

Let Clarity write the post for you.

Signed-in readers get a short post drafted on this story in the register they choose — narrative, analytical, or a direct position — editable to the last word before it goes anywhere. The share buttons at the top of this story work without an account.

Topics and entities

Follow any of these and your For You feed starts watching them — no settings page required.

Topics

Loading related stories