Files
felhom.eu/documentation/audits/dockerhub-bigsteps-2026-10-28/homepage/undo/undo-proof-homepage.json
T

144 lines
6.5 KiB
JSON

{
"app": "homepage",
"from": {
"homepage": "ghcr.io/gethomepage/homepage:v1.13.2"
},
"to": {
"homepage": "ghcr.io/gethomepage/homepage:v2.7.0"
},
"started": "2026-10-28T15:06:14Z",
"drill_head_before": "c1b7f241da1dfef40579011f9d032dcafbbf29c4",
"failing_compose_main_healthcheck": [
"test: [\"CMD\", \"false\"]"
],
"failing_probe": true,
"update": {
"accepted": true,
"http": "202",
"phases": [
{
"t": 0.0,
"phase": "backing-up",
"label": "Biztons\u00e1gi ment\u00e9s k\u00e9sz\u00fcl a friss\u00edt\u00e9s el\u0151tt\u2026",
"updating": true,
"error": null,
"hold": null
},
{
"t": 3.1,
"phase": "pulling",
"label": "\u00daj verzi\u00f3 let\u00f6lt\u00e9se\u2026",
"updating": true,
"error": null,
"hold": null
},
{
"t": 22.6,
"phase": "copying",
"label": "Az adatok m\u00e1sol\u00e1sa a friss\u00edt\u00e9s el\u0151tt\u2026",
"updating": true,
"error": null,
"hold": null
},
{
"t": 29.8,
"phase": "starting",
"label": "Ind\u00edt\u00e1s az \u00faj verzi\u00f3val\u2026",
"updating": true,
"error": null,
"hold": null
},
{
"t": 30.8,
"phase": "verifying",
"label": "M\u0171k\u00f6d\u00e9s ellen\u0151rz\u00e9se\u2026",
"updating": true,
"error": null,
"hold": null
},
{
"t": 333.1,
"phase": "undoing",
"label": "Vissza\u00e1ll\u00edt\u00e1s az el\u0151z\u0151 v\u00e1ltozatra\u2026",
"updating": true,
"error": null,
"hold": null
},
{
"t": 345.5,
"phase": "undone",
"label": "Vissza\u00e1ll\u00edtva az el\u0151z\u0151 v\u00e1ltozatra",
"updating": false,
"error": null,
"hold": null
}
],
"duration_s": 345.5,
"final_phase": "undone",
"update_error": null,
"hold_reason": null,
"state": "running"
},
"to_log_while_verifying": [
"ghcr.io/gethomepage/homepage:v2.7.0",
"Skipping ownership changes for /app/config",
"Skipping ownership changes for /app/config/logs",
"/app/.next already owned by correct UID/GID or running as root, skipping chown",
"\u25b2 Next.js 16.4.1",
"- Local: http://[::1]:3000",
"- Network: http://[::]:3000",
"\u2713 Ready in 0ms",
"\u2713 Running next.config took 3ms"
],
"observables_after": {
"pinned_images": {
"homepage": "ghcr.io/gethomepage/homepage:v1.13.2"
},
"installed_images": {
"homepage": "ghcr.io/gethomepage/homepage:v1.13.2"
},
"catalog_images": {
"homepage": "ghcr.io/gethomepage/homepage:v2.7.0"
},
"live_compose_image_lines": [
"image: ghcr.io/gethomepage/homepage:v1.13.2"
],
"docker_inspect": [
"homepage ghcr.io/gethomepage/homepage:v1.13.2 running=true restarts=0"
]
},
"running_images_after": {
"homepage": "ghcr.io/gethomepage/homepage:v1.13.2"
},
"seed_after_undo": true,
"verdict": "proven",
"why": "TO started on the data and failed its check; the box undid it: FROM runs again and the seed reads back",
"drill_head_after": "f574f6fef47182eaa13b330a2b69c7ad8dfdfa18",
"drill_tree_equal_to_before": true,
"log": [
"16:06:23 [5] the box's drill mirror now at c1b7f241d",
"16:06:28 [1] deploy -> 202 {'ok': True, 'message': 'Telep\u00edt\u00e9s elind\u00edtva \u2013 az \u00e1llapot a k\u00e1rty\u00e1n k\u00f6vethet\u0151'}",
"16:06:58 [1] deployed, controller state=running, pinned={'homepage': 'ghcr.io/gethomepage/homepage:v1.13.2'}",
"16:06:58 family gate: home is family-gated \u2014 passed as the household (cookie set)",
"16:06:58 homepage: first-start config read: services=['My First Group', 'My First Group/My First Service', 'My Second Group', 'My Second Group/My Second Service', 'My Third Group', 'My Third Group/My Third Service'] bookmarks=['Developer', 'Developer/Github', 'Entertainment', 'Entertainment/YouTube', 'Social', 'Social/Reddit']",
"16:06:58 homepage: the same services and bookmarks after: True (['My First Group', 'My First Group/My First Service', 'My Second Group', 'My Second Group/My Second Service', 'My Third Group', 'My Third Group/My Third Service'])",
"16:06:59 drill commit c6c4b528c5ab: homepage TO with failing checks",
"16:07:08 [5] the box's drill mirror now at c6c4b528c",
"16:07:13 [6] Update -> 202 {'ok': True, 'data': {'accepted': True, 'completed': False}, 'message': 'Friss\u00edt\u00e9s elindult \u2013 az \u00e1llapot a k\u00e1rty\u00e1n k\u00f6vethet\u0151'}",
"16:07:13 + 0.0s phase=backing-up label=Biztons\u00e1gi ment\u00e9s k\u00e9sz\u00fcl a friss\u00edt\u00e9s el\u0151tt\u2026 err=None hold=None",
"16:07:16 + 3.1s phase=pulling label=\u00daj verzi\u00f3 let\u00f6lt\u00e9se\u2026 err=None hold=None",
"16:07:36 + 22.6s phase=copying label=Az adatok m\u00e1sol\u00e1sa a friss\u00edt\u00e9s el\u0151tt\u2026 err=None hold=None",
"16:07:43 + 29.8s phase=starting label=Ind\u00edt\u00e1s az \u00faj verzi\u00f3val\u2026 err=None hold=None",
"16:07:44 + 30.8s phase=verifying label=M\u0171k\u00f6d\u00e9s ellen\u0151rz\u00e9se\u2026 err=None hold=None",
"16:12:46 + 333.1s phase=undoing label=Vissza\u00e1ll\u00edt\u00e1s az el\u0151z\u0151 v\u00e1ltozatra\u2026 err=None hold=None",
"16:12:59 + 345.5s phase=undone label=Vissza\u00e1ll\u00edtva az el\u0151z\u0151 v\u00e1ltozatra err=None hold=None",
"16:13:28 homepage: the same services and bookmarks after: True (['My First Group', 'My First Group/My First Service', 'My Second Group', 'My Second Group/My Second Service', 'My Third Group', 'My Third Group/My Third Service'])",
"16:13:28 RESULT proven \u2014 TO started on the data and failed its check; the box undid it: FROM runs again and the seed reads back",
"16:13:29 [X] stop -> 200 {'ok': True, 'message': 'Stack homepage stop completed'}",
"16:14:01 [X] remove (with drive data) -> 200 {'ok': True, 'data': {'removed': 'homepage', 'volumes_removed': ['homepage_homepage_config'], 'hdd_paths_removed': [], 'hdd_paths_preserved': [], 'hdd_note': 'A",
"16:14:09 [X] after remove: deployed=False leftovers=''",
"16:14:19 [5] the box's drill mirror now at f574f6fef",
"16:14:19 drill revert c6c4b528c5ab: rc=0",
"16:14:19 drill templates/homepage equal to before: True"
]
}