N3 Digital Ocean Server

Mixed host, split into three areas below: production (live customer traffic), staging (real customer data, no live traffic) and development (disposable). Separated at the docker-network level, not just by convention.

🔒 Login

Host health loading…

Aggregate host metrics, refreshed every 60 s.

■ Production area — live customer traffic

Isolated on the prod_edge docker network. No development container can resolve or reach anything here. Change deliberately.

Databases

None. Neither production site uses a database — showdir is file-backed, the QR redirector is config only. There is no production database on this host.

■ Staging area — real customer data, not live traffic

Serves no customers, but holds a full copy of production data. Treat the data as production even though the site is not.

Databases — container n3_swg_db, network swg_net
swg_appreal customer data — 122 accounts, 1.5M survey rows. What /app/ and the Android endpoints read.
swg_manifestreal customer data — 2.3 GB manifest/chart data. Not the swg_manifest in n3_mysql; different database, same name. That collision is why this instance exists.
swg_dbreal customer data — the old WordPress database. Nothing reads it any more; kept so PMPro history stays inspectable.

■ Development area — disposable

Shared n3_edge network, no production traffic. nginx resolves each of these per request, so one being down can no longer stop the proxy starting — which is how a crash-looping dev container took production down on 2026-08-24.

Databases — container n3_mysql, network n3_data
swg_manifestdev — the working development database. Absorbs new production data nightly.
swg_mirrorreal customer data — read-only mirror of production, wiped and reloaded nightly from the verified prod dump.
swg_testproderived from real — stand-in production for app testing, seeded from the mirror.
n3_ghl_appdev — GHL app data.

Browse either instance from phpMyAdmin (server dropdown) or Adminer. Credentials on the credentials page.

Cloned from traveler

Coming soon

Adding something? Put it in the right area. Production goes on prod_edge with a memory reservation and its own nginx conf file; development goes on n3_edge. Never use a literal proxy_pass. Full rules: environment split. Verify with /srv/scripts/check-env-split.sh.