PRODUCTION · OFFSITE DATABASE BACKUP

A second, independent path to disaster recovery.

PgBackWeb is a self-hosted backup UI — Railway's official template around the published Docker image — giving Atlas DB a second, independent backup path to S3. It exists specifically to survive a Railway-side incident, not to replace Railway's own native volume backups.

Daily schedule · 365-day retention Cloudflare Access (Entra SSO) GitHub ↗
COMPONENTS
01 · Independent Backup Path
🗄️
Internal · Ops
A second path, on purpose

Atlas DB already has native Railway volume backups. This adds a deliberately separate path to S3 — its own Railway service, its own small Postgres for config, so a Railway-side incident can't take out both copies at once.

Runs on eduardolat/pgbackweb, Railway template
Storage Dedicated S3 bucket, versioned
Schedule Daily, America/Chicago (auto DST)
Retention 365 days, current + noncurrent versions
Internal service · access-gated
02 · Least-Privilege Access
🔐
Internal · Ops
Never the admin connection string

Every database gets a dedicated, read-only role created specifically for backups — not the admin credentials used elsewhere. On the S3 side, a single IAM policy scopes access to exactly one bucket, nothing broader.

DB role Read-only, SELECT-only, no admin attrs
Scope Full schema + data — DR needs everything
S3 access Inline policy, scoped to one bucket
Gate Cloudflare Access (Entra SSO) in front of login
Internal service · access-gated
03 · Verified, Not Assumed
Internal · Verification
A "success" label isn't proof

Every table in the source database's schema was confirmed present in the dump, and a sample table's row count and contents were spot-checked against production — not just a trusted status message. New databases reuse the same bucket and policy; only a new subfolder is configured.

Coverage Every table confirmed present in dump
Spot-check Row count + real data confirmed, not empty
Restore Self-contained schema + data artifact
Next DB Same bucket/policy, new subfolder only
Internal service · access-gated
Runtime
PgBackWeb (Docker) Railway template
Storage
AWS S3 Versioned Lifecycle rules
Data Source
Postgres 18 Read-only role
Access
Cloudflare Access Entra ID SSO

PgBackWeb is an internal disaster-recovery safeguard — not a public product. Documentation-only repo; the service itself runs from a published Docker image on Railway.