Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
29 KiB
Volume-persistence sweep — all 58 templates, 2026-10-02 (bench LXC 9401 on demo-hp)
Gate: scripts/check-volume-persistence.py --all --evidence (catalog-wt febf58c + UNCOMMITTED R-801/R-788/fixture-seed
change), 8 batches, Docker Hub logged in. Raw stdout: batch-NN.txt; per-app probe: evidence/<app>/probe.json.
Headline
CLEAN 39 · UNDETERMINED 19 · BROKEN 0 · INCONCLUSIVE 0 (of 58). BROKEN = the gate REFUSED. Apps where the gate called the app's own fixture seed: 16.
"What made it write" is read off the probe: fixture … = the gate's third step ran (field fixture); deep pass = the
second (wider, redirect-following) GET pass produced answers (inferred: >1 hit per ip:port or a non-/ path); GET exercise (or start) = the first / GET answered and nothing further was needed — the probe cannot separate data written at start from
data written because of that GET. A fixture field of null on an UNDETERMINED app means the app has no fixture (or the module
did not load), so the gate had nothing to call.
Reading the headline (added by hand after the generator)
- Fixture seed: called for 16 apps. It turned 2 into CLEAN (metube, privatebin). 13 seeded OK and still stay
UNDETERMINED, because a second declared volume (uploads / media / cache / redis / backup) stays empty after a
seed that writes only to the database: claper, crafty-controller, dawarich, docmost, gramps-web, immich, outline,
sparkyfitness, tandoor, vikunja, wger, wishlist, zipline. 1 seed could not run: plex (
NoRoute— the first-run claim needs a plex.tv token). No fixture crashed the gate. - 5 UNDETERMINED apps had no fixture to call: bentopdf (stateless, declares no volume), papra (crash-loop, see
below), plant-it (image gone), recipe-importer (writes nothing; the only
/entry is its own/datamount point), wanderer (web container unhealthy; its pocketbase and meilisearch volumes hold data,/app/uploadsand/data/pluginsare empty). - papra does not start under its own memory limit. Exit 137 in batch 06 and again alone
(
batch-09-papra-rerun.txt). Separate diagnosis (papra-oom-diagnosis.txt):docker run --memory 256m(the template'sdeploy.resources.limits.memory) →OOMKilled=trueduringtsx src/scripts/migrate-up.script.ts; no limit → running at ~416 MiB after 60 s,db/db.sqlitewritten INTO the/app/app-datavolume. So the R-156 mount is right; the 256M limit (header comment says "RAM ~50M") is too low for papra 26.6.2. Not a persistence verdict — a start-up defect. Template not edited. - plant-it (
lifecycle: abandoned, run only because of--all):msdeluise/plant-itcannot be pulled ("repository does not exist"), while logged in to Docker Hub. Not throttling, so not INCONCLUSIVE. - No pull was throttled — no
toomanyrequests/ rate-limit text in any batch, so INCONCLUSIVE is 0. - Blind spot, not a verdict: grimmory is CLEAN while its
/app/data(a BIND to the data drive) holds 0 files; the R-788 empty-volume rule covers only named declared volumes, and grimmory's state is in its MariaDB volume (355 files). Same shape: komga/data, paperlessconsume/export, radarr/sonarr media binds — empty binds are not judged by the gate. - No GET answer on crafty-controller (port 8443 is HTTPS; the gate curls
http://) and gramps-web (port 5000) — both reached data only through the fixture. --allwas used so the hidden (wger) and abandoned (plant-it) apps are in scope; 56 areavailable.
| app | verdict now | ports | what made it write | gate's reasons (short) | notes |
|---|---|---|---|---|---|
| actualbudget | CLEAN | 5006 | GET exercise (or start) | - | declared volumes: actualbudget_data · mounts actualbudget:/data=2(named-declared) |
| adventurelog | CLEAN | 80,3000 | GET exercise (or start) | - | declared volumes: adventurelog_media, adventurelog_postgres_data · mounts adventurelog:/code/media=251(named-declared); adventurelog-postgres:/var/lib/postgresql/data=2313(named-declared) |
| audiobookshelf | CLEAN | 80 | GET exercise (or start) | - | declared volumes: audiobookshelf_config, audiobookshelf_metadata · mounts audiobookshelf:/audiobooks=0(bind); audiobookshelf:/podcasts=0(bind); audiobookshelf:/config=16(named-declared); audiobookshelf:/metadata=1(named-declared) |
| bentopdf | UNDETERMINED | 8080 | deep pass | nothing was written to any mount and nothing data-classified in any writable layer — the app produced no data to locate. Health is not data: this is UNDETERMINED, not CLEAN | declared volumes: NONE · fixture: none called (app has no fixture, or step not reached) · mounts |
| bookstack | CLEAN | 80 | GET exercise (or start) | - | declared volumes: bookstack_config, bookstack_db_data · mounts bookstack:/config=22(named-declared); bookstack-db:/var/lib/mysql=291(named-declared) |
| calcom | CLEAN | 3000 | GET exercise (or start) | - | declared volumes: calcom_postgres_data · mounts calcom-postgres:/var/lib/postgresql=2264(named-declared) |
| calibre-web | CLEAN | 8083 | GET exercise (or start) | calibre-web: /app/calibre-web-automated/empty_library — database file(s) touched but byte-identical to the image; a chown sweep, not a write; calibre-web: /app/calibre-web-automated/empty_library — database file(s) touch | declared volumes: calibre_web_config · mounts calibre-web:/cwa-book-ingest=0(bind); calibre-web:/calibre-library=3(bind); calibre-web:/config=11(named-declared) |
| claper | UNDETERMINED | 4000 | fixture seed OK — fixture Claper: seed OK — claper: seeded user drill-f9ed4c26@gate.invalid |
claper: declared volume /app/priv/static/uploads is EMPTY after the exercise — the app was not shown to write where the template preserves it; claper: this container's mounts are all empty while it created entries in ['/ | declared volumes: claper_postgres_data, claper_uploads · mounts claper:/app/priv/static/uploads=0(named-declared); claper-postgres:/var/lib/postgresql/data=1471(named-declared) |
| code-server | CLEAN | 8443 | GET exercise (or start) | - | declared volumes: codeserver_config · mounts code-server:/config=12(named-declared) |
| crafty-controller | UNDETERMINED | 8443 | fixture seed OK — fixture Crafty: seed OK — crafty: POST /api/v2/roles http=200 {"status":"ok","data":{"role_id":1}} |
crafty-controller: declared volume /crafty/servers is EMPTY after the exercise — the app was not shown to write where the template preserves it; crafty-controller: declared volume /crafty/import is EMPTY after the exerci | declared volumes: crafty_backups, crafty_config, crafty_import, crafty_logs, crafty_servers · mounts crafty-controller:/crafty/logs=8(named-declared); crafty-controller:/crafty/servers=0(named-declared); crafty-controller:/crafty/app/config=16(named-declared); crafty-controller:/crafty/import=0(named-declared); crafty-controller:/crafty/backups=0(named-declared) |
| dawarich | UNDETERMINED | 3000 | fixture seed OK — fixture Dawarich: seed OK — dawarich: POST /api/v1/overland/batches http=201 (47.4056,19.1918 at 2026-09-10T13:50:00Z) |
dawarich-redis: declared volume /data is EMPTY after the exercise — the app was not shown to write where the template preserves it | declared volumes: dawarich_db_data, dawarich_public, dawarich_redis, dawarich_storage, dawarich_watched · mounts dawarich:/var/app/tmp/imports/watched=0(named-declared); dawarich:/var/app/storage=1(named-declared); dawarich:/var/app/public=646(named-declared); dawarich-db:/var/lib/postgresql/data=2358(named-declared); dawarich-redis:/data=0(named-declared); dawarich-sidekiq:/var/app/public=646(named-declared); |
| docmost | UNDETERMINED | 3000 | fixture seed OK — fixture Docmost: seed OK — docmost: /api/auth/setup http=200 rc=0 |
docmost: declared volume /app/data/storage is EMPTY after the exercise — the app was not shown to write where the template preserves it; docmost: this container's mounts are all empty while it created entries in ['/app/a | declared volumes: docmost_postgres_data, docmost_redis_data, docmost_storage · mounts docmost:/app/data/storage=0(named-declared); docmost-postgres:/var/lib/postgresql=1589(named-declared); docmost-redis:/data=3(named-declared) |
| emby | CLEAN | 8096 | GET exercise (or start) | - | declared volumes: emby_config · mounts emby:/media=3(bind); emby:/config=46(named-declared) |
| ghost | CLEAN | 2368 | GET exercise (or start) | - | declared volumes: ghost_content · mounts ghost:/var/lib/ghost/content=7(named-declared) |
| gitea | CLEAN | 3000 | GET exercise (or start) | - | declared volumes: gitea_data · mounts gitea:/data=8(named-declared) |
| glance | CLEAN | 8080 | GET exercise (or start) | - | declared volumes: glance_config · mounts glance:/app/config=1(named-declared) |
| gokapi | CLEAN | 53842 | GET exercise (or start) | - | declared volumes: gokapi_config, gokapi_data · mounts gokapi:/app/data=4(named-declared); gokapi:/app/config=1(named-declared) |
| grafana | CLEAN | 3000 | GET exercise (or start) | - | declared volumes: grafana_data · mounts grafana:/var/lib/grafana=939(named-declared) |
| gramps-web | UNDETERMINED | 5000 | fixture seed OK — fixture GrampsWeb: seed OK — gramps-web: seeded user drill1c00babf |
gramps-web: declared volume /app/secret is EMPTY after the exercise — the app was not shown to write where the template preserves it; gramps-web: declared volume /app/indexdir is EMPTY after the exercise — the app was no | declared volumes: gramps_cache, gramps_db, gramps_index, gramps_media, gramps_secret, gramps_thumb_cache, gramps_tmp, gramps_users · mounts gramps-web:/app/cache=1(named-declared); gramps-web:/app/secret=0(named-declared); gramps-web:/tmp=0(named-declared); gramps-web:/app/users=1(named-declared); gramps-web:/root/.gramps/grampsdb=2(named-declared); gramps-web:/app/indexdir=0(named-declared); gramps-web:/app/media=0(named-declared); gra |
| grimmory | CLEAN | 6060 | GET exercise (or start) | grimmory: this container's mounts are all empty while it created entries in ['/', '/app', '/etc'] — benign when a sibling container holds the state, worth a look when none does | declared volumes: grimmory_db · mounts grimmory:/app/data=0(bind); grimmory:/books=0(bind); grimmory:/bookdrop=0(bind); grimmory-db:/var/lib/mysql=355(named-declared) |
| home-assistant | CLEAN | 8123 | GET exercise (or start) | - | declared volumes: homeassistant_config · mounts home-assistant:/config=22(named-declared) |
| homebox | CLEAN | 7745 | GET exercise (or start) | - | declared volumes: homebox_data · mounts homebox:/data=3(named-declared) |
| homepage | CLEAN | 3000 | GET exercise (or start) | - | declared volumes: homepage_config · mounts homepage:/var/run/docker.sock=-1(bind); homepage:/app/config=3(named-declared) |
| immich | UNDETERMINED | 2283 | fixture seed OK — fixture Immich: seed OK — immich: seeded album drillalbuma6820f47 |
immich-machine-learning: declared volume /cache is EMPTY after the exercise — the app was not shown to write where the template preserves it; immich-machine-learning: this container's mounts are all empty while it create | declared volumes: immich_ml_cache, immich_postgres_data, immich_redis_data · mounts immich-machine-learning:/cache=0(named-declared); immich-postgres:/var/lib/postgresql/data=1879(named-declared); immich-redis:/data=3(named-declared); immich-server:/usr/src/app/upload=6(bind); immich-server:/external/photos=0(bind); immich-server:/data=0(anonymous) |
| jellyfin | CLEAN | 8096 | GET exercise (or start) | - | declared volumes: jellyfin_cache, jellyfin_config · mounts jellyfin:/media=3(bind); jellyfin:/config=20(named-declared); jellyfin:/cache=2(named-declared) |
| karakeep | CLEAN | 3000 | GET exercise (or start) | - | declared volumes: karakeep_data, karakeep_meili · mounts karakeep:/data=2(named-declared); karakeep-meilisearch:/meili_data=5(named-declared) |
| kimai | CLEAN | 8001 | GET exercise (or start) | - | declared volumes: kimai_db_data, kimai_var · mounts kimai:/opt/kimai/var=2038(named-declared); kimai-db:/var/lib/mysql=279(named-declared) |
| komga | CLEAN | 25600 | GET exercise (or start) | - | declared volumes: komga_config · mounts komga:/data=0(bind); komga:/config=11(named-declared) |
| mealie | CLEAN | 9000 | GET exercise (or start) | - | declared volumes: mealie_data · mounts mealie:/app/data=5(named-declared) |
| metube | CLEAN | 8081 | fixture seed OK — fixture MeTube: seed OK — metube: the download finished (991017 bytes) |
- | declared volumes: metube_state · mounts metube:/downloads=1(bind); metube:/state=2(named-declared) |
| n8n | CLEAN | 5678 | GET exercise (or start) | - | declared volumes: n8n_data · mounts n8n:/home/node/.n8n=7(named-declared) |
| navidrome | CLEAN | 4533 | GET exercise (or start) | - | declared volumes: navidrome_data · mounts navidrome:/music=0(bind); navidrome:/data=6(named-declared) |
| nextcloud | CLEAN | 80 | GET exercise (or start) | - | declared volumes: nextcloud_db_data, nextcloud_html, nextcloud_redis_data · mounts nextcloud:/var/www/html=4001(named-declared); nextcloud:/var/www/html/data=69(bind); nextcloud-db:/var/lib/mysql=471(named-declared); nextcloud-redis:/data=3(named-declared) |
| onlyoffice | CLEAN | 80 | GET exercise (or start) | onlyoffice: writable-layer writes at /var/www/onlyoffice/documentserver/sdkjs-plugins/{07FD8DFA-DFE0-4089-AL24-0730933CC80A}/resources/store (path suggests state, no database signature — judgement needed): ['icons', 'scr | declared volumes: onlyoffice_data, onlyoffice_logs · mounts onlyoffice:/var/log/onlyoffice=11(named-declared); onlyoffice:/usr/share/fonts/truetype/custom=0(anonymous); onlyoffice:/var/lib/onlyoffice=0(anonymous); onlyoffice:/var/www/onlyoffice/Data=3(named-declared) |
| opengist | CLEAN | 6157 | GET exercise (or start) | - | declared volumes: opengist_data · mounts opengist:/opengist=9(named-declared) |
| outline | UNDETERMINED | 3000 | fixture seed OK — fixture Outline: seed OK — outline: seeded document drilldoc-ed522bc2 |
outline: declared volume /var/lib/outline/data is EMPTY after the exercise — the app was not shown to write where the template preserves it; outline-redis: declared volume /data is EMPTY after the exercise — the app was | declared volumes: outline_data, outline_postgres_data, outline_redis_data · mounts outline:/var/lib/outline/data=0(named-declared); outline-postgres:/var/lib/postgresql=1669(named-declared); outline-redis:/data=0(named-declared) |
| paperless-ngx | CLEAN | 8000 | GET exercise (or start) | - | declared volumes: paperless_data, paperless_postgres_data, paperless_redis_data · mounts paperless-postgres:/var/lib/postgresql=1931(named-declared); paperless-redis:/data=3(named-declared); paperless-webserver:/usr/src/paperless/media=1(bind); paperless-webserver:/usr/src/paperless/consume=0(bind); paperless-webserver:/usr/src/paperless/export=0(bind); paperless-webserver:/usr/src/pape |
| papra | UNDETERMINED | 1221 | nothing answered HTTP | papra: not running (status=restarting exit=137 restarts=None) | not running: papra=restarting · declared volumes: papra_data · fixture: none called (app has no fixture, or step not reached) · mounts papra:/app/app-data=0(named-declared) |
| plant-it | UNDETERMINED | none | start only (no routed port, no HTTP exercise) | no containers created (compose up rc=18: se/plant-it, repository does not exist or may require 'docker login': denied: requested access to the resource is denied | |
| Error response from daemon: pull access denied for msdelui | probe error: no containers created (compose up rc=18: se/plant-it, repository does not exist or may require 'docker login': denied: requested access to the resource is denie · declared volumes: NONE · fixture: none called (app has no fixture, or step not reached) · mounts | ||||
| plex | UNDETERMINED | 32400 | fixture seed FAILED — fixture NoRoute: seed returned nothing (tried: the first-run claim needs a token minted at plex.tv by a real Plex account; no account exists |
plex: declared volume /transcode is EMPTY after the exercise — the app was not shown to write where the template preserves it | declared volumes: plex_config, plex_transcode · mounts plex:/media=4(bind); plex:/transcode=0(named-declared); plex:/config=82(named-declared) |
| privatebin | CLEAN | 8080 | fixture seed OK — fixture PrivateBin: seed OK — privatebin: seeded paste id=260cce3d99910079 |
- | declared volumes: privatebin_data · mounts privatebin:/srv/data=5(named-declared); privatebin:/run=14(anonymous); privatebin:/tmp=0(anonymous); privatebin:/var/lib/nginx/tmp=0(anonymous) |
| radarr | CLEAN | 7878 | GET exercise (or start) | radarr: writable-layer writes at /media (path suggests state, no database signature — judgement needed): ['movies'] | declared volumes: radarr_config · mounts radarr:/media/movies=0(bind); radarr:/downloads=0(bind); radarr:/config=9(named-declared) |
| radicale | CLEAN | 5232 | GET exercise (or start) | - | declared volumes: radicale_data · mounts radicale:/var/lib/radicale=1(named-declared) |
| rallly | CLEAN | 3000 | GET exercise (or start) | - | declared volumes: rallly_postgres_data · mounts rallly-postgres:/var/lib/postgresql=1607(named-declared) |
| recipe-importer | UNDETERMINED | 8000 | deep pass | NOTHING this app wrote landed in ANY folder the template preserves: all 1 mount(s) across 1 container(s) are empty, yet entries were created in ['/']. Needs adjudication.; recipe-importer: declared volume /data is EMPTY | declared volumes: recipe_data · fixture: none called (app has no fixture, or step not reached) · mounts recipe-importer:/data=0(named-declared) |
| romm | CLEAN | 8080 | GET exercise (or start) | - | declared volumes: romm_config, romm_db_data, romm_redis_data · mounts romm:/romm/config=1(named-declared); romm:/redis-data=0(anonymous); romm:/romm=0(anonymous); romm:/romm/library=0(bind); romm:/romm/resources=0(bind); romm-db:/var/lib/mysql=302(named-declared); romm-redis:/data=4(named-declared) |
| seerr | CLEAN | 5055 | GET exercise (or start) | - | declared volumes: seerr_config · mounts seerr:/app/config=11(named-declared) |
| sonarr | CLEAN | 8989 | GET exercise (or start) | sonarr: writable-layer writes at /media (path suggests state, no database signature — judgement needed): ['tv'] | declared volumes: sonarr_config · mounts sonarr:/media/tv=0(bind); sonarr:/downloads=0(bind); sonarr:/config=11(named-declared) |
| sparkyfitness | UNDETERMINED | 80 | fixture seed OK — fixture Sparkyfitness: seed OK — sparkyfitness: seeded user drill4cb3a4 with a weight of 64.59 on 2026-09-01 |
sparkyfitness-server: declared volume /app/SparkyFitnessServer/backup is EMPTY after the exercise — the app was not shown to write where the template preserves it; sparkyfitness-server: declared volume /app/SparkyFitness | declared volumes: sparkyfitness_backup, sparkyfitness_db_data, sparkyfitness_uploads · mounts sparkyfitness-db:/var/lib/postgresql=1822(named-declared); sparkyfitness-server:/app/SparkyFitnessServer/backup=0(named-declared); sparkyfitness-server:/app/SparkyFitnessServer/uploads=0(named-declared) |
| tandoor | UNDETERMINED | 80 | fixture seed OK — fixture Django: seed OK — tandoor: seeded superuser drill425a04 |
tandoor: declared volume /opt/recipes/mediafiles is EMPTY after the exercise — the app was not shown to write where the template preserves it | declared volumes: tandoor_media, tandoor_postgres_data, tandoor_static · mounts tandoor:/opt/recipes/staticfiles=3359(named-declared); tandoor:/opt/recipes/mediafiles=0(named-declared); tandoor-postgres:/var/lib/postgresql/data=2003(named-declared) |
| termix | CLEAN | 8080 | GET exercise (or start) | - | declared volumes: termix_data · mounts termix:/app/data=5(named-declared) |
| uptime-kuma | CLEAN | 3001 | GET exercise (or start) | - | declared volumes: uptime_kuma_data · mounts uptime-kuma:/app/data=4(named-declared) |
| vaultwarden | CLEAN | 80 | GET exercise (or start) | - | declared volumes: vaultwarden_data · mounts vaultwarden:/data=4(named-declared) |
| vikunja | UNDETERMINED | 3456 | fixture seed OK — fixture Vikunja: seed OK — vikunja: create project http=201 |
vikunja: declared volume /app/vikunja/files is EMPTY after the exercise — the app was not shown to write where the template preserves it | declared volumes: vikunja_data, vikunja_db · mounts vikunja:/db=3(named-declared); vikunja:/app/vikunja/files=0(named-declared) |
| wanderer | UNDETERMINED | 3000,8090 | GET exercise (or start) | wanderer: unhealthy; wanderer: declared volume /app/uploads is EMPTY after the exercise — the app was not shown to write where the template preserves it; wanderer-db: declared volume /data/plugins is EMPTY after the exer | declared volumes: wanderer_data, wanderer_meili_data, wanderer_plugins, wanderer_uploads · fixture: none called (app has no fixture, or step not reached) · mounts wanderer:/app/uploads=0(named-declared); wanderer-db:/data/plugins=0(named-declared); wanderer-db:/pb_data=6(named-declared); wanderer-search:/meili_data=11(named-declared) |
| wger | UNDETERMINED | 8000 | fixture seed OK — fixture Wger: seed OK — wger: POST /api/v2/weightentry/ http=201 |
wger: declared volume /home/wger/media is EMPTY after the exercise — the app was not shown to write where the template preserves it | declared volumes: wger_data, wger_media · mounts wger:/home/wger/db=2(named-declared); wger:/home/wger/media=0(named-declared) |
| wishlist | UNDETERMINED | 3000 | fixture seed OK — fixture Wishlist: seed OK — wishlist: /signup http=200 type=success |
wishlist: declared volume /usr/src/app/uploads is EMPTY after the exercise — the app was not shown to write where the template preserves it | declared volumes: wishlist_data, wishlist_uploads · mounts wishlist:/usr/src/app/uploads=0(named-declared); wishlist:/usr/src/app/data=3(named-declared) |
| zipline | UNDETERMINED | 3000 | fixture seed OK — fixture Zipline: seed OK — zipline: /api/setup http=200 :: {"firstSetup":false,"user":{"id":"ay6n2g4wkn7i2kkg6dvag03n","username":"drill |
zipline: declared volume /zipline/uploads is EMPTY after the exercise — the app was not shown to write where the template preserves it; zipline: declared volume /zipline/public is EMPTY after the exercise — the app was n | declared volumes: zipline_postgres_data, zipline_public, zipline_uploads · mounts zipline:/zipline/uploads=0(named-declared); zipline:/zipline/public=0(named-declared); zipline-postgres:/var/lib/postgresql/data=1435(named-declared) |
BROKEN — reasons verbatim (0)
none
UNDETERMINED — reasons verbatim (19)
bentopdf (batch-01.txt)
nothing was written to any mount and nothing data-classified in any writable layer — the app produced no data to locate. Health is not data: this is UNDETERMINED, not CLEAN
claper (batch-02.txt)
claper: declared volume /app/priv/static/uploads is EMPTY after the exercise — the app was not shown to write where the template preserves it
claper: this container's mounts are all empty while it created entries in ['/app/priv', '/app/priv/static'] — benign when a sibling container holds the state, worth a look when none does
crafty-controller (batch-02.txt)
crafty-controller: declared volume /crafty/servers is EMPTY after the exercise — the app was not shown to write where the template preserves it
crafty-controller: declared volume /crafty/import is EMPTY after the exercise — the app was not shown to write where the template preserves it
crafty-controller: declared volume /crafty/backups is EMPTY after the exercise — the app was not shown to write where the template preserves it
dawarich (batch-02.txt)
dawarich-redis: declared volume /data is EMPTY after the exercise — the app was not shown to write where the template preserves it
docmost (batch-02.txt)
docmost: declared volume /app/data/storage is EMPTY after the exercise — the app was not shown to write where the template preserves it
docmost: this container's mounts are all empty while it created entries in ['/app/apps/client/dist'] — benign when a sibling container holds the state, worth a look when none does
gramps-web (batch-03.txt)
gramps-web: declared volume /app/secret is EMPTY after the exercise — the app was not shown to write where the template preserves it
gramps-web: declared volume /app/indexdir is EMPTY after the exercise — the app was not shown to write where the template preserves it
gramps-web: declared volume /app/media is EMPTY after the exercise — the app was not shown to write where the template preserves it
immich (batch-04.txt)
immich-machine-learning: declared volume /cache is EMPTY after the exercise — the app was not shown to write where the template preserves it
immich-machine-learning: this container's mounts are all empty while it created entries in ['/'] — benign when a sibling container holds the state, worth a look when none does
outline (batch-06.txt)
outline: declared volume /var/lib/outline/data is EMPTY after the exercise — the app was not shown to write where the template preserves it
outline-redis: declared volume /data is EMPTY after the exercise — the app was not shown to write where the template preserves it
papra (batch-09-papra-rerun.txt)
papra: not running (status=restarting exit=137 restarts=None)
plant-it (batch-06.txt)
no containers created (compose up rc=18: se/plant-it, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
Error response from daemon: pull access denied for msdeluise/plant-it, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
)
probe error: no containers created (compose up rc=18: se/plant-it, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
Error response from daemon: pull access denied for msdeluise/plant-it, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
)
plex (batch-06.txt)
plex: declared volume /transcode is EMPTY after the exercise — the app was not shown to write where the template preserves it
recipe-importer (batch-07.txt)
NOTHING this app wrote landed in ANY folder the template preserves: all 1 mount(s) across 1 container(s) are empty, yet entries were created in ['/']. Needs adjudication.
recipe-importer: declared volume /data is EMPTY after the exercise — the app was not shown to write where the template preserves it
recipe-importer: this container's mounts are all empty while it created entries in ['/'] — benign when a sibling container holds the state, worth a look when none does
sparkyfitness (batch-07.txt)
sparkyfitness-server: declared volume /app/SparkyFitnessServer/backup is EMPTY after the exercise — the app was not shown to write where the template preserves it
sparkyfitness-server: declared volume /app/SparkyFitnessServer/uploads is EMPTY after the exercise — the app was not shown to write where the template preserves it
sparkyfitness-server: this container's mounts are all empty while it created entries in ['/app/SparkyFitnessServer'] — benign when a sibling container holds the state, worth a look when none does
tandoor (batch-08.txt)
tandoor: declared volume /opt/recipes/mediafiles is EMPTY after the exercise — the app was not shown to write where the template preserves it
vikunja (batch-08.txt)
vikunja: declared volume /app/vikunja/files is EMPTY after the exercise — the app was not shown to write where the template preserves it
wanderer (batch-08.txt)
wanderer: unhealthy
wanderer: declared volume /app/uploads is EMPTY after the exercise — the app was not shown to write where the template preserves it
wanderer-db: declared volume /data/plugins is EMPTY after the exercise — the app was not shown to write where the template preserves it
wanderer: this container's mounts are all empty while it created entries in ['/root'] — benign when a sibling container holds the state, worth a look when none does
wanderer-db: writable-layer writes at /data (path suggests state, no database signature — judgement needed): ['plugins']
wger (batch-08.txt)
wger: declared volume /home/wger/media is EMPTY after the exercise — the app was not shown to write where the template preserves it
wishlist (batch-08.txt)
wishlist: declared volume /usr/src/app/uploads is EMPTY after the exercise — the app was not shown to write where the template preserves it
zipline (batch-08.txt)
zipline: declared volume /zipline/uploads is EMPTY after the exercise — the app was not shown to write where the template preserves it
zipline: declared volume /zipline/public is EMPTY after the exercise — the app was not shown to write where the template preserves it
zipline: this container's mounts are all empty while it created entries in ['/zipline'] — benign when a sibling container holds the state, worth a look when none does