Vidal StudiosVidal Studios wordmark with a geometric V split into two parts.
Container estate · collation & organisation
generated 12 Nov 2026, 23:24 UTC
public report

110 containers across 3 environments

Every running, stopped and errored container on golden-eye, the NAS and the VPS, grouped by what it does and ranked by the uptime it needs. Snapshot taken with docker inspect on all three hosts; the classifier and the raw JSON ship with this page.

containers1103 hosts
running90
stopped / errored2019 exited
service groups7
T0 · revenue11client-facing
T3 · experiments21best-effort

Where everything runs

golden-eye (laptop, residential)

29 running
containers46
disk171G / 913G20%
RAM free4.3 GBof 7 GB
vCPU4up up 1 week, 5 days, 12 hours, 28 minutes

Demoted to experiments. 49 containers and 256 MB free this morning; now 33 running and 4.4 GB free.

games 12product 8infra 5client-wp 3client-static 1

NAS (DS220+, same house)

44 running
containers44
disk2.5T / 3.5T71%
RAM free9.0 GBof 17 GB
vCPU2up 12 days

Now the T0 host. Headroom in both directions: 1.1 TB disk, 9.2 GB RAM.

media 20business 15games 6client-wp 2infra 1

VPS srv1388017 (datacenter)

17 running
containers20
disk40G / 48G84%
RAM free2.4 GBof 4 GB
vCPU1up up 3 weeks, 4 days, 23 hours, 4 minutes

Always-on, in a datacenter, but 84% full on a single vCPU — prune before adding.

product 13infra 2business 2

What changed today

ChangeDetail
Purged 16 dead containersano, ano-val, autonomous, academy, temporal — code verified clean and pushed first, volumes tarred
Retired both moody-ranch stacksproduction verified by the client; DB dumps, wp-content tars and volume snapshots kept
Moved vidalstudios.com to the NASdatadir cloned, traefik routing, DNS switched; golden-eye copy stopped as rollback until 2026-11-19
Five static sites to Cloudflare Pagesarmored-frontier, nas-audit, scrapgame (+header-combo), scrap-overview, overkill — 6 ingress entries and 5 containers gone
Rebuilt monitoringGatus had two checks pointed at a dead VPS IP; now 22 endpoints, all healthy, Gotify alerts
Backups made realnightly dump + 14 days, weekly content snapshot, offsite copy on the VPS, monthly restore rehearsal — rehearsal passed 19/19 tables

Service groups

GroupTiersRunningHomes MembersWhere it belongs
Products
urPost, seed, Dustline, Aetherforge, tps-workbench, Foundry
T2·2121VPS 13 · golden-eye 8 aetherforge-api, aetherforge-db, aetherforge-web, dustline, last-flight-out-db-1, last-flight-out-web-1 +15VPS for always-on; Pages/Workers for static builds
Media
Plex, Jellyfin, the *arr stack, downloads, indexing
T2·2020NAS 20 bazarr, bazarr-anime, cleanuparr, deemix, flaresolverr, gluetun +14NAS — already correct, storage-bound
Games & experiments
Playable builds and one-off concepts
T3·1818golden-eye 12 · NAS 6 crimson-haven, fpswg-map, games-shatterfront, games-tiny-swords-game, games-tinytrack-server, ghostline-command +12golden-eye, best-effort — or Pages when static
Business operations
Invoicing, contracts, secrets, alerts, remote desktop
T1·1717NAS 15 · VPS 2 cf-ddns-nsystems, docuseal, docuseal-db, hbbr, hbbs, invoiceninja +11NAS — already correct, add offsite backup
Infrastructure
Tunnels, ingress, remote access, image build
T0·88golden-eye 5 · VPS 2 · NAS 1 cloudflared, cloudflared-shared-public, filebrowser, portainer, searxng, shot-service +2One connector per host it fronts
Client WordPress
WordPress installs serving client work
T0·2 T3·35golden-eye 3 · NAS 2 rore-prod-restore-db, rore-prod-restore-proxy, rore-prod-restore-wp, vidalstudios-db-1, vidalstudios-wordpress-1NAS for the live site; parked copies off the laptop
Client edge
Redirectors that front the client domains
T0·11golden-eye 1 vidal-redirectEdge rule (Redirect Rule) rather than a container

Uptime tiers

TierWhat it means
T0Revenue — a client or prospect sees the failure
T1Business operations — expensive, not client-visible
T2Should be reliable — tolerable for an hour
T3Experiment — best-effort by design
T4Not running — dead weight until proven otherwise

The rule that drives every placement decision: a service can only inherit the uptime of the host it runs on. The VPS is the only datacenter host; the NAS has the RAM and disk headroom but shares this house's power and ISP; golden-eye is a laptop and holds nothing a client depends on.

Full inventory

golden-eye (laptop, residential) — 46 containers (29 running)
NameImageStateGroupTier
pedantic_keplerinvoiceninja/invoiceninja:5.13.53createdbusinessT4
vidal-redirectnginx:alpinerunningclient-staticT0
moody-ranch-vsk-cliwordpress:cli-php8.3exitedclient-wpT4
rore-prod-restore-dbsha256:efb4959ef2c835cd735dbc388eb9ad6aab0c78drunningclient-wpT3
rore-prod-restore-proxysha256:65645c7bb6a0661892a8b03b89d0743208a18ddrunningclient-wpT3
rore-prod-restore-wpsha256:5d2c212561c4b5442ebc4d98933a9cbadcf3deerunningclient-wpT3
vidal-staging-cliwordpress:cli-php8.3exitedclient-wpT4
vidal-staging-dbmariadb:11exitedclient-wpT4
vidal-staging-wpwordpress:6-php8.3-apacheexitedclient-wpT4
vidalstudios-dbmariadb:11exitedclient-wpT4
vidalstudios-wpwordpress:6-php8.3-apacheexitedclient-wpT4
wp-plugin-dev-cliwordpress:cli-php8.3exitedclient-wpT4
wp-plugin-dev-dbmariadb:11exitedclient-wpT4
wp-plugin-dev-wpwordpress:6-php8.3-apacheexitedclient-wpT4
blender-mcpgolden-eye/blender-mcp:5.2.0exitedgamesT4
faster-whisperfaster-whisper-bench:localexitedgamesT4
fpswg-mapfpswg-map:latestrunninggamesT3
games-shatterfrontshatterfront:latestrunninggamesT3
games-tiny-swords-gametiny-swords-game:latestrunninggamesT3
games-tinytrack-servertinytrack-server-tinytrackrunninggamesT3
homarrghcr.io/homarr-labs/homarr:v1.72.0exitedgamesT4
mapforgemapforge:1.0.0runninggamesT3
mazeforge-gamemazeforge:2.2.1runninggamesT3
mazeforge-servermazeforge-server:2.2.1runninggamesT3
scrapscrap:latestrunninggamesT3
scrap-apiscrap-api:latestrunninggamesT3
secrets-of-crimson-havensecrets-of-crimson-haven:latestrunninggamesT3
space-formationskenney-mobile-demo-space-formationsrunninggamesT3
ten-bannersten-banners:2.0.1runninggamesT3
cloudflared-shared-publiccloudflare/cloudflared:latestrunninginfraT0
portainerportainer/portainer-ce:ltsrunninginfraT0
searxngsearxng/searxng:latestrunninginfraT0
shot-serviceshot-service:1.0.0runninginfraT0
tailnet-dnscoredns/coredns:latestrunninginfraT0
academy-reportnginx:1.27-alpineexitedproductT4
aetherforge-apighcr.io/stephenvidal/aetherforge/api:1.0.0runningproductT2
aetherforge-dbpostgres:16-alpinerunningproductT2
aetherforge-webghcr.io/stephenvidal/aetherforge/web:1.0.0runningproductT2
ano-dev-pgpostgres:16-alpineexitedproductT4
last-flight-out-db-1postgres:16.15-alpinerunningproductT2
last-flight-out-migrate-1last-flight-out:2026.11.07-4exitedproductT4
last-flight-out-web-1last-flight-out:2026.11.07-4runningproductT2
lfo-pg-testpostgres:16-alpineexitedproductT4
tps-workbenchtps-workbench:0.1.0runningproductT2
tps-workbench-apitps-workbench-api:0.1.0runningproductT2
tps-workbench-gamenode:22-alpinerunningproductT2
NAS (DS220+, same house) — 44 containers (44 running)
NameImageStateGroupTier
cf-ddns-nsystemsfavonia/cloudflare-ddns:latestrunningbusinessT1
docusealdocuseal/docuseal:latestrunningbusinessT1
docuseal-dbpostgres:18-alpinerunningbusinessT1
hbbrrustdesk/rustdesk-server:latestrunningbusinessT1
hbbsrustdesk/rustdesk-server:latestrunningbusinessT1
invoiceninjainvoiceninja/invoiceninja-debian:latestrunningbusinessT1
invoiceninja-dbmysql:8runningbusinessT1
invoiceninja-redisredis:alpinerunningbusinessT1
invoiceninja-webnginx:alpinerunningbusinessT1
nsystems-gatustwinproduction/gatusrunningbusinessT1
nsystems-gotifygotify/serverrunningbusinessT1
tak-elasticsearchdocker.elastic.co/elasticsearch/elasticsearch:runningbusinessT1
tak-redisredis:7-alpinerunningbusinessT1
traefiktraefik:v3runningbusinessT1
vaultwardenvaultwarden/server:latestrunningbusinessT1
vidalstudios-db-1mariadb:11runningclient-wpT0
vidalstudios-wordpress-1wordpress:6-php8.3-apacherunningclient-wpT0
crimson-havenf787d2269bb5runninggamesT3
ghostline-commandf787d2269bb5runninggamesT3
scrapline-compare024fb2fa7c75runninggamesT3
scrapline2scrapline2:productionrunninggamesT3
skybreaker-transformf787d2269bb5runninggamesT3
vault-tlsf787d2269bb5runninggamesT3
cloudflaredcloudflare/cloudflared:latestrunninginfraT0
bazarrlscr.io/linuxserver/bazarr:latestrunningmediaT2
bazarr-animelscr.io/linuxserver/bazarr:latestrunningmediaT2
cleanuparrghcr.io/cleanuparr/cleanuparr:latestrunningmediaT2
deemixregistry.gitlab.com/bockiii/deemix-docker:laterunningmediaT2
flaresolverrflaresolverr/flaresolverr:latestrunningmediaT2
gluetunqmcgaw/gluetun:latestrunningmediaT2
jellyfinlscr.io/linuxserver/jellyfin:latestrunningmediaT2
overseerrlscr.io/linuxserver/overseerr:latestrunningmediaT2
plexlscr.io/linuxserver/plex:latestrunningmediaT2
prowlarrlscr.io/linuxserver/prowlarr:latestrunningmediaT2
qbittorrentlscr.io/linuxserver/qbittorrent:latestrunningmediaT2
radarrlscr.io/linuxserver/radarr:latestrunningmediaT2
radarr-animelscr.io/linuxserver/radarr:latestrunningmediaT2
rdt-clientghcr.io/stephenvidal/debrid-fetch:latestrunningmediaT2
recyclarrghcr.io/recyclarr/recyclarr:latestrunningmediaT2
rutorrentghcr.io/crazy-max/rtorrent-rutorrent:latestrunningmediaT2
sonarrlscr.io/linuxserver/sonarr:latestrunningmediaT2
sonarr-animelscr.io/linuxserver/sonarr:latestrunningmediaT2
tubearchivist-kidsbbilly1/tubearchivist:latestrunningmediaT2
unpackerrgolift/unpackerr:latestrunningmediaT2
VPS srv1388017 (datacenter) — 20 containers (17 running)
NameImageStateGroupTier
rustdesk-hbbr-1rustdesk/rustdesk-server@sha256:10818ec05b1790runningbusinessT1
rustdesk-hbbs-1rustdesk/rustdesk-server@sha256:10818ec05b1790runningbusinessT1
filebrowserfilebrowser/filebrowser:latestrunninginfraT0
urpost-hub-staging-tunnel-1cloudflare/cloudflared:2026.9.3@sha256:072c067runninginfraT0
dustlineghcr.io/stephenvidal/dustline:sha-7aa2df7runningproductT2
seed-api-1ghcr.io/stephenvidal/seed-api:sha-4b18541runningproductT2
seed-db-1postgres:17-alpinerunningproductT2
seed-discord-1ghcr.io/stephenvidal/seed-api:sha-4b18541exitedproductT4
seed-gateway-1ghcr.io/stephenvidal/seed-api:sha-4b18541exitedproductT4
seed-sandbox-1ghcr.io/stephenvidal/seed-api:sha-4b18541runningproductT2
seed-web-1ghcr.io/stephenvidal/seed-web:sha-4b18541runningproductT2
seed-worker-1ghcr.io/stephenvidal/seed-api:sha-4b18541exitedproductT4
urpost-core-clips-1ghcr.io/stephenvidal/urpost-core:3d941e3d74a03runningproductT2
urpost-core-core-1ghcr.io/stephenvidal/urpost-core:3d941e3d74a03runningproductT2
urpost-core-drafts-1ghcr.io/stephenvidal/urpost-core:3d941e3d74a03runningproductT2
urpost-core-front-1caddy:2.8.4-alpinerunningproductT2
urpost-core-nasghcr.io/stephenvidal/urpost-core:main-nasrunningproductT2
urpost-core-transcripts-1ghcr.io/stephenvidal/urpost-core:3d941e3d74a03runningproductT2
urpost-hub-staging-hub-1urpost:1500912b21f2526c78ec139d8ab426b6008f532runningproductT2
urpost-hub-staging-worker-1urpost:1500912b21f2526c78ec139d8ab426b6008f532runningproductT2

How to read this

Tier is assigned by consequence, not by how interesting the software is. T4 rows are the stopped and errored containers — they stay until someone either revives or deletes them, and they cost nothing but disk. Anything T0 or T1 that is still on golden-eye is a defect, not a placement.