Night 2026-10-28 (part): R-1256 H5 proven live on 9202 (a busy volume is not written into; the live data put back, no hold); claim fail.customer-self-restore re-walked (route proven, the person still open); rows R-1254/R-1255/R-528/R-1338 state; Plex evidence; two dead bench tokens redacted from evidence
This commit is contained in:
1 parent
d8752de9e3
commit
0abed37f3e
12 files changed
+277
-11
No files matched your search
+1
-1
@@ -16,7 +16,7 @@ wanderer-db | 2026/10/28 22:36:58 Settings synced for index [lists]
|
||||
[2Kwanderer-db | └─ Dashboard: http://0.0.0.0:8090/_/
|
||||
[2Kwanderer-db |
|
||||
[2Kwanderer-db | (!) Launch the URL below in the browser if it hasn't been open already to create your first superuser account:
|
||||
[2Kwanderer-db | http://0.0.0.0:8090/_/#/pbinstall/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb2xsZWN0aW9uSWQiOiJwYmNfMzE0MjYzNTgyMyIsImV4cCI6MTc5MzIyODgxOCwiaWQiOiJyZ3ljaHVzOGhnMnhpZmUiLCJyZWZyZXNoYWJsZSI6ZmFsc2UsInR5cGUiOiJhdXRoIn0.__xnQemwXA-zL0OMmzWpG4C0Zh0Bll-zJpnaqbpzbDU
|
||||
[2Kwanderer-db | http://0.0.0.0:8090/_/#/pbinstall/<jwt redacted>
|
||||
[2Kwanderer-db | (you can also create your first superuser by running: /pocketbase superuser upsert EMAIL PASS)
|
||||
[2Kwanderer-db |
|
||||
[2Kwanderer-search | 8888b d8888 Y8P 888 Y8P 888
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
02:34:52 gate: tasks is gated — passed as the household (cookie set)
|
||||
02:34:53 vikunja: readback of the seeded project http=200 ok=True
|
||||
02:34:53 vikunja: readback of the seeded project http=200 ok=True
|
||||
02:34:53 before: C1 True, C2 True
|
||||
02:34:53 restoring from the newest point {'time': '2026-10-29T01:30:30Z', 'short_id': 'helyi', 'tier': 1, 'drive_label': 'Belső SSD (rendszer)'}
|
||||
02:34:53 [R] restoring vikunja from snapshot 'helyi' (of 1 offered)
|
||||
02:34:53 [R] POST /backup/restore -> HTTP/2 302 ['location: /backups/restore?flash=flash.restore.started']
|
||||
02:34:53 + 0.0s restore (True, None, None)
|
||||
02:36:12 + 78.9s restore (False, None, None)
|
||||
02:36:12 [R] after restore: state=running hold=None phase=None
|
||||
02:36:16 restore result: {"ok": true, "snapshot_id": "helyi", "snapshots": [{"time": "2026-10-29T01:30:30Z", "short_id": "helyi", "tier": 1, "drive_label": "Bels\u0151 SSD (rendszer)"}], "http": "HTTP/2 302", "location": ["location: /backups/restore?flash=flash.restore.started"], "seconds": 79.0, "state_after": "running", "hold_after": null, "observables_after": {"pinned_images": {"vikunja": "vikunja/vikunja:2.7.1"}, "installed_images": {"vikunja": "vikunja/vikunja:2.7.1"}, "catalog_images": {"vikunja": "vikunja/vikunja:2.7.1"}, "live_compose_image_lines": ["image: vikunja/vikunja:2.7.1@sha256:f7dc8428d10aef17f3075886d3c1c022f566ec456f88985f02c137f4fc534576"], "docker_inspect": ["vikunja vikunja/vikunja:2.7.1@sha256:f7dc8428d10aef17f3075886d3c1c022f566ec456f88985f02c137f4fc534576 running=true restarts=0"]}}
|
||||
02:36:19 controller log: 2026/10/29 01:34:53 handlers.go:1896: [WARN] [web] Restore requested (async): stack=vikunja, snapshot=helyi from 172.18.0.2:38118
|
||||
2026/10/29 01:34:53 restore_unit.go:410: [INFO] [backup] Restoring vikunja from recovery unit /mnt/sys_drive/felhom-data/backups/primary/vikunja: images=1, secrets recovered=1/1, data_keys=0
|
||||
2026/10/29 01:34:54 manager.go:1446: [INFO] [stacks] Stopping stack: vikunja
|
||||
2026/10/29 01:34:54 manager.go:1455: [INFO] [stacks] Stack vikunja stopped successfully (took 0.3s)
|
||||
2026/10/29 01:35:07 offbox_restore_undo.go:169: [INFO] [offbox] vikunja: the live volumes are copied before the restore (2 copied, 0 new from the snapshot) in 12.296s — /mnt/sys_drive/felhom-data/backups/restore-undo/vikunja/20261029T013454Z (R-893)
|
||||
2026/10/29 01:35:07 restore_crash_putback.go:89: [INFO] [backup] vikunja: the restore copy is recorded — a power cut from here on puts the app back on start (R-1195)
|
||||
2026/10/29 01:35:07 restore.go:225: [INFO] [backup] Restoring Docker volume vikunja_vikunja_data for vikunja
|
||||
2026/10/29 01:35:07 restore.go:225: [INFO] [backup] Restoring Docker volume vikunja_vikunja_db for vikunja
|
||||
2026/10/29 01:35:17 restore.go:274: [INFO] [backup] Restored 2 Docker volume(s) for vikunja
|
||||
2026/10/29 01:35:17 [INFO] [stacks] SaveAppConfig: saved config for vikunja
|
||||
2026/10/29 01:35:17 deploy.go:911: [INFO] [stacks] Redeploying vikunja from recovery unit with 3 env vars
|
||||
2026/10/29 01:35:17 pin.go:93: [INFO] [stacks] pin vikunja: vikunja=vikunja/vikunja:2.7.1
|
||||
2026/10/29 01:35:17 manager.go:1357: [INFO] [stacks] Starting stack: vikunja
|
||||
2026/10/29 01:35:17 [INFO] [stacks] SaveAppConfig: saved config for vikunja
|
||||
2026/10/29 01:35:18 manager.go:1372: [INFO] [stacks] Stack vikunja started successfully (took 0.4s)
|
||||
2026/10/29 01:35:18 [INFO] [stacks] SaveAppConfig: saved config for vikunja
|
||||
2026/10/29 01:35:18 installed.go:420: [INFO] [stacks] installed-images vikunja: recorded 1 service(s) (vikunja=vikunja/vikunja:2.7.1 (sha256:f7dc8428d10a…))
|
||||
2026/10/29 01:35:21 manager.go:1817: [INFO] [stacks] Stack vikunja post-start status:
|
||||
2026/10/29 01:35:21 manager.go:1820: [INFO] [stacks] vikunja vikunja/vikunja:2.7.1@sha256:f7dc8428d10aef17f3075886d3c1c022f566ec456f88985f02c137f4fc534576 running Up 3 seconds
|
||||
2026/10/29 01:36:12 restore_unit.go:591: [INFO] [backup] Restore-from-unit completed: vikunja — 2 volume(s) of 2 listed, 0 database(s) of 0 listed
|
||||
2026/10/29 01:36:12 handlers.go:1911: [INFO] [web] Restore completed (async): stack=vikunja in 1m18.578891305s (volumes 2/2, dbs 0/0)
|
||||
|
||||
02:36:19 after: state=running hold=None
|
||||
02:36:19 vikunja: readback of the seeded project http=200 ok=True
|
||||
02:36:19 C1 readback (want True): True
|
||||
02:36:20 vikunja: the seeded account no longer authenticates :: http=403 {"code":1011,"message":"Wrong username or password."}
|
||||
|
||||
02:36:20 C2 readback (want False — newer than the point): False
|
||||
02:36:20 restore record: {"ok": true, "data": {"running": false, "op": "restore", "stack": "vikunja", "started_at": "2026-10-29T01:34:53.636426109Z", "last": {"op": "restore", "stack": "vikunja", "ok": true, "message": "A(z) vikunja: 2 adatk\u00f6tet vissza\u00e1ll\u00edtva \u2014 az alkalmaz\u00e1s \u00fajraindult.", "finished_at": "2026-10-29T01:36:12.215711729Z"}, "last_recent": true}}
|
||||
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env python3
|
||||
"""walk_selfrestore.py — claim fail.customer-self-restore on scratch 9202 (night 2026-10-28), front doors only.
|
||||
After the H5 proof: vikunja holds C1 (in the 02:30 restore point) and C2 (made after it). Press the household's restore
|
||||
with nothing blocked. Want: the restore succeeds, C1 reads back, C2 is GONE (the point is older), the app runs, no hold."""
|
||||
import json, os, sys, time
|
||||
sys.path.insert(0, "/mnt/5_hdd/felhom.eu/git/app-catalog-felhom.eu/scripts")
|
||||
os.environ.setdefault("SC", "/tmp/claude-1000/-mnt-5-hdd-felhom-eu-git/0b76c4d7-9b39-4e4e-869d-d0d2c6006331/scratchpad/rt-9202")
|
||||
os.environ.setdefault("TARGET", "9202")
|
||||
import box_walk as w
|
||||
import upgrade_fixtures_box as fb
|
||||
EV = "/tmp/claude-1000/-mnt-5-hdd-felhom-eu-git/0b76c4d7-9b39-4e4e-869d-d0d2c6006331/scratchpad/night/p1/h5"
|
||||
st = json.load(open(os.path.join(EV, ".state.json")))
|
||||
fx = fb.FIXTURES["vikunja"]; SUB = getattr(fx, "sub", "vikunja"); APP = "vikunja"
|
||||
w.login()
|
||||
w.say(f"before: C1 {fx.verify(w, SUB, st['c1'], w.say)}, C2 {fx.verify(w, SUB, st['c2'], w.say)}")
|
||||
snaps = w.snapshots(APP)
|
||||
newest = max(snaps, key=lambda x: x.get("time") or "")
|
||||
w.say(f"restoring from the newest point {newest}")
|
||||
t0 = time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime())
|
||||
res = w.restore(APP, snapshot_id=newest.get("id") or newest.get("snapshot_id") or newest.get("short_id"))
|
||||
w.say(f"restore result: {json.dumps(res)[:800]}")
|
||||
w.say("controller log: " + w.guest(f"docker logs --since {t0} felhom-controller 2>&1 | grep -E '\\[(INFO|WARN|ERROR)\\]' | grep -E 'vikunja|restore|Restor' | grep -v ParseCompose | tail -25"))
|
||||
s = w.stack(APP)
|
||||
w.say(f"after: state={s.get('state')} hold={s.get('hold_reason')!r}")
|
||||
w.say(f"C1 readback (want True): {fx.verify(w, SUB, st['c1'], w.say)}")
|
||||
w.say(f"C2 readback (want False — newer than the point): {fx.verify(w, SUB, st['c2'], w.say)}")
|
||||
code, d = w.ctl("GET", "/api/backup/restore-status")
|
||||
w.say(f"restore record: {json.dumps(d)[:600]}")
|
||||
open(os.path.join(EV, "selfrestore.log"), "a").write("\n".join(w.LOG) + "\n")
|
||||
@@ -0,0 +1,17 @@
|
||||
00:18:55 [1] required fields filled beyond DOMAIN/SUBDOMAIN: ['PLEX_CLAIM', 'HDD_PATH']
|
||||
00:18:55 [1] deploy -> 202 {'ok': True, 'message': 'Telepítés elindítva – az állapot a kártyán követhető'}
|
||||
00:19:26 [1] deployed, controller state=running, pinned={'plex': 'plexinc/pms-docker:1.43.5.11029-6bf8af3f0'}
|
||||
00:19:26 deploy ok=True
|
||||
00:19:26 gate: plex is gated — passed as the household (cookie set)
|
||||
00:20:06 plex: POST /library/sections through the front door http=401
|
||||
00:20:06 plex: the front door was not taken as local (<html><head><title>Unauthorized</title></head><body><h1>401 Unauthorized</h1></body></html>) — asking from Plex's own container
|
||||
00:20:09 plex: POST /library/sections from its own container http=201
|
||||
00:20:09 plex: seeded library section felhomfa735b43 uuid=196fa995-e45f-4cb7-8a65-3f189ffe9b9b (route own-container, server 1.43.5.11029-6bf8af3f0)
|
||||
00:20:09 seed -> {'name': 'felhomfa735b43', 'uuid': '196fa995-e45f-4cb7-8a65-3f189ffe9b9b', 'route': 'own-container'}
|
||||
00:20:16 plex: section felhomfa735b43 read back (server 1.43.5.11029-6bf8af3f0, route own-container), same uuid=True, folders=['/media']
|
||||
00:20:16 verify -> True
|
||||
00:20:32 pre-pull FROM: docker.io/plexinc/pms-docker:1.41.4.9463-630c9f557
|
||||
|
||||
00:20:46 [X] stop -> 200 {'ok': True, 'message': 'Stack plex stop completed'}
|
||||
00:21:18 [X] remove (with drive data) -> 200 {'ok': True, 'data': {'removed': 'plex', 'volumes_removed': ['plex_plex_config', 'plex_plex_transcode'], 'hdd_paths_removed': [], 'hdd_paths_preserved': [], 'us
|
||||
00:21:27 [X] after remove: deployed=False leftovers=''
|
||||
@@ -0,0 +1,19 @@
|
||||
import os, sys, json
|
||||
sys.path.insert(0, "/mnt/5_hdd/felhom.eu/git/app-catalog-felhom.eu/scripts")
|
||||
os.environ.setdefault("SC", "/tmp/claude-1000/-mnt-5-hdd-felhom-eu-git/0b76c4d7-9b39-4e4e-869d-d0d2c6006331/scratchpad/rt-9202"); os.environ.setdefault("TARGET", "9202")
|
||||
import box_walk as w
|
||||
import upgrade_fixtures_box as fb
|
||||
EV = "/tmp/claude-1000/-mnt-5-hdd-felhom-eu-git/0b76c4d7-9b39-4e4e-869d-d0d2c6006331/scratchpad/night/plex"
|
||||
w.login()
|
||||
fx = fb.FIXTURES["plex"]
|
||||
try:
|
||||
ok = w.deploy("plex", "plex")
|
||||
w.say(f"deploy ok={ok}")
|
||||
t = fx.seed(w, "plex", w.say)
|
||||
w.say(f"seed -> {t}")
|
||||
if t:
|
||||
w.say(f"verify -> {fx.verify(w, 'plex', t, w.say)}")
|
||||
w.say("pre-pull FROM: " + w.guest("docker pull -q plexinc/pms-docker:1.41.4.9463-630c9f557 2>&1 | tail -1", timeout=900))
|
||||
finally:
|
||||
w.remove("plex")
|
||||
open(os.path.join(EV, "plex-fixture-try.log"), "w").write("\n".join(w.LOG) + "\n")
|
||||
@@ -0,0 +1,66 @@
|
||||
#!/usr/bin/env python3
|
||||
"""h5_live.py seed | prove — R-1256 H5 live proof on scratch 9202 (night 2026-10-28), through the front doors.
|
||||
seed : install vikunja, seed project C1 through its API, put a 1 GiB ballast file in its second volume (vikunja_db, so
|
||||
the restore's second volume takes seconds — the put-back then comes long after the first volume's refusal).
|
||||
The night backup (02:30) then makes the restore point.
|
||||
prove: seed project C2 (newer than the backup); a created-only container holds the FIRST volume (vikunja_data) so
|
||||
`docker volume rm -f` fails; a watcher removes it as soon as the controller logs the refusal; press the
|
||||
household's restore. Want: the first volume is NOT written into (log), the restore fails, the put-back brings the
|
||||
live data back (C1 AND C2 read back), the app runs, NO hold.
|
||||
State (passwords) stays in the scratchpad, never printed."""
|
||||
import json, os, sys, time
|
||||
sys.path.insert(0, "/mnt/5_hdd/felhom.eu/git/app-catalog-felhom.eu/scripts")
|
||||
os.environ.setdefault("SC", "/tmp/claude-1000/-mnt-5-hdd-felhom-eu-git/0b76c4d7-9b39-4e4e-869d-d0d2c6006331/scratchpad/rt-9202")
|
||||
os.environ.setdefault("TARGET", "9202")
|
||||
import box_walk as w
|
||||
import upgrade_fixtures_box as fb
|
||||
EV = "/tmp/claude-1000/-mnt-5-hdd-felhom-eu-git/0b76c4d7-9b39-4e4e-869d-d0d2c6006331/scratchpad/night/p1/h5"
|
||||
STATE = os.path.join(EV, ".state.json")
|
||||
fx = fb.FIXTURES["vikunja"]
|
||||
SUB = getattr(fx, "sub", "vikunja")
|
||||
APP = "vikunja"
|
||||
w.login()
|
||||
if sys.argv[1] == "seed":
|
||||
assert w.deploy(APP, SUB), "deploy failed"
|
||||
t1 = fx.seed(w, SUB, w.say)
|
||||
assert t1, "seed C1 failed"
|
||||
vols = w.guest("docker volume ls --format '{{.Name}}' | grep -E '^vikunja' | sort").split()
|
||||
w.say(f"volumes: {vols}")
|
||||
dbv = [v for v in vols if v.endswith("_db")][0]
|
||||
w.say(w.guest(f"docker run --rm -v {dbv}:/x alpine sh -c 'dd if=/dev/urandom of=/x/r1256-ballast.bin bs=1M count=1024 2>&1 | tail -1; ls -la /x'", timeout=900))
|
||||
json.dump({"c1": t1, "vols": vols}, open(STATE, "w")); os.chmod(STATE, 0o600)
|
||||
w.say(f"C1 readback: {fx.verify(w, SUB, t1, w.say)}")
|
||||
elif sys.argv[1] == "prove":
|
||||
st = json.load(open(STATE))
|
||||
snaps = w.snapshots(APP)
|
||||
w.say(f"snapshots offered: {json.dumps(snaps)[:400]}")
|
||||
assert snaps, "no restore point yet"
|
||||
t2 = fx.seed(w, SUB, w.say) # C2: newer than the backup — the put-back must bring it back
|
||||
assert t2, "seed C2 failed"
|
||||
st["c2"] = t2; json.dump(st, open(STATE, "w"))
|
||||
datav = [v for v in st["vols"] if v.endswith("_data")][0]
|
||||
w.say("blocker: " + w.guest(f"docker rm -f r1256-blocker >/dev/null 2>&1; docker create --name r1256-blocker -v {datav}:/x alpine true"))
|
||||
w.say("rm -f with the blocker (premise): " + w.guest(f"docker volume rm -f {datav} 2>&1; echo rc=$?"))
|
||||
w.guest("rm -f /root/r1256-watch.log; nohup sh -c 'timeout 1800 docker logs -f --since 1s felhom-controller 2>&1 | "
|
||||
f"grep -m1 \"Failed to remove volume {datav} before the restore\" > /root/r1256-watch.log; date -u +%T.%N >> /root/r1256-watch.log; "
|
||||
"docker rm -f r1256-blocker >> /root/r1256-watch.log 2>&1; date -u +%T.%N >> /root/r1256-watch.log' >/dev/null 2>&1 &")
|
||||
time.sleep(2)
|
||||
t0 = time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime())
|
||||
newest = max(snaps, key=lambda x: x.get("time") or "")
|
||||
w.say(f"restoring from the newest point {newest}")
|
||||
res = w.restore(APP, snapshot_id=newest.get("id") or newest.get("snapshot_id") or newest.get("short_id"))
|
||||
w.say(f"restore result: {json.dumps(res)[:1500]}")
|
||||
w.say("watcher: " + w.guest("cat /root/r1256-watch.log"))
|
||||
w.say("controller log: " + w.guest(f"docker logs --since {t0} felhom-controller 2>&1 | grep -E 'vikunja|R-1256|put-back|put back|Failed to remove' | tail -40"))
|
||||
st_now = w.stack(APP)
|
||||
w.say(f"after: state={st_now.get('state')} hold={st_now.get('hold_reason')!r}")
|
||||
w.say(f"C1 readback: {fx.verify(w, SUB, st['c1'], w.say)}")
|
||||
w.say(f"C2 readback: {fx.verify(w, SUB, t2, w.say)}")
|
||||
code, d = w.ctl("GET", "/api/backup/restore-status")
|
||||
w.say(f"restore record: {json.dumps(d)[:800]}")
|
||||
w.say("blocker left: " + w.guest("docker ps -a --filter name=r1256-blocker --format '{{.Names}}'"))
|
||||
w.say("copies: " + w.guest("find /mnt/felhom-drives/scratch_hdd/backups/restore-undo -maxdepth 2"))
|
||||
elif sys.argv[1] == "teardown":
|
||||
w.guest("docker rm -f r1256-blocker >/dev/null 2>&1; rm -f /root/r1256-watch.log")
|
||||
w.remove(APP)
|
||||
open(os.path.join(EV, f"{sys.argv[1]}.log"), "a").write("\n".join(w.LOG) + "\n")
|
||||
@@ -0,0 +1,77 @@
|
||||
02:32:48 snapshots offered: [{"time": "2026-10-29T01:30:30Z", "short_id": "helyi", "tier": 1, "drive_label": "Bels\u0151 SSD (rendszer)"}]
|
||||
02:32:48 gate: tasks is gated — passed as the household (cookie set)
|
||||
02:32:48 vikunja: register http=200
|
||||
02:32:49 vikunja: create project http=201
|
||||
02:32:52 blocker: 227a359b77ee3d016002043a0a1fa3bb54d990bf50954535d2dd65337bb8336c
|
||||
|
||||
02:32:55 rm -f with the blocker (premise): Error response from daemon: remove vikunja_vikunja_data: volume is in use - [072afe32e15994b46c232d1850bd6bf04fe5edb6bf27ffd18238f35911124402, 227a359b77ee3d016002043a0a1fa3bb54d990bf50954535d2dd65337bb8336c]
|
||||
rc=1
|
||||
|
||||
02:33:00 restoring from the newest point {'time': '2026-10-29T01:30:30Z', 'short_id': 'helyi', 'tier': 1, 'drive_label': 'Belső SSD (rendszer)'}
|
||||
02:33:00 [R] restoring vikunja from snapshot 'helyi' (of 1 offered)
|
||||
02:33:00 [R] POST /backup/restore -> HTTP/2 302 ['location: /backups/restore?flash=flash.restore.started']
|
||||
02:33:00 + 0.0s restore (True, None, None)
|
||||
02:33:59 + 59.0s restore (False, None, None)
|
||||
02:33:59 [R] after restore: state=running hold=None phase=None
|
||||
02:34:03 restore result: {"ok": true, "snapshot_id": "helyi", "snapshots": [{"time": "2026-10-29T01:30:30Z", "short_id": "helyi", "tier": 1, "drive_label": "Bels\u0151 SSD (rendszer)"}], "http": "HTTP/2 302", "location": ["location: /backups/restore?flash=flash.restore.started"], "seconds": 59.0, "state_after": "running", "hold_after": null, "observables_after": {"pinned_images": {"vikunja": "vikunja/vikunja:2.7.1"}, "installed_images": {"vikunja": "vikunja/vikunja:2.7.1"}, "catalog_images": {"vikunja": "vikunja/vikunja:2.7.1"}, "live_compose_image_lines": ["image: vikunja/vikunja:2.7.1@sha256:f7dc8428d10aef17f3075886d3c1c022f566ec456f88985f02c137f4fc534576"], "docker_inspect": ["vikunja vikunja/vikunja:2.7.1@sha256:f7dc8428d10aef17f3075886d3c1c022f566ec456f88985f02c137f4fc534576 running=true restarts=0"]}}
|
||||
02:34:06 watcher: 2026/10/29 01:33:31 restore.go:231: [ERROR] [backup] Failed to remove volume vikunja_vikunja_data before the restore: Error response from daemon: remove vikunja_vikunja_data: volume is in use - [227a359b77ee3d016002043a0a1fa3bb54d990bf50954535d2dd65337bb8336c] — exit status 1 (not written into)
|
||||
01:33:33.292357758
|
||||
r1256-blocker
|
||||
01:33:41.548622640
|
||||
|
||||
02:34:09 controller log: 2026/10/29 01:33:31 restore_crash_putback.go:89: [INFO] [backup] vikunja: the restore copy is recorded — a power cut from here on puts the app back on start (R-1195)
|
||||
2026/10/29 01:33:31 restore.go:225: [INFO] [backup] Restoring Docker volume vikunja_vikunja_data for vikunja
|
||||
2026/10/29 01:33:31 restore.go:231: [ERROR] [backup] Failed to remove volume vikunja_vikunja_data before the restore: Error response from daemon: remove vikunja_vikunja_data: volume is in use - [227a359b77ee3d016002043a0a1fa3bb54d990bf50954535d2dd65337bb8336c] — exit status 1 (not written into)
|
||||
2026/10/29 01:33:31 restore.go:225: [INFO] [backup] Restoring Docker volume vikunja_vikunja_db for vikunja
|
||||
2026/10/29 01:33:46 restore.go:269: [DEBUG] [backup] Volume vikunja_vikunja_db restored successfully
|
||||
2026/10/29 01:33:46 restore.go:274: [INFO] [backup] Restored 1 Docker volume(s) for vikunja
|
||||
2026/10/29 01:33:46 restore_unit.go:554: [ERROR] [backup] volume restore for vikunja: failed to restore 1 volume(s): [vikunja_vikunja_data] — NOT replaying the database copy; putting the live data back
|
||||
2026/10/29 01:33:46 manager.go:1443: [DEBUG] [stacks] StopStack vikunja: current state=stopped deployed=true containers=0
|
||||
2026/10/29 01:33:46 manager.go:1446: [INFO] [stacks] Stopping stack: vikunja
|
||||
2026/10/29 01:33:46 manager.go:1701: [DEBUG] Running: docker compose down (in /opt/docker/stacks/vikunja)
|
||||
2026/10/29 01:33:46 manager.go:1455: [INFO] [stacks] Stack vikunja stopped successfully (took 0.1s)
|
||||
2026/10/29 01:33:46 restore.go:225: [INFO] [backup] Restoring Docker volume vikunja_vikunja_data for vikunja
|
||||
2026/10/29 01:33:47 restore.go:269: [DEBUG] [backup] Volume vikunja_vikunja_data restored successfully
|
||||
2026/10/29 01:33:47 restore.go:225: [INFO] [backup] Restoring Docker volume vikunja_vikunja_db for vikunja
|
||||
2026/10/29 01:33:58 restore.go:269: [DEBUG] [backup] Volume vikunja_vikunja_db restored successfully
|
||||
2026/10/29 01:33:58 restore.go:274: [INFO] [backup] Restored 2 Docker volume(s) for vikunja
|
||||
2026/10/29 01:33:58 [DEBUG] [stacks] SaveAppConfig: saving /opt/docker/stacks/vikunja — 3 env vars, 1 encrypted, 1 sensitive fields
|
||||
2026/10/29 01:33:58 [INFO] [stacks] SaveAppConfig: saved config for vikunja
|
||||
2026/10/29 01:33:58 deploy.go:911: [INFO] [stacks] Redeploying vikunja from recovery unit with 3 env vars
|
||||
2026/10/29 01:33:58 [DEBUG] [stacks] SaveAppConfig: saving /opt/docker/stacks/vikunja — 3 env vars, 0 encrypted, 1 sensitive fields
|
||||
2026/10/29 01:33:58 [INFO] [stacks] SaveAppConfig: saved config for vikunja
|
||||
2026/10/29 01:33:58 pin.go:93: [INFO] [stacks] pin vikunja: vikunja=vikunja/vikunja:2.7.1
|
||||
2026/10/29 01:33:58 offbox_restore_undo.go:253: [WARN] [offbox] vikunja: the restore failed (failed to restore 1 volume(s): [vikunja_vikunja_data]) — the live volumes and definition are put back; starting the app (R-893)
|
||||
2026/10/29 01:33:58 manager.go:1354: [DEBUG] [stacks] StartStack vikunja: current state=stopped deployed=true
|
||||
2026/10/29 01:33:58 manager.go:1357: [INFO] [stacks] Starting stack: vikunja
|
||||
2026/10/29 01:33:58 manager.go:1364: [DEBUG] [stacks] StartStack vikunja: prepared 9 env vars for compose
|
||||
2026/10/29 01:33:58 manager.go:1701: [DEBUG] Running: docker compose up -d (in /opt/docker/stacks/vikunja)
|
||||
2026/10/29 01:33:58 manager.go:1372: [INFO] [stacks] Stack vikunja started successfully (took 0.4s)
|
||||
2026/10/29 01:33:58 [DEBUG] [stacks] SaveAppConfig: saving /opt/docker/stacks/vikunja — 3 env vars, 0 encrypted, 1 sensitive fields
|
||||
2026/10/29 01:33:58 [INFO] [stacks] SaveAppConfig: saved config for vikunja
|
||||
2026/10/29 01:33:58 installed.go:420: [INFO] [stacks] installed-images vikunja: recorded 1 service(s) (vikunja=vikunja/vikunja:2.7.1 (sha256:f7dc8428d10a…))
|
||||
2026/10/29 01:33:58 handlers.go:1907: [ERROR] [web] Restore failed (async): stack=vikunja: a(z) vikunja visszaállítása sikertelen. Nem változott semmi: az alkalmazás adatai visszakerültek a visszaállítás előtti állapotba, és az alkalmazás újra fut
|
||||
2026/10/29 01:33:59 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/stacks/vikunja
|
||||
2026/10/29 01:33:59 router.go:78: [DEBUG] [api] GET /api/stacks/vikunja (path=/stacks/vikunja)
|
||||
2026/10/29 01:33:59 auth.go:144: [DEBUG] [web] auth: valid session for GET /api/stacks/vikunja
|
||||
2026/10/29 01:33:59 router.go:78: [DEBUG] [api] GET /api/stacks/vikunja (path=/stacks/vikunja)
|
||||
2026/10/29 01:34:01 manager.go:1701: [DEBUG] Running: docker compose ps -a --format table {{.Name}} {{.Image}} {{.State}} {{.Status}} (in /opt/docker/stacks/vikunja)
|
||||
2026/10/29 01:34:01 manager.go:1817: [INFO] [stacks] Stack vikunja post-start status:
|
||||
2026/10/29 01:34:01 manager.go:1820: [INFO] [stacks] vikunja vikunja/vikunja:2.7.1@sha256:f7dc8428d10aef17f3075886d3c1c022f566ec456f88985f02c137f4fc534576 running Up 3 seconds
|
||||
2026/10/29 01:34:04 healthprobe.go:187: [DEBUG] Health probe vikunja: API GET :3456/api/v1/info → 200 (3ms)
|
||||
|
||||
02:34:09 after: state=running hold=None
|
||||
02:34:10 vikunja: readback of the seeded project http=200 ok=True
|
||||
02:34:10 C1 readback: True
|
||||
02:34:10 vikunja: readback of the seeded project http=200 ok=True
|
||||
02:34:10 C2 readback: True
|
||||
02:34:10 restore record: {"ok": true, "data": {"running": false, "op": "restore", "stack": "vikunja", "started_at": "2026-10-29T01:33:00.84310832Z", "last": {"op": "restore", "stack": "vikunja", "ok": false, "message": "Vissza\u00e1ll\u00edt\u00e1s sikertelen: a(z) vikunja vissza\u00e1ll\u00edt\u00e1sa sikertelen. Nem v\u00e1ltozott semmi: az alkalmaz\u00e1s adatai visszaker\u00fcltek a vissza\u00e1ll\u00edt\u00e1s el\u0151tti \u00e1llapotba, \u00e9s az alkalmaz\u00e1s \u00fajra fut", "finished_at": "2026-10-29T01:33:58.681576827Z"}, "last_recent": true}}
|
||||
02:34:13 blocker left:
|
||||
02:34:16 copies: /mnt/felhom-drives/scratch_hdd/backups/restore-undo
|
||||
/mnt/felhom-drives/scratch_hdd/backups/restore-undo/r1256probe-old
|
||||
/mnt/felhom-drives/scratch_hdd/backups/restore-undo/r1256probe-old/20261001T000000Z
|
||||
/mnt/felhom-drives/scratch_hdd/backups/restore-undo/r1256probe-young
|
||||
/mnt/felhom-drives/scratch_hdd/backups/restore-undo/r1256probe-young/20261028T213014Z
|
||||
/mnt/felhom-drives/scratch_hdd/backups/restore-undo/paperless
|
||||
/mnt/felhom-drives/scratch_hdd/backups/restore-undo/paperless/20261005T010000Z
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
22:34:34 [1] deploy -> 202 {'ok': True, 'message': 'Telepítés elindítva – az állapot a kártyán követhető'}
|
||||
22:34:44 [1] deployed, controller state=running, pinned={'vikunja': 'vikunja/vikunja:2.7.1'}
|
||||
22:34:44 gate: tasks is gated — passed as the household (cookie set)
|
||||
22:34:44 vikunja: register http=200
|
||||
22:34:44 vikunja: create project http=201
|
||||
22:34:47 volumes: ['vikunja_vikunja_data', 'vikunja_vikunja_db']
|
||||
22:35:14 1073741824 bytes (1.0GB) copied, 4.619925 seconds, 221.6MB/s
|
||||
total 1051464
|
||||
drwxr-xr-x 2 root root 4096 Oct 28 21:34 .
|
||||
drwxr-xr-x 1 root root 4096 Oct 28 21:34 ..
|
||||
-rw-r--r-- 1 root root 1073741824 Oct 28 21:34 r1256-ballast.bin
|
||||
-rw-r--r-- 1 root root 4096 Oct 28 21:34 vikunja.db
|
||||
-rw-r--r-- 1 root root 32768 Oct 28 21:34 vikunja.db-shm
|
||||
-rw-r--r-- 1 root root 2908752 Oct 28 21:34 vikunja.db-wal
|
||||
|
||||
22:35:15 vikunja: readback of the seeded project http=200 ok=True
|
||||
22:35:15 C1 readback: True
|
||||
+1
-1
@@ -17,7 +17,7 @@ wanderer-db | 2026/10/28 22:59:30 Settings synced for index [actors]
|
||||
[2Kwanderer-db | └─ Dashboard: http://0.0.0.0:8090/_/
|
||||
[2Kwanderer-db |
|
||||
[2Kwanderer-db | (!) Launch the URL below in the browser if it hasn't been open already to create your first superuser account:
|
||||
[2Kwanderer-db | http://0.0.0.0:8090/_/#/pbinstall/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb2xsZWN0aW9uSWQiOiJwYmNfMzE0MjYzNTgyMyIsImV4cCI6MTc5MzIzMDE3MCwiaWQiOiJpb2hzaHpjeXp6bGE3b2oiLCJyZWZyZXNoYWJsZSI6ZmFsc2UsInR5cGUiOiJhdXRoIn0.66F82yj7TdPBVesWeuZf2Gi5XFXY0VnF_yIKY-98f_g
|
||||
[2Kwanderer-db | http://0.0.0.0:8090/_/#/pbinstall/<jwt redacted>
|
||||
[2Kwanderer-db | (you can also create your first superuser by running: /pocketbase superuser upsert EMAIL PASS)
|
||||
[2Kwanderer |
|
||||
[2Kwanderer | > wanderer@0.21.2 start
|
||||
|
||||
Reference in new issue
Block a user