More apps update themselves at night (30+2 -> 35+3); the same-name security-fix gap measured (R-740, decision for the operator)
gates / gates (push) Successful in 29s
gates / gates (push) Successful in 29s
- Twelve steps published on both venues (catalog): first ladders for calibre-web, gitea, wger, crafty-controller, uptime-kuma, zipline (two steps); within-major emby, ghost, home-assistant, outline, rallly. immich's step v3.0.3 -> v3.2.2 re-proven at 768M (Part D). - Part C: the night leg skips a digest-only change AND the catalog never records a same-tag re-test, so a same-name upstream fix reaches no box. Row R-740; the decision in STATUS; `09` decision 30 carries a dated note (the decision itself unchanged). - Rows: 369 -> 377. Opened R-735..R-742; closed R-735, R-738, R-742; narrowed R-462, R-624, R-446, R-440, R-734, R-732. The currency audit gains §1b (and corrects its 31+1 to 30+2). Evidence: documentation/audits/more-night-apps-2026-09-30/. Report: REPORT-more-night-apps-2026-09-30.md. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
+14
@@ -16,6 +16,20 @@
|
|||||||
> and holds nothing of its own; this file does hold its own content, namely the standing rulings below.
|
> and holds nothing of its own; this file does hold its own content, namely the standing rulings below.
|
||||||
|
|
||||||
|
|
||||||
|
> **2026-09-30 (evening) — more night-updatable apps; the same-name fix gap measured (R-740, operator decision).**
|
||||||
|
> Catalog: first ladders for calibre-web, gitea (its installer form, R-624), wger, crafty-controller, uptime-kuma, zipline
|
||||||
|
> (4.6.1 → 4.7.0 → 4.8.0 — 4.8.0 refuses a database that skipped 4.7.x, R-742; the box UNDID the direct jump by itself);
|
||||||
|
> within-major steps emby, ghost, home-assistant, outline, rallly. Night (a) 30 + 2 → 34 + 3 (calibre-web conditional:
|
||||||
|
> its library `metadata.db` changes). wger ran no migrations on update → login 500 behind a `done` Update; fixed in the
|
||||||
|
> template (`DJANGO_PERFORM_MIGRATIONS=True`, R-738 closed). immich's step 0b82… re-proven at 768M and rewritten by the
|
||||||
|
> new `upgrade-test.py --restep` (Part D). Harness: 5 fixtures, HTTPS backends on the bench, per-file names behind
|
||||||
|
> `files_may_change`, bench `password:N:special` (R-735 closed). **Part C (R-740):** the night leg skips a digest-only
|
||||||
|
> change (`unattended.go:433–435`), AND the catalog never records a same-tag re-test (writer refuses "nothing moves"), so a
|
||||||
|
> same-name upstream fix reaches no box; a unit walk shows the leg WOULD take a same-tag re-test entry with no controller
|
||||||
|
> change. `09` decision 30 carries a dated note. New rows R-736 (images never deleted → disk fills), R-737 (wger app-login
|
||||||
|
> 500, no JWT key), R-739 (bench cannot run wanderer), R-741 (after_install's default-login window, measured 1–18 s).
|
||||||
|
> Evidence: `documentation/audits/more-night-apps-2026-09-30/`. Report: `REPORT-more-night-apps-2026-09-30.md`.
|
||||||
|
|
||||||
> **2026-09-30 (late afternoon) — immich's first start (R-732 CLOSED).** Cause measured: the first-start geodata import
|
> **2026-09-30 (late afternoon) — immich's first start (R-732 CLOSED).** Cause measured: the first-start geodata import
|
||||||
> runs up to 9 concurrent 5000-row INSERTs; the database needs ~400 MB anon + ~170 MB touched shared_buffers (the image's
|
> runs up to 9 concurrent 5000-row INSERTs; the database needs ~400 MB anon + ~170 MB touched shared_buffers (the image's
|
||||||
> fixed 512MB) — over a 512M limit without swap (bench: 61–104 kills), survivable only by swapping (9202). An update that
|
> fixed 512MB) — over a 512M limit without swap (bench: 61–104 kills), survivable only by swapping (9202). An update that
|
||||||
|
|||||||
@@ -0,0 +1,56 @@
|
|||||||
|
# REPORT — more apps that update themselves (2026-09-30, evening, by day)
|
||||||
|
|
||||||
|
Evidence: `documentation/audits/more-night-apps-2026-09-30/` (README there has the per-app table). Architecture read:
|
||||||
|
`architecture/09-update-architecture.md` §3 decisions 6, 13, 14, 17, 22, 30, §6.4 parts 4–7, §6.5.
|
||||||
|
|
||||||
|
## The Part table
|
||||||
|
|
||||||
|
| Part | done / not done / changed | why |
|
||||||
|
|---|---|---|
|
||||||
|
| **A1 calibre-web** | **done** — v4.0.6 → v4.0.8, first ladder `53a4a1d` | front door = the Upload button (HTTP form), read back through OPDS + the served EPUB. The ingest folder was NOT used (it would be a file planted in a mount). `files_may_change`: the library DB `metadata.db` (+`-shm`, `-wal`) in the books folder; the book file did not change |
|
||||||
|
| **A2 gitea** | **done** — 1.27.0 → 1.27.3, first ladder `d7ba60c` | the installer-form POST (no CSRF on that form), through the setup gate on the box. 28.0.0 not touched |
|
||||||
|
| **B1 emby, ghost, home-assistant** | **done** — `3e4aa77`, `9a78e3b`, `15f4d59` | each had a newer tag inside its line (re-checked) |
|
||||||
|
| **B2 uptime-kuma, wger, crafty-controller** | **done** — `35dd5cf`, `4ad32aa` (+ fix `7a4ff48`), `e1f0179` | new fixtures; wger needed a template fix first (R-738) |
|
||||||
|
| **B2 wanderer** | **not done** | the bench cannot run it at all: its web server calls the DB at a public https name (R-739). The meilisearch question is NOT measured |
|
||||||
|
| **B3 time left** | **done** — outline `b0b2514`, rallly `8d3a35a`, zipline 4.6.1 → 4.7.0 `a9700e2` → 4.8.0 `fb87030` | zipline 4.8.0 refuses a database that skipped 4.7.x (R-742); the box undid the direct jump itself |
|
||||||
|
| **C the same-name fix gap** | **done** — row R-740, STATUS decision, `09` decision 30 dated note | measured from source, a unit walk, the registry and demo-hp; **nothing built** |
|
||||||
|
| **D immich's older step** | **done (changed)** — re-proven at 768M, step files rewritten `48440ce` | the brief's route needed a writer mode that did not exist → `upgrade-test.py --restep` `63a96b0`, with tests |
|
||||||
|
|
||||||
|
**Night-updatable apps (the audit's method (a)): 30 + 2 conditional at the start → 35 + 3 conditional** (38 carry a proven step; 15 have no ladder).
|
||||||
|
|
||||||
|
## Claims in the brief that turned out wrong
|
||||||
|
|
||||||
|
1. **"Night-updatable: 31 (+ nextcloud conditional)"** — at the session's start it was **30 + 2 conditional**: the
|
||||||
|
afternoon's immich step carries `files_may_change` (R-734), so immich counts as conditional.
|
||||||
|
2. **"Register 366 rows"** — **369**: the afternoon session added R-732..R-734 after STATUS said 366.
|
||||||
|
3. **"calibre-web and gitea have no ladder"** — true.
|
||||||
|
4. **"gitea's fixture fails at the installer"** — true (`MustInstalled`); the installer form works headless.
|
||||||
|
5. **"The leg never presses a digest-only change"** — true (`unattended.go:433–435`). But the larger fact is that the
|
||||||
|
catalog never records a same-tag re-test at all, so the Update button does not deliver it either (R-740).
|
||||||
|
6. **"Decision 30's text says the leg would"** — true: „until someone (or the automatic leg) presses Update".
|
||||||
|
7. **"immich's 0b82… step pins 512M"** — true. **"The writer rewrites the step file"** — it could not (it writes a
|
||||||
|
step file only once, when a step is superseded); `--restep` was added.
|
||||||
|
8. **"No real box runs immich v3.0.3"** — true and stronger: no box reporting to the hub runs immich at all
|
||||||
|
(hub `/apps`, positive control bookstack = 2 deployments).
|
||||||
|
9. **"wger: behind inside the major"** and **"crafty/uptime-kuma/wanderer need a new fixture"** — true; wanderer
|
||||||
|
cannot be run on the bench at all.
|
||||||
|
|
||||||
|
## Rows
|
||||||
|
|
||||||
|
Before **369**, after **377**. Opened: R-735 (bench password shape — closed), R-736 (old images never deleted),
|
||||||
|
R-737 (wger app-login 500), R-738 (wger migrations — closed), R-739 (bench cannot run wanderer), R-740 (same-name fix —
|
||||||
|
decision), R-741 (after_install default-login window), R-742 (zipline needs 4.7.x first — closed). Narrowed: R-462, R-624, R-446,
|
||||||
|
R-440, R-734, R-732 (note). Closed: R-735, R-738, R-742.
|
||||||
|
|
||||||
|
## Teardown
|
||||||
|
|
||||||
|
Three layers:
|
||||||
|
- **Machine.** Scratch guest 9202: every app this session installed removed through the product (calibre-web twice,
|
||||||
|
gitea, emby, ghost, home-assistant, wger ×3, crafty-controller, uptime-kuma, outline, rallly, zipline ×3); their images
|
||||||
|
and older drill leftovers removed **by name** (53 GB freed at 17:43 when the disk refused an install — R-736); pointed
|
||||||
|
back at the live catalog and its `update:` override removed (`box/T6`, `repo_url` read back); the same six containers
|
||||||
|
run as at the start. Bench LXC 9401: evidence copied off after every run, its images removed by name once (disk full),
|
||||||
|
then destroyed with its template (`bench/B9`). Drill catalog: force-reset to live `main` `fb87030` (operator-allowed),
|
||||||
|
image lines identical (`box/T7`).
|
||||||
|
- **Host.** demo-hp: `pct list` shows 9201 and 9202 only, as at the start.
|
||||||
|
- **Hub.** Read only (`/hosts`, `/apps`); nothing provisioned.
|
||||||
@@ -2,27 +2,65 @@
|
|||||||
|
|
||||||
**Ready for the first real tester (Tester-2): yes. You confirmed the tunnel route and the connect mails (2026-09-30).**
|
**Ready for the first real tester (Tester-2): yes. You confirmed the tunnel route and the connect mails (2026-09-30).**
|
||||||
|
|
||||||
**Updated 2026-09-30 (late afternoon). Both demo boxes run controller 0.283.1 and host agent 0.138.0. Hub 0.126.0. New installs get golden 0.283.1 with agent 0.138.0. No new release today.**
|
**Updated 2026-09-30 (evening). Both demo boxes run controller 0.283.1 and host agent 0.138.0. Hub 0.126.0. New installs get golden 0.283.1 with agent 0.138.0. No controller, agent or hub release today.**
|
||||||
|
|
||||||
**Tester-2 — read only, from the hub.**
|
**Tester-2 — read only, from the hub.** The customer record exists. Tester-2's box has not registered yet, so there are no apps to read.
|
||||||
- The customer record exists and its settings are ready.
|
|
||||||
- **Tester-2's box has not registered yet.** So there are no apps and no update switch to read.
|
|
||||||
- When Tester-2 installs an app, the box updates it at night by itself, like the demo boxes.
|
|
||||||
|
|
||||||
**Decisions today:** none taken by me. The "seed test data through the database" choice was **not needed**, so it is not recorded.
|
## One decision for you
|
||||||
|
|
||||||
**What I did, and it worked.**
|
**Question: should a box also take, at night, a security fix that the app's maker ships under the same name?**
|
||||||
- **The last six database apps are decided.** Three moved to the newer database version (rallly, outline, sparkyfitness). Each was tested on the test bench and on the scratch box, and each one's automatic undo was tested too. Three stay where they are (zipline, adventurelog, immich), because their makers use the same or an older version. **All eleven database apps are now done.**
|
Database images like `postgres:18-alpine` or `redis:7-alpine` get fixes without a new name. Seven of the eight such names
|
||||||
- **More apps can update themselves at night:** 31 apps (plus nextcloud when a full copy exists), up from 28 this morning. Seven more apps got a newer version today, each tested on the bench and on the scratch box: bookstack, kimai, audiobookshelf, n8n, navidrome, grafana, komga.
|
we use on Docker Hub got a new push in the last 30 days.
|
||||||
- **immich is fixed and updated (afternoon).** On its first start, immich loads a big list of places into its database, 9 parts at once. That needs about 575 MB. Its database had only 512 MB. A box without swap space killed it again and again; the scratch box survived only because it has swap. Now the database gets 768 MB. Tested with swap off: a fresh install on the bench (two times) and on the scratch box, 0 kills. The held immich update is published with it, because that update loads the list again. **Cost: each immich box reserves 256 MB more** (immich already reserves about 4 GB).
|
|
||||||
- **The full-system backup now waits for app updates — seen live.** On the HP demo box it waited twice while two apps updated, then started, and it worked. The box's settings are back as before.
|
|
||||||
- **The HP demo box had no full-system backup since 29 Sept** (its disk was just too full to fit one). Today's test made a fresh one. The problem is the old known one: the box's system disk is small.
|
|
||||||
- **How current the catalog is:** 25 of 53 apps are a little behind their makers, 19 are a big version behind. The plan for which apps to test next is written.
|
|
||||||
- **Old register rows fixed.** The "up to date" badge is honest now for every app with a test record.
|
|
||||||
|
|
||||||
**Rows.** Today in total: 3 closed, 3 narrowed, 5 opened. The list went from 361 to 366 rows.
|
Today **no box gets these fixes at all** — not at night, and not by the Update button either. The reason: the catalog
|
||||||
|
only records a test when the name changes, so the box never learns that a newer, tested image exists. The page says
|
||||||
|
"up to date".
|
||||||
|
|
||||||
**What needs you.**
|
- **Option A — the night takes a tested fix.** The catalog re-tests the same name at the new image (bench and scratch
|
||||||
1. **Nothing to decide.** The immich memory rise follows your earlier rule for raising a limit. Tell me if you want it undone.
|
box, as today), and records it. The box then takes it at night by itself, with its backup and undo. Measured: the box
|
||||||
2. **No golden bake is due.** The golden built today matches the newest controller. The 4 October date matters only if a new controller comes out before then. The weekly bake stays around 7 October. *(Corrected 2026-09-30: the earlier line said a bake was due before 4 October. That was wrong.)*
|
already does this with no change; only the catalog side is new work (about one evening to build). Cost after that:
|
||||||
3. **D4, the image copies:** unchanged. If you do nothing, nothing changes.
|
about 20 app re-tests a month, machine time only, run by day.
|
||||||
|
- **Option B — keep it manual, say so honestly.** No new work. The fixes arrive only when we move an app to a new name.
|
||||||
|
Database engines rarely change name, so their fixes may wait for months. I would correct the text of the earlier
|
||||||
|
decision, which says the night would take them.
|
||||||
|
|
||||||
|
**If nothing is decided:** nothing breaks. Database images stay at the build of the day we tested them.
|
||||||
|
**Who is blocked:** nobody today. **My recommendation: A**, database and redis names first — that is where security
|
||||||
|
fixes land, and the box side already works.
|
||||||
|
|
||||||
|
## What I did, and it worked
|
||||||
|
|
||||||
|
- **More apps update themselves at night: 35 now (plus 3 when a full copy exists), up from 30 (+2) at the start of the
|
||||||
|
evening.** New: gitea, wger, crafty-controller, uptime-kuma, zipline. calibre-web counts as "with a full copy", because its
|
||||||
|
update rewrites the book library's own database file.
|
||||||
|
- **Twelve updates tested and published**, each on the test bench and on the scratch box: calibre-web, gitea, wger,
|
||||||
|
crafty-controller, uptime-kuma, zipline (their first tested updates; zipline in two steps), and emby, ghost, home-assistant, outline, rallly.
|
||||||
|
Each of these apps is now on its maker's newest version in its line.
|
||||||
|
- **calibre-web (books) and gitea now have tests.** calibre-web: a book goes in through its Upload button and is read
|
||||||
|
back. gitea: its first-run form is filled in the way a household does it.
|
||||||
|
- **immich's older in-between update is fixed.** It still gave the database 512 MB and it does reload the big list of
|
||||||
|
places. Tested again with 768 MB and no swap: 0 kills. No box runs immich today.
|
||||||
|
|
||||||
|
## What broke, and what I did
|
||||||
|
|
||||||
|
- **wger: an update would have broken it.** After the update the app looked fine, but nobody could log in. Its database
|
||||||
|
was never upgraded, because the catalog forgot one setting. **Fixed** in the catalog, and tested again: it works. No
|
||||||
|
box runs wger.
|
||||||
|
- **zipline: its newest version cannot be reached in one jump.** The scratch box saw it fail and **put the old version
|
||||||
|
back by itself in 20 seconds** — the undo worked on a real failure. Going through the version in between works; that
|
||||||
|
is now the path.
|
||||||
|
- **The scratch box's disk filled with old app images.** Removing an app or updating it never deletes the old image.
|
||||||
|
On a household box this would slowly fill the disk until updates are refused. Written down; not fixed today.
|
||||||
|
- **For a few seconds after a fresh install, calibre-web's well-known default login works.** The box changes it right
|
||||||
|
after, but the app is already reachable. Written down; not fixed today.
|
||||||
|
- **wanderer cannot run on the test bench**, so it was not tested. Written down.
|
||||||
|
|
||||||
|
**Rows.** Tonight: 3 closed (all three found and fixed tonight), 6 narrowed, 8 opened. The list went from 369 to 377 rows. *(The brief said 366; the
|
||||||
|
afternoon session had already added three.)*
|
||||||
|
|
||||||
|
## What needs you
|
||||||
|
|
||||||
|
1. **The decision above** (same-name security fixes). If you do nothing, nothing changes.
|
||||||
|
2. **The image clean-up on a box** will need your word on what the box keeps (the running image and the one before it,
|
||||||
|
for the undo). If you do nothing, disks fill slowly; nothing breaks tonight.
|
||||||
|
3. **No golden bake is due.** The weekly bake stays around 7 October.
|
||||||
|
|||||||
@@ -369,6 +369,12 @@ R-636's louder repeated alarm.
|
|||||||
wants the TESTED image pulled, and slice 3's ruling freezes the version until a deliberate Update;
|
wants the TESTED image pulled, and slice 3's ruling freezes the version until a deliberate Update;
|
||||||
(a) broke the second. Shipped as controller **v0.269.1** — a second release in the session, instead of
|
(a) broke the second. Shipped as controller **v0.269.1** — a second release in the session, instead of
|
||||||
shipping (a) to the fleet with the floor.
|
shipping (a) to the fleet with the floor.
|
||||||
|
*Note 2026-09-30 (R-740) — the cost line above is not what the code does.* „(or the automatic leg)": the
|
||||||
|
automatic leg never presses a digest-only change (`unattended.go:433–435`, skip `no_test_record`). And the
|
||||||
|
catalog never writes a re-test of a floating tag at a new digest (the writer refuses a step that moves no
|
||||||
|
image), so a same-name upstream fix reaches no box by either route today. Measured, with the options, in
|
||||||
|
R-740; the decision is the operator's (STATUS 2026-09-30). This decision's ruling — the sync never moves
|
||||||
|
an installed app's digest — is unchanged.
|
||||||
|
|
||||||
### 2026-09-25 (night) — three decisions taken by CC unattended, building §6.4 part 7
|
### 2026-09-25 (night) — three decisions taken by CC unattended, building §6.4 part 7
|
||||||
|
|
||||||
|
|||||||
@@ -47,6 +47,17 @@ afternoon catalog with the same registry data: **night (a) 31 + nextcloud condit
|
|||||||
have no ladder.** The "behind upstream" counts are not re-measured; bookstack and kimai are now at their newest release
|
have no ladder.** The "behind upstream" counts are not re-measured; bookstack and kimai are now at their newest release
|
||||||
inside the major.
|
inside the major.
|
||||||
|
|
||||||
|
### 1b. After the evening's moves (added 2026-09-30 evening, `more-night-apps-2026-09-30/`)
|
||||||
|
|
||||||
|
**Correction first:** the numbers above were counted before the immich step of the late afternoon; that step carries
|
||||||
|
`files_may_change` (R-734), so at `4c552cf` — the evening session's start — `04-analyse.py` reads **night (a) 30 + 2
|
||||||
|
conditional (nextcloud, immich); (b) 32**, not 31 + 1. The evening published first ladders for calibre-web, gitea, wger,
|
||||||
|
crafty-controller, uptime-kuma and zipline, and within-major steps for emby, ghost, home-assistant, outline, rallly
|
||||||
|
(and zipline's second). Re-run of `04-analyse.py` on the evening catalog, same registry data (`more-night-apps-2026-09-30/count/`):
|
||||||
|
**night (a) 35 + 3 conditional (nextcloud, immich, calibre-web); (b) 38 carry a proven step; 15 have no ladder.**
|
||||||
|
The "behind upstream" counts are not re-measured; each of the eleven moved apps is now at the newest release inside its
|
||||||
|
major (re-checked the same evening, `more-night-apps-2026-09-30/00-upstream-recheck.txt`).
|
||||||
|
|
||||||
## 2. What could not be measured — stated, not guessed
|
## 2. What could not be measured — stated, not guessed
|
||||||
|
|
||||||
1. **plant-it** (`msdeluise/plant-it:0.10.0`): Docker Hub gives 401 on the tag list, and its catalog
|
1. **plant-it** (`msdeluise/plant-it:0.10.0`): Docker Hub gives 401 on the tag list, and its catalog
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
# upstream re-check 2026-09-30T14:54:08+00:00
|
||||||
|
crocodilestick/calibre-web-automated:v4.0.6: newest same major = v4.0.8; newest at all = v4.0.8; newer in major: ['v4.0.7', 'v4.0.8']
|
||||||
|
gitea/gitea:1.27.0: newest same major = 1.27.3; newest at all = 28.0.0; newer in major: ['1.27.1', '1.27.2', '1.27.3']
|
||||||
|
emby/embyserver:4.11.0.3: newest same major = 4.11.0.4; newest at all = 4.11.0.4; newer in major: ['4.11.0.4']
|
||||||
|
ghost:6.65.0-alpine: newest same major = 6.67.0-alpine; newest at all = 6.67.0-alpine; newer in major: ['6.67.0-alpine']
|
||||||
|
ghcr.io/home-assistant/home-assistant:2026.9.3: newest same major = 2026.9.4; newest at all = 2026.9.4; newer in major: ['2026.9.4']
|
||||||
|
louislam/uptime-kuma:2.4.0: newest same major = 2.5.5; newest at all = 2.5.5; newer in major: ['2.5.0', '2.5.1', '2.5.2', '2.5.3', '2.5.4', '2.5.5']
|
||||||
|
wger/server:2.6: newest same major = 2.7; newest at all = 2.7; newer in major: ['2.7']
|
||||||
|
registry.gitlab.com/crafty-controller/crafty-4:4.10.7: newest same major = 4.11.0; newest at all = 4.11.0; newer in major: ['4.10.8', '4.11.0']
|
||||||
|
flomp/wanderer-web:v0.20.0: newest same major = v0.21.0; newest at all = v0.21.0; newer in major: ['v0.21.0']
|
||||||
|
flomp/wanderer-db:v0.20.0: newest same major = v0.21.0; newest at all = v0.21.0; newer in major: ['v0.21.0']
|
||||||
|
getmeili/meilisearch:v1.36.0: newest same major = v1.54.2; newest at all = v1.54.2; newer in major: ['v1.37.0', 'v1.38.0', 'v1.38.1', 'v1.38.2', 'v1.39.0', 'v1.40.0', 'v1.41.0', 'v1.42.0', 'v1.42.1', 'v1.43.0', 'v1.43.1', 'v1.44.0', 'v1.45.0', 'v1.45.1', 'v1.45.2', 'v1.46.0', 'v1.46.1', 'v1.47.0', 'v1.47.1', 'v1.48.0', 'v1.48.1', 'v1.48.2', 'v1.48.3', 'v1.49.0', 'v1.50.0', 'v1.51.0', 'v1.52.0', 'v1.52.1', 'v1.52.2', 'v1.52.3', 'v1.53.0', 'v1.53.1', 'v1.53.2', 'v1.54.0', 'v1.54.1', 'v1.54.2']
|
||||||
|
# upstream re-check 2026-09-30T16:10:47+00:00
|
||||||
|
outlinewiki/outline:1.9.1: newest same major = 1.10.1; newest at all = 1.10.1; newer in major: ['1.9.2', '1.10.0', '1.10.1']
|
||||||
|
lukevella/rallly:4.11.1: newest same major = 4.15.3; newest at all = 4.15.3; newer in major: ['4.12.0', '4.12.1', '4.12.2', '4.12.3', '4.13.0', '4.13.1', '4.14.0', '4.15.0', '4.15.1', '4.15.2', '4.15.3']
|
||||||
|
ghcr.io/diced/zipline:4.6.1: newest same major = 4.8.0; newest at all = 4.8.0; newer in major: ['4.6.2', '4.6.3', '4.6.4', '4.6.5', '4.7.0', '4.8.0']
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
# calibre-web fresh install on 9202 (drill catalog, controller 0.283.1) — does the KNOWN default login admin/admin123 work before after_install runs?
|
||||||
|
# probe: GET /opds with HTTP Basic admin:admin123 through the household's front door (traefik, Host books.<domain>), every ~1 s
|
||||||
|
18:41:24 [1] made the drive paths this app requires: ['/mnt/felhom-drives/scratch_hdd/userdata/calibre-web']
|
||||||
|
18:41:24 [1] required fields filled beyond DOMAIN/SUBDOMAIN: ['HDD_PATH', 'ADMIN_PASSWORD']
|
||||||
|
18:41:24 [1] deploy -> 202 {'ok': True, 'message': 'Telepítés elindítva – az állapot a kártyán követhető'}
|
||||||
|
18:42:09 [1] deployed, controller state=running, pinned={'calibre-web': 'crocodilestick/calibre-web-automated:v4.0.8'}
|
||||||
|
deploy at 16:41:21 True
|
||||||
|
16:41:21 admin:admin123 -> 404
|
||||||
|
16:42:06 admin:admin123 -> 200
|
||||||
|
16:42:07 admin:admin123 -> 401
|
||||||
|
16:42:11 admin:admin123 -> 429
|
||||||
|
16:43:08 admin:admin123 -> 401
|
||||||
|
200 (the default login WORKED): 1 polls, 16:42:06 .. 16:42:06
|
||||||
|
2026/09/30 16:41:49 deploy.go:562: [INFO] [stacks] Stack calibre-web deployed successfully (took 25.3s)
|
||||||
|
|
||||||
@@ -0,0 +1,83 @@
|
|||||||
|
test_a_prober_that_flags_everything_is_refused (__main__.TestCheckEntryPoint.test_a_prober_that_flags_everything_is_refused)
|
||||||
|
The other direction — a prober that cannot clear a correct template is equally useless. ... ERROR: the prober failed its own canary — canary-clean: expected CLEAN, got BROKEN (papra: mount /app/data is NOT writable by the app's own uid=999 gid=999; papra: DATA in the writable layer at /app/app-data/db (db_signature=True, e.g. ['db.sqlite']); papra: declared volume /app/data)
|
||||||
|
refusing to report a verdict: a broken detector reporting CLEAN is worse than no detector at all
|
||||||
|
ok
|
||||||
|
test_a_prober_that_never_flags_is_refused (__main__.TestCheckEntryPoint.test_a_prober_that_never_flags_is_refused)
|
||||||
|
The self-test is the gate's own red-proof. A prober that calls the R-156 canary CLEAN ... ERROR: the prober failed its own canary — canary-broken: expected BROKEN, got CLEAN ()
|
||||||
|
refusing to report a verdict: a broken detector reporting CLEAN is worse than no detector at all
|
||||||
|
ok
|
||||||
|
test_all_clean_passes_with_rc0 (__main__.TestCheckEntryPoint.test_all_clean_passes_with_rc0) ... ok
|
||||||
|
test_broken_wins_over_undetermined (__main__.TestCheckEntryPoint.test_broken_wins_over_undetermined) ... ok
|
||||||
|
test_one_broken_app_refuses_with_rc1 (__main__.TestCheckEntryPoint.test_one_broken_app_refuses_with_rc1) ... ok
|
||||||
|
test_out_of_circulation_apps_are_skipped_and_named (__main__.TestCheckEntryPoint.test_out_of_circulation_apps_are_skipped_and_named) ... ok
|
||||||
|
test_undetermined_is_rc2_not_rc0 (__main__.TestCheckEntryPoint.test_undetermined_is_rc2_not_rc0)
|
||||||
|
UNDETERMINED must never read as a clean bill of health. ... ok
|
||||||
|
test_a_SIBLING_container_holding_the_state_silences_it (__main__.TestClassify.test_a_SIBLING_container_holding_the_state_silences_it)
|
||||||
|
The measured docmost / immich / claper shape, and the reason the question is asked per ... ok
|
||||||
|
test_a_mount_that_received_data_silences_the_structural_check (__main__.TestClassify.test_a_mount_that_received_data_silences_the_structural_check)
|
||||||
|
It must not fire on every app with one empty volume — crafty-controller has three ... ok
|
||||||
|
test_an_anonymous_volume_at_a_RUNTIME_path_is_not_a_defect (__main__.TestClassify.test_an_anonymous_volume_at_a_RUNTIME_path_is_not_a_defect)
|
||||||
|
The measured privatebin shape: its image declares `VOLUME /run`, so docker created an ... ok
|
||||||
|
test_an_anonymous_volume_holding_REAL_data_still_convicts (__main__.TestClassify.test_an_anonymous_volume_holding_REAL_data_still_convicts)
|
||||||
|
…and the runtime exemption must not become a blanket one. ... ok
|
||||||
|
test_anonymous_volume_with_data_is_broken (__main__.TestClassify.test_anonymous_volume_with_data_is_broken)
|
||||||
|
An anonymous volume survives a restart, which is what makes it deceptive: it is absent ... ok
|
||||||
|
test_container_not_running_is_undetermined (__main__.TestClassify.test_container_not_running_is_undetermined) ... ok
|
||||||
|
test_empty_declared_volume_alone_is_a_note_not_a_verdict (__main__.TestClassify.test_empty_declared_volume_alone_is_a_note_not_a_verdict)
|
||||||
|
An empty volume on an app that also wrote nothing is UNDETERMINED, not BROKEN — the ... ok
|
||||||
|
test_is_noise_dir_covers_the_runtime_directories (__main__.TestClassify.test_is_noise_dir_covers_the_runtime_directories) ... ok
|
||||||
|
test_known_good_is_clean (__main__.TestClassify.test_known_good_is_clean)
|
||||||
|
A detector with no proven negative is a detector that flags everything. ... ok
|
||||||
|
test_no_containers_is_undetermined (__main__.TestClassify.test_no_containers_is_undetermined) ... ok
|
||||||
|
test_nothing_landed_in_any_mount_is_caught_without_any_path_vocabulary (__main__.TestClassify.test_nothing_landed_in_any_mount_is_caught_without_any_path_vocabulary)
|
||||||
|
The measured gramps-web miss. Its family tree goes to ... ok
|
||||||
|
test_papra_signature_is_broken (__main__.TestClassify.test_papra_signature_is_broken)
|
||||||
|
The whole reason this gate exists: it must reproduce the known instance. ... ok
|
||||||
|
test_structural_check_stays_silent_when_the_app_wrote_nothing_at_all (__main__.TestClassify.test_structural_check_stays_silent_when_the_app_wrote_nothing_at_all)
|
||||||
|
An idle app is UNDETERMINED for the existing reason, not accused by this one. ... ok
|
||||||
|
test_the_structural_finding_SURVIVES_a_broken_verdict (__main__.TestClassify.test_the_structural_finding_SURVIVES_a_broken_verdict)
|
||||||
|
The measured gramps-web reporting bug. Its accounts DB (rule 2) convicted, and the ... ok
|
||||||
|
test_wrote_nothing_is_undetermined_not_clean (__main__.TestClassify.test_wrote_nothing_is_undetermined_not_clean)
|
||||||
|
The load-bearing distinction. An app that wrote nothing has not been shown to be ... ok
|
||||||
|
test_a_bytecode_cache_DIRECTORY_is_noise (__main__.TestDiffRollup.test_a_bytecode_cache_DIRECTORY_is_noise)
|
||||||
|
The measured crafty-controller shape. `docker diff` lists directories too, so the ... ok
|
||||||
|
test_a_chown_sweep_over_image_files_is_not_data (__main__.TestDiffRollup.test_a_chown_sweep_over_image_files_is_not_data)
|
||||||
|
The measured calibre-web shape: 92 `C` entries under ... ok
|
||||||
|
test_a_database_signature_still_convicts_on_its_own (__main__.TestDiffRollup.test_a_database_signature_still_convicts_on_its_own)
|
||||||
|
The demotion must not weaken rule 2 — papra and gramps-web are both caught by it. ... ok
|
||||||
|
test_a_genuinely_misplaced_PGDATA_is_still_caught (__main__.TestDiffRollup.test_a_genuinely_misplaced_PGDATA_is_still_caught)
|
||||||
|
…and removing it must not open a blind spot: PG_VERSION and pg_control are the real ... ok
|
||||||
|
test_a_path_token_alone_does_NOT_convict (__main__.TestDiffRollup.test_a_path_token_alone_does_NOT_convict)
|
||||||
|
The measured onlyoffice shape: the document server unpacks its OWN static assets into ... ok
|
||||||
|
test_a_postgres_CONFIG_file_is_not_a_database_signature (__main__.TestDiffRollup.test_a_postgres_CONFIG_file_is_not_a_database_signature)
|
||||||
|
The measured immich shape: the postgres entrypoint writes /etc/postgresql/postgresql.conf ... ok
|
||||||
|
test_a_token_dir_is_reported_and_counts_as_the_app_having_written (__main__.TestDiffRollup.test_a_token_dir_is_reported_and_counts_as_the_app_having_written)
|
||||||
|
Demoted is not discarded. The note must reach the operator, and an app that wrote only ... ok
|
||||||
|
test_but_one_real_file_among_noise_still_convicts (__main__.TestDiffRollup.test_but_one_real_file_among_noise_still_convicts)
|
||||||
|
…and the rule must not become a blanket amnesty for any directory with a cache in it. ... ok
|
||||||
|
test_cache_directories_are_filtered_at_ENTRY_level (__main__.TestDiffRollup.test_cache_directories_are_filtered_at_ENTRY_level)
|
||||||
|
Where the filtering happens matters, because it is the reason a second ... ok
|
||||||
|
test_changed_db_file_is_SUSPECT_not_a_verdict (__main__.TestDiffRollup.test_changed_db_file_is_SUSPECT_not_a_verdict)
|
||||||
|
`C` on a database file is genuinely ambiguous: a chown produces it, and so does an app ... ok
|
||||||
|
test_created_file_in_a_data_path_IS_data (__main__.TestDiffRollup.test_created_file_in_a_data_path_IS_data)
|
||||||
|
The other direction — the rule must not become blind. papra's verb is `A`. ... ok
|
||||||
|
test_db_signature_beats_everything (__main__.TestDiffRollup.test_db_signature_beats_everything) ... ok
|
||||||
|
test_deleted_entries_are_not_writes (__main__.TestDiffRollup.test_deleted_entries_are_not_writes) ... ok
|
||||||
|
test_logs_caches_and_pids_are_noise (__main__.TestDiffRollup.test_logs_caches_and_pids_are_noise) ... ok
|
||||||
|
test_unclassified_writes_are_reported_never_dropped (__main__.TestDiffRollup.test_unclassified_writes_are_reported_never_dropped) ... ok
|
||||||
|
test_base64key_carries_the_controller_s_base64_prefix (__main__.TestEnvBuilding.test_base64key_carries_the_controller_s_base64_prefix)
|
||||||
|
felhom-controller `deploy.go:904` returns "base64:"+b64. Without the prefix Laravel ... ok
|
||||||
|
test_deploy_field_default_and_generate_are_honoured (__main__.TestEnvBuilding.test_deploy_field_default_and_generate_are_honoured) ... ok
|
||||||
|
test_deploy_fields_block_ends_at_the_next_top_level_key (__main__.TestEnvBuilding.test_deploy_fields_block_ends_at_the_next_top_level_key) ... ok
|
||||||
|
test_every_compose_var_resolves (__main__.TestEnvBuilding.test_every_compose_var_resolves)
|
||||||
|
A var resolving to "" binds a bogus root-owned dir at the container root ... ok
|
||||||
|
test_password_special_carries_the_controllers_shape (__main__.TestEnvBuilding.test_password_special_carries_the_controllers_shape)
|
||||||
|
R-735: `password:N:special` must be what the controller's randomWithSpecial mints (deploy.go L1335): ... ok
|
||||||
|
test_benign_touch_stays_clean_and_is_still_reported (__main__.TestSuspectAdjudication.test_benign_touch_stays_clean_and_is_still_reported) ... ok
|
||||||
|
test_confirmed_write_into_an_image_file_is_broken (__main__.TestSuspectAdjudication.test_confirmed_write_into_an_image_file_is_broken) ... ok
|
||||||
|
test_unresolved_suspect_is_undetermined_never_clean (__main__.TestSuspectAdjudication.test_unresolved_suspect_is_undetermined_never_clean) ... ok
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
Ran 45 tests in 0.017s
|
||||||
|
|
||||||
|
OK
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
test_password_special_carries_the_controllers_shape (test_check_volume_persistence.TestEnvBuilding.test_password_special_carries_the_controllers_shape)
|
||||||
|
R-735: `password:N:special` must be what the controller's randomWithSpecial mints (deploy.go L1335): ... FAIL
|
||||||
|
|
||||||
|
======================================================================
|
||||||
|
FAIL: test_password_special_carries_the_controllers_shape (test_check_volume_persistence.TestEnvBuilding.test_password_special_carries_the_controllers_shape)
|
||||||
|
R-735: `password:N:special` must be what the controller's randomWithSpecial mints (deploy.go L1335):
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "/mnt/5_hdd/felhom.eu/git/app-catalog-felhom.eu/scripts/test_check_volume_persistence.py", line 453, in test_password_special_carries_the_controllers_shape
|
||||||
|
self.assertEqual(len(v), 24, v)
|
||||||
|
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
|
||||||
|
AssertionError: 32 != 24 : <the generated throwaway value, redacted>
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
Ran 1 test in 0.002s
|
||||||
|
|
||||||
|
FAILED (failures=1)
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
rc=0
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
--move: nothing moves
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
[17:35:51] scratch drive folders cleared before FROM (R-656): ['/srv/felhom-gate/hdd/userdata/media/books', '/srv/felhom-gate/import/calibre']
|
||||||
|
[17:35:51] N-calibre-web: deploying calibre-web at FROM {'calibre-web': 'crocodilestick/calibre-web-automated:v4.0.6'}
|
||||||
|
[17:36:22] FROM settled=True in 30.8s :: {"calibre-web": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}}
|
||||||
|
[17:36:22] fixture: the BOX walk's own (CalibreWeb), through upgrade_boxport
|
||||||
|
[17:36:22] calibre-web: the generated admin password does not log in (opds http=401) — running the template's own after_install command (the app's CLI, as the product does after an install)
|
||||||
|
[17:36:25] calibre-web: after_install :: OKIE_SECURE set to False (Standard/LDAP login) Password for user 'admin' changed
|
||||||
|
[17:36:25] calibre-web: POST /upload http=200 {"location": "/tasks"}
|
||||||
|
[17:36:26] calibre-web: seeded book upg564b2e2d107d is in the library
|
||||||
|
[17:36:32] calibre-web: readback — listed=True download_link=True book_content_served=True
|
||||||
|
[17:36:32] C1 (seed reads back BEFORE): True
|
||||||
|
[17:36:32] N-calibre-web: swapping to TO {'calibre-web': 'crocodilestick/calibre-web-automated:v4.0.8'}
|
||||||
|
[17:36:42] TO up -d rc=0
|
||||||
|
[17:37:13] TO settled=True in 30.9s :: {"calibre-web": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}}
|
||||||
|
[17:37:13] migration lines observed: 6
|
||||||
|
[17:37:15] calibre-web: readback — listed=True download_link=True book_content_served=True
|
||||||
|
[17:37:15] RESULT (seed reads back AFTER): True
|
||||||
|
[17:37:15] files_may_change — the files: ['/srv/felhom-gate/hdd/userdata/media/books/metadata.db (changed)', '/srv/felhom-gate/hdd/userdata/media/books/metadata.db-shm (changed)', '/srv/felhom-gate/hdd/userdata/media/books/metadata.db-wal (changed)']
|
||||||
|
[17:37:15] files_may_change: the bind-mounted tree changed under ['/srv/felhom-gate/hdd/userdata/media/books']
|
||||||
|
[17:37:15] N-calibre-web: ABORT — putting the FROM images back
|
||||||
|
[17:37:58] calibre-web: readback — listed=True download_link=True book_content_served=True
|
||||||
|
[17:37:58] ABORT: app came back in 30.9s; data present=True
|
||||||
|
{
|
||||||
|
"harness_version": 4,
|
||||||
|
"edge": "N-calibre-web",
|
||||||
|
"app": "calibre-web",
|
||||||
|
"note": "names re-run 2026-09-30 (soak 0)",
|
||||||
|
"from": {
|
||||||
|
"calibre-web": "crocodilestick/calibre-web-automated:v4.0.6"
|
||||||
|
},
|
||||||
|
"to": {
|
||||||
|
"calibre-web": "crocodilestick/calibre-web-automated:v4.0.8"
|
||||||
|
},
|
||||||
|
"verdict": "proven",
|
||||||
|
"seed_read_before": true,
|
||||||
|
"seed_read_after": true,
|
||||||
|
"healthy_after": true,
|
||||||
|
"migration_observed": "\u001b[2Kcalibre-web | [migrations] started",
|
||||||
|
"abort": "starts-and-serves",
|
||||||
|
"abort_detail": null,
|
||||||
|
"engine_state_after": null,
|
||||||
|
"memory": null,
|
||||||
|
"marks": [
|
||||||
|
"files_may_change"
|
||||||
|
],
|
||||||
|
"duration_s": 30.9,
|
||||||
|
"measured_at": "2026-09-30T17:37:58Z",
|
||||||
|
"evidence": "evidence/N-calibre-web",
|
||||||
|
"scratch_cleared": [
|
||||||
|
"/srv/felhom-gate/hdd/userdata/media/books",
|
||||||
|
"/srv/felhom-gate/import/calibre"
|
||||||
|
],
|
||||||
|
"files_changed": [
|
||||||
|
"/srv/felhom-gate/hdd/userdata/media/books"
|
||||||
|
],
|
||||||
|
"files_changed_detail": [
|
||||||
|
"/srv/felhom-gate/hdd/userdata/media/books/metadata.db (changed)",
|
||||||
|
"/srv/felhom-gate/hdd/userdata/media/books/metadata.db-shm (changed)",
|
||||||
|
"/srv/felhom-gate/hdd/userdata/media/books/metadata.db-wal (changed)"
|
||||||
|
],
|
||||||
|
"total_s": 127.2
|
||||||
|
}
|
||||||
+8
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"calibre-web": {
|
||||||
|
"status": "running",
|
||||||
|
"health": "healthy",
|
||||||
|
"restarts": 0,
|
||||||
|
"exit": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
+198
@@ -0,0 +1,198 @@
|
|||||||
|
[2Kcalibre-web | [migrations] started
|
||||||
|
[2Kcalibre-web | [migrations] no migrations found
|
||||||
|
[2Kcalibre-web | ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | ,gggg, ,ggg, gg ,gg
|
||||||
|
[2Kcalibre-web | ,88"""Y8b, ,dPYb, ,dPYb, dP""Y8a 88 ,8P ,dPYb,
|
||||||
|
[2Kcalibre-web | d8" `Y8 IP'`Yb IP'`Yb Yb, `88 88 d8' IP'`Yb
|
||||||
|
[2Kcalibre-web | d8' 8b d8 I8 8I gg I8 8I `" 88 88 88 I8 8I
|
||||||
|
[2Kcalibre-web | ,8I "Y88P' I8 8' "" I8 8' 88 88 88 I8 8'
|
||||||
|
[2Kcalibre-web | I8' ,gggg,gg I8 dP gg I8 dP ,gggggg, ,ggg, aaaaaaaa 88 88 88 ,ggg, I8 dP
|
||||||
|
[2Kcalibre-web | d8 dP" "Y8I I8dP 88 I8dP 88gg dP""""8I i8" "8i """""""" 88 88 88 i8" "8i I8dP 88gg
|
||||||
|
[2Kcalibre-web | Y8, i8' ,8I I8P 88 I8P 8I ,8' 8I I8, ,8I Y8 ,88, 8P I8, ,8I I8P 8I
|
||||||
|
[2Kcalibre-web | `Yba,,_____, ,d8, ,d8b,,d8b,_ _,88,_,d8b, ,8I ,dP Y8, `YbadP' Yb,,d8""8b,,dP `YbadP' ,d8b, ,8I
|
||||||
|
[2Kcalibre-web | `"Y8888888 P"Y8888P"`Y88P'"Y888P""Y88P'"Y88P"' 8P `Y8888P"Y888 "88" "88" 888P"Y8888P'"Y88P"'
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | █████╗ ██╗ ██╗████████╗ ██████╗ ███╗ ███╗ █████╗ ████████╗███████╗██████╗
|
||||||
|
[2Kcalibre-web | ██╔══██╗██║ ██║╚══██╔══╝██╔═══██╗████╗ ████║██╔══██╗╚══██╔══╝██╔════╝██╔══██╗
|
||||||
|
[2Kcalibre-web | ███████║██║ ██║ ██║ ██║ ██║██╔████╔██║███████║ ██║ █████╗ ██║ ██║
|
||||||
|
[2Kcalibre-web | ██╔══██║██║ ██║ ██║ ██║ ██║██║╚██╔╝██║██╔══██║ ██║ ██╔══╝ ██║ ██║
|
||||||
|
[2Kcalibre-web | ██║ ██║╚██████╔╝ ██║ ╚██████╔╝██║ ╚═╝ ██║██║ ██║ ██║ ███████╗██████╔╝
|
||||||
|
[2Kcalibre-web | ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚══════╝╚═════╝
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | ~~~ Based on docker-calibre-web from linuxserver.io & Calibre-Web by janeczku ~~~
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | To support the app dev(s) visit:
|
||||||
|
[2Kcalibre-web | Calibre-Web Automated: https://ko-fi.com/crocodilestick/tip
|
||||||
|
[2Kcalibre-web | To support LSIO projects visit:
|
||||||
|
[2Kcalibre-web | https://www.linuxserver.io/donate/
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | ───────────────────────────────────────
|
||||||
|
[2Kcalibre-web | GID/UID
|
||||||
|
[2Kcalibre-web | ───────────────────────────────────────
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | User UID: 1000
|
||||||
|
[2Kcalibre-web | User GID: 1000
|
||||||
|
[2Kcalibre-web | ───────────────────────────────────────
|
||||||
|
[2Kcalibre-web | [cwa-init] Starting CWA initialization process...
|
||||||
|
[2Kcalibre-web | [cwa-init] Verifying essential directories...
|
||||||
|
[2Kcalibre-web | [cwa-init] Directory /app/calibre-web-automated verified
|
||||||
|
[2Kcalibre-web | [cwa-init] Directory /config verified
|
||||||
|
[2Kcalibre-web | [cwa-init] Directory /calibre-library verified
|
||||||
|
[2Kcalibre-web | [cwa-init] Directory /app/calibre verified
|
||||||
|
[2Kcalibre-web | [cwa-init] Verifying essential files...
|
||||||
|
[2Kcalibre-web | [cwa-init] File /app/CWA_RELEASE verified
|
||||||
|
[2Kcalibre-web | [cwa-init] File /CALIBRE_RELEASE verified
|
||||||
|
[2Kcalibre-web | [cwa-init] Environment verification complete
|
||||||
|
[2Kcalibre-web | [cwa-init] Setting up ImageMagick policy...
|
||||||
|
[2Kcalibre-web | [cwa-init] Checking for leftover lock files from previous instance...
|
||||||
|
[2Kcalibre-web | [cwa-init] No leftover lock files to remove. Ending service...
|
||||||
|
[2Kcalibre-web | [cwa-init] Checking for an existing app.db in /config...
|
||||||
|
[2Kcalibre-web | [cwa-init] Existing app.db found!
|
||||||
|
[2Kcalibre-web | [cwa-init] Setting binary paths in '/config/app.db' to the correct ones...
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set binary paths in '/config/app.db'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Enforcing dark theme in app.db (one-time migration)...
|
||||||
|
[2Kcalibre-web | [cwa-init] Dark theme enforcement completed.
|
||||||
|
[2Kcalibre-web | [cwa-init] CWA-init complete! Service exiting now...
|
||||||
|
[2Kcalibre-web | [cwa-init] Existing user_profiles.json found!
|
||||||
|
[2Kcalibre-web | [cwa-init] Preparing to set ownership of everything in /config, /app/calibre-web-automated, /calibre-library, /cwa-book-ingest, /calibre-library, /config/.cwa_conversion_tmp to abc:abc...
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/config'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/app/calibre-web-automated'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/calibre-library'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/cwa-book-ingest'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/calibre-library'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/config/.cwa_conversion_tmp'!
|
||||||
|
[2Kcalibre-web | [cwa-init][qt6] Starting Qt6 compatibility check...
|
||||||
|
[2Kcalibre-web | [cwa-init][qt6] Host kernel 7.0.2-6-pve >= 6.0: leaving Qt6 libs intact for full functionality. (PDF/WebEngine features enabled)
|
||||||
|
[2Kcalibre-web | [cwa-init][qt6] Qt6 compatibility check completed.
|
||||||
|
[2Kcalibre-web | [cwa-init] Resolving CWA versions (installed + latest stable) ...
|
||||||
|
[2Kcalibre-web | [cwa-init] Installed version: v4.0.6
|
||||||
|
[2Kcalibre-web | [cwa-init] Attempting to fetch latest stable version from GitHub...
|
||||||
|
[2Kcalibre-web | [cwa-init] Using jq for JSON parsing...
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully fetched stable version via jq: v4.0.8
|
||||||
|
[2Kcalibre-web | [cwa-init] Valid stable version retrieved: v4.0.8
|
||||||
|
[2Kcalibre-web | [cwa-init] Stable version persisted to /app/CWA_STABLE_RELEASE
|
||||||
|
[2Kcalibre-web | [cwa-init] Versions resolved: INSTALLED=v4.0.6, STABLE=v4.0.8
|
||||||
|
[2Kcalibre-web | [cwa-auto-zipper] Starting CWA-Auto-Zipper service...
|
||||||
|
[2Kcalibre-web | [cwa-auto-zipper] Matching internal localtime & timezone with the one provided...
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Starting process recovery and cleanup...
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] ========== Starting Recovery Sequence ==========
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Cleaning up stale temporary files...
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Starting Calibre binaries setup...
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Checking if Calibre is already installed...
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Calibre version check timed out or failed, assuming not installed
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] USER NOTE: 'Ignore calibredb: command not found' above, nothing is wrong, this just indicates to CWA that Calibre still needs to be installed
|
||||||
|
[2Kcalibre-web | [cwa-auto-zipper] Zoneinfo for Europe/Budapest found. Setting /etc/localtime and /etc/timezone to match...
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Installing Calibre version 9.1.0...
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] This may take several minutes, please wait...
|
||||||
|
[2Kcalibre-web | [cwa-auto-zipper] Timezone & Localtime successfully set to Europe/Budapest. Initiating Auto-Zipper ...
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Cleaned up 6 stale temporary file(s)
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Checking processing status...
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Processing status is: idle
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Checking for orphaned CWA processes...
|
||||||
|
[2Kcalibre-web | [cwa-auto-zipper] Next run in 15690 seconds.
|
||||||
|
[2Kcalibre-web | [custom-init] No custom files found, skipping...
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] No orphaned CWA processes found
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] ========== Recovery Sequence Complete ==========
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Process recovery service finished successfully
|
||||||
|
[2Kcalibre-web | [cwa-auto-library]: Existing library found at /calibre-library, mounting now...
|
||||||
|
[2Kcalibre-web | [cwa-auto-library] Updating dirs.json with new library location...
|
||||||
|
[2Kcalibre-web | [cwa-auto-library]: Updating Settings Database with library location...
|
||||||
|
[2Kcalibre-web | [cwa-auto-library] Library location successfully set to: /calibre-library
|
||||||
|
[2Kcalibre-web | [cwa-auto-library] Service completed successfully! Ending service...
|
||||||
|
[2Kcalibre-web | xdg-desktop-menu: No writable system menu directory found.
|
||||||
|
[2Kcalibre-web | Creating symlinks...
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-device to /usr/bin/ebook-device
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-meta to /usr/bin/ebook-meta
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-convert to /usr/bin/ebook-convert
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-polish to /usr/bin/ebook-polish
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/markdown-calibre to /usr/bin/markdown-calibre
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/web2disk to /usr/bin/web2disk
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre-server to /usr/bin/calibre-server
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/lrf2lrs to /usr/bin/lrf2lrs
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/lrs2lrf to /usr/bin/lrs2lrf
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre-debug to /usr/bin/calibre-debug
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibredb to /usr/bin/calibredb
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre-parallel to /usr/bin/calibre-parallel
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre-customize to /usr/bin/calibre-customize
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/fetch-ebook-metadata to /usr/bin/fetch-ebook-metadata
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre-smtp to /usr/bin/calibre-smtp
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre to /usr/bin/calibre
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/lrfviewer to /usr/bin/lrfviewer
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-viewer to /usr/bin/ebook-viewer
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-edit to /usr/bin/ebook-edit
|
||||||
|
[2Kcalibre-web | Setting up command-line completion...
|
||||||
|
[2Kcalibre-web | Installing zsh completion to: /usr/share/zsh/vendor-completions/_calibre
|
||||||
|
[2Kcalibre-web | Failed to find directory to install bash completions, using default.
|
||||||
|
[2Kcalibre-web | Installing bash completion to: /usr/share/bash-completion/completions/
|
||||||
|
[2Kcalibre-web | Setting up desktop integration...
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | ____________________ WARNING ____________________
|
||||||
|
[2Kcalibre-web | Setting up desktop integration failed with error:
|
||||||
|
[2Kcalibre-web | __________________________________________________
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | Traceback (most recent call last):
|
||||||
|
[2Kcalibre-web | File "calibre/linux.py", line 858, in setup_desktop_integration
|
||||||
|
[2Kcalibre-web | File "calibre/linux.py", line 880, in do_setup_desktop_integration
|
||||||
|
[2Kcalibre-web | File "calibre/linux.py", line 960, in install_xdg_junk
|
||||||
|
[2Kcalibre-web | File "subprocess.py", line 419, in check_call
|
||||||
|
[2Kcalibre-web | subprocess.CalledProcessError: Command 'xdg-desktop-menu install --noupdate ./calibre-gui.desktop' returned non-zero exit status 3.
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | Creating un-installer: /usr/bin/calibre-uninstall
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | There were 1 warnings
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | * Setting up desktop integration failed with error:
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Calibre setup completed successfully!
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Installation verified: calibredb (calibre 9.1)
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Service completed successfully, exiting...
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:37:35,977] INFO {cps:92} ProxyFix configured to trust 1 proxy(ies) for X-Forwarded-* headers
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:37:36,073] INFO {cps.ub:1066} Migrating system magic shelves...
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:37:36,096] INFO {cps.ub:1119} System shelf migration complete: 1 old shelves removed, 0 new shelves created
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:37:36,215] INFO {cps:140} SESSION_COOKIE_SECURE set to False (Standard/LDAP login)
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:37:36,265] INFO {cps:197} Starting Calibre Web...
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:37:37,167] INFO {cps:217} OAuth blueprints initialized successfully
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:37:37,191] WARN {py.warnings:110} /lsiopy/lib/python3.13/site-packages/flask_limiter/extension.py:324: UserWarning: Using the in-memory storage for tracking rate limits as no storage was explicitly specified. This is not recommended for production use. See: https://flask-limiter.readthedocs.io#configuring-a-storage-backend for documentation about configuring the storage backend.
|
||||||
|
[2Kcalibre-web | warnings.warn(
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:37:37,469] INFO {apscheduler.scheduler:214} Scheduler started
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:37:37,470] INFO {apscheduler.scheduler:1090} Added job "delete temp" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:37:37,470] INFO {apscheduler.scheduler:1090} Added job "delete superfluous book covers" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:37:37,471] INFO {apscheduler.scheduler:1090} Added job "generate book covers" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:37:38,129] INFO {apscheduler.scheduler:1090} Added job "end scheduled task" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:37:38,134] INFO {apscheduler.scheduler:1090} Added job "clean archived book references" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:37:38,136] INFO {cps.tasks.thumbnail_migration:87} Thumbnail migration: No old subdirectories found, skipping migration
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:37:38,154] INFO {apscheduler.scheduler:1090} Added job "immediately delete temp" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:37:38,155] INFO {apscheduler.executors.default:129} Running job "immediately delete temp (trigger: date[2026-09-30 19:37:38 CEST], next run at: 2026-09-30 19:37:38 CEST)" (scheduled at 2026-09-30 19:37:38.154619+02:00)
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:37:38,155] INFO {apscheduler.scheduler:728} Removed job cfc3b0f6857a4528870a4e38ddaffccc
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:37:38,181] INFO {apscheduler.executors.default:156} Job "immediately delete temp (trigger: date[2026-09-30 19:37:38 CEST], next run at: 2026-09-30 19:37:38 CEST)" executed successfully
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:37:39,110] INFO {cps.remotelogin:32} Magic Link QRCode is enabled
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:37:39,276] INFO {cps.server:207} Starting Gevent server on [::]:8083
|
||||||
|
[2Kcalibre-web | Connection to localhost (::1) 8083 port [tcp/*] succeeded!
|
||||||
|
[2Kcalibre-web | ========== STARTING CWA-INGEST SERVICE ==========
|
||||||
|
[2Kcalibre-web | ========== STARTING METADATA CHANGE DETECTOR ===========
|
||||||
|
[2Kcalibre-web | [cwa-checksum-backfill] Waiting for CWA service to be ready...
|
||||||
|
[2Kcalibre-web | [metadata-change-detector] Watching folder: /app/calibre-web-automated/metadata_change_logs
|
||||||
|
[2Kcalibre-web | [cwa-ingest-service] Watching folder: /cwa-book-ingest
|
||||||
|
[2Kcalibre-web | Setting up watches.
|
||||||
|
[2Kcalibre-web | Watches established.
|
||||||
|
[2Kcalibre-web | Setting up watches. Beware: since -r was given, this may take a while!
|
||||||
|
[2Kcalibre-web | Watches established.
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:37:57,299] WARN {cps.usermanagement:137} OPDS Login failed for user "admin" IP-address: ::ffff:172.18.0.1
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:37:58,441] INFO {cps.helper:1265} Renamed exported file to match expected name: upg564b2e2d107d - Drill Author.epub
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:37:58,442] ERROR {cps.progress_syncing.checksums.manager:128} Failed to store checksum for book 2: (sqlite3.OperationalError) no such table: book_format_checksums
|
||||||
|
[2Kcalibre-web | [SQL:
|
||||||
|
[2Kcalibre-web | SELECT id FROM book_format_checksums
|
||||||
|
[2Kcalibre-web | WHERE book = ?
|
||||||
|
[2Kcalibre-web | AND format = ?
|
||||||
|
[2Kcalibre-web | AND checksum = ?
|
||||||
|
[2Kcalibre-web | ]
|
||||||
|
[2Kcalibre-web | [parameters: (2, 'EPUB', '201f4f0126b3d3617d4f8889a9d03f93')]
|
||||||
|
[2Kcalibre-web | (Background on this error at: https://sqlalche.me/e/20/e3q8)
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
null
|
||||||
+11
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"/srv/felhom-gate/hdd/userdata/media/books": {
|
||||||
|
"metadata.db-wal": "0:e3b0c44298fc1c14",
|
||||||
|
"metadata.db": "425984:f1fc15ccfa03d754",
|
||||||
|
"metadata.db-shm": "32768:fd4c9fda9cd3f9ae",
|
||||||
|
"Drill Author/upg564b2e2d107d (2)/upg564b2e2d107d - Drill Author.epub": "1436:0e6c3b2dfe7cbeb5",
|
||||||
|
"Drill Author/upg564b2e2d107d (2)/metadata.opf": "1030:c681f1d3bb6b978e",
|
||||||
|
".calnotes/notes.db": "77824:5ffb1a7c5f416c3c"
|
||||||
|
},
|
||||||
|
"/srv/felhom-gate/import/calibre": {}
|
||||||
|
}
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"/srv/felhom-gate/hdd/userdata/media/books": "1ce27ee0fbdae06889641bcc62b2797b229cf05b4758989602deae67604d5645",
|
||||||
|
"/srv/felhom-gate/import/calibre": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||||
|
}
|
||||||
+11
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"/srv/felhom-gate/hdd/userdata/media/books": {
|
||||||
|
"metadata.db-wal": "206032:7cdc627a3594dc79",
|
||||||
|
"metadata.db": "413696:d542bbdc99ab14d1",
|
||||||
|
"metadata.db-shm": "32768:c7012b1e7507b0bb",
|
||||||
|
"Drill Author/upg564b2e2d107d (2)/upg564b2e2d107d - Drill Author.epub": "1436:0e6c3b2dfe7cbeb5",
|
||||||
|
"Drill Author/upg564b2e2d107d (2)/metadata.opf": "1030:c681f1d3bb6b978e",
|
||||||
|
".calnotes/notes.db": "77824:5ffb1a7c5f416c3c"
|
||||||
|
},
|
||||||
|
"/srv/felhom-gate/import/calibre": {}
|
||||||
|
}
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"/srv/felhom-gate/hdd/userdata/media/books": "7e079940c9c4f480238467739acab28804955e7f70709814a69785155d6504ba",
|
||||||
|
"/srv/felhom-gate/import/calibre": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||||
|
}
|
||||||
+6
@@ -0,0 +1,6 @@
|
|||||||
|
[2Kcalibre-web | [migrations] started
|
||||||
|
[2Kcalibre-web | [migrations] no migrations found
|
||||||
|
[2Kcalibre-web | [cwa-init] Enforcing dark theme in app.db (one-time migration)...
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:36:52,396] INFO {cps.ub:1144} Migrating system magic shelves...
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:36:52,413] INFO {cps.ub:1197} System shelf migration complete: 0 old shelves removed, 1 new shelves created
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:36:54,349] INFO {cps.tasks.thumbnail_migration:87} Thumbnail migration: No old subdirectories found, skipping migration
|
||||||
+21
@@ -0,0 +1,21 @@
|
|||||||
|
[17:35:51] scratch drive folders cleared before FROM (R-656): ['/srv/felhom-gate/hdd/userdata/media/books', '/srv/felhom-gate/import/calibre']
|
||||||
|
[17:35:51] N-calibre-web: deploying calibre-web at FROM {'calibre-web': 'crocodilestick/calibre-web-automated:v4.0.6'}
|
||||||
|
[17:36:22] FROM settled=True in 30.8s :: {"calibre-web": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}}
|
||||||
|
[17:36:22] fixture: the BOX walk's own (CalibreWeb), through upgrade_boxport
|
||||||
|
[17:36:22] calibre-web: the generated admin password does not log in (opds http=401) — running the template's own after_install command (the app's CLI, as the product does after an install)
|
||||||
|
[17:36:25] calibre-web: after_install :: OKIE_SECURE set to False (Standard/LDAP login) Password for user 'admin' changed
|
||||||
|
[17:36:25] calibre-web: POST /upload http=200 {"location": "/tasks"}
|
||||||
|
[17:36:26] calibre-web: seeded book upg564b2e2d107d is in the library
|
||||||
|
[17:36:32] calibre-web: readback — listed=True download_link=True book_content_served=True
|
||||||
|
[17:36:32] C1 (seed reads back BEFORE): True
|
||||||
|
[17:36:32] N-calibre-web: swapping to TO {'calibre-web': 'crocodilestick/calibre-web-automated:v4.0.8'}
|
||||||
|
[17:36:42] TO up -d rc=0
|
||||||
|
[17:37:13] TO settled=True in 30.9s :: {"calibre-web": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}}
|
||||||
|
[17:37:13] migration lines observed: 6
|
||||||
|
[17:37:15] calibre-web: readback — listed=True download_link=True book_content_served=True
|
||||||
|
[17:37:15] RESULT (seed reads back AFTER): True
|
||||||
|
[17:37:15] files_may_change — the files: ['/srv/felhom-gate/hdd/userdata/media/books/metadata.db (changed)', '/srv/felhom-gate/hdd/userdata/media/books/metadata.db-shm (changed)', '/srv/felhom-gate/hdd/userdata/media/books/metadata.db-wal (changed)']
|
||||||
|
[17:37:15] files_may_change: the bind-mounted tree changed under ['/srv/felhom-gate/hdd/userdata/media/books']
|
||||||
|
[17:37:15] N-calibre-web: ABORT — putting the FROM images back
|
||||||
|
[17:37:58] calibre-web: readback — listed=True download_link=True book_content_served=True
|
||||||
|
[17:37:58] ABORT: app came back in 30.9s; data present=True
|
||||||
+189
@@ -0,0 +1,189 @@
|
|||||||
|
[2Kcalibre-web | [migrations] started
|
||||||
|
[2Kcalibre-web | [migrations] no migrations found
|
||||||
|
[2Kcalibre-web | ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | ,gggg, ,ggg, gg ,gg
|
||||||
|
[2Kcalibre-web | ,88"""Y8b, ,dPYb, ,dPYb, dP""Y8a 88 ,8P ,dPYb,
|
||||||
|
[2Kcalibre-web | d8" `Y8 IP'`Yb IP'`Yb Yb, `88 88 d8' IP'`Yb
|
||||||
|
[2Kcalibre-web | d8' 8b d8 I8 8I gg I8 8I `" 88 88 88 I8 8I
|
||||||
|
[2Kcalibre-web | ,8I "Y88P' I8 8' "" I8 8' 88 88 88 I8 8'
|
||||||
|
[2Kcalibre-web | I8' ,gggg,gg I8 dP gg I8 dP ,gggggg, ,ggg, aaaaaaaa 88 88 88 ,ggg, I8 dP
|
||||||
|
[2Kcalibre-web | d8 dP" "Y8I I8dP 88 I8dP 88gg dP""""8I i8" "8i """""""" 88 88 88 i8" "8i I8dP 88gg
|
||||||
|
[2Kcalibre-web | Y8, i8' ,8I I8P 88 I8P 8I ,8' 8I I8, ,8I Y8 ,88, 8P I8, ,8I I8P 8I
|
||||||
|
[2Kcalibre-web | `Yba,,_____, ,d8, ,d8b,,d8b,_ _,88,_,d8b, ,8I ,dP Y8, `YbadP' Yb,,d8""8b,,dP `YbadP' ,d8b, ,8I
|
||||||
|
[2Kcalibre-web | `"Y8888888 P"Y8888P"`Y88P'"Y888P""Y88P'"Y88P"' 8P `Y8888P"Y888 "88" "88" 888P"Y8888P'"Y88P"'
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | █████╗ ██╗ ██╗████████╗ ██████╗ ███╗ ███╗ █████╗ ████████╗███████╗██████╗
|
||||||
|
[2Kcalibre-web | ██╔══██╗██║ ██║╚══██╔══╝██╔═══██╗████╗ ████║██╔══██╗╚══██╔══╝██╔════╝██╔══██╗
|
||||||
|
[2Kcalibre-web | ███████║██║ ██║ ██║ ██║ ██║██╔████╔██║███████║ ██║ █████╗ ██║ ██║
|
||||||
|
[2Kcalibre-web | ██╔══██║██║ ██║ ██║ ██║ ██║██║╚██╔╝██║██╔══██║ ██║ ██╔══╝ ██║ ██║
|
||||||
|
[2Kcalibre-web | ██║ ██║╚██████╔╝ ██║ ╚██████╔╝██║ ╚═╝ ██║██║ ██║ ██║ ███████╗██████╔╝
|
||||||
|
[2Kcalibre-web | ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚══════╝╚═════╝
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | ~~~ Based on docker-calibre-web from linuxserver.io & Calibre-Web by janeczku ~~~
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | To support the app dev(s) visit:
|
||||||
|
[2Kcalibre-web | Calibre-Web Automated: https://ko-fi.com/crocodilestick/tip
|
||||||
|
[2Kcalibre-web | To support LSIO projects visit:
|
||||||
|
[2Kcalibre-web | https://www.linuxserver.io/donate/
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | ───────────────────────────────────────
|
||||||
|
[2Kcalibre-web | GID/UID
|
||||||
|
[2Kcalibre-web | ───────────────────────────────────────
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | User UID: 1000
|
||||||
|
[2Kcalibre-web | User GID: 1000
|
||||||
|
[2Kcalibre-web | ───────────────────────────────────────
|
||||||
|
[2Kcalibre-web | [cwa-init] Starting CWA initialization process...
|
||||||
|
[2Kcalibre-web | [cwa-init] Verifying essential directories...
|
||||||
|
[2Kcalibre-web | [cwa-init] Directory /app/calibre-web-automated verified
|
||||||
|
[2Kcalibre-web | [cwa-init] Directory /config verified
|
||||||
|
[2Kcalibre-web | [cwa-init] Directory /calibre-library verified
|
||||||
|
[2Kcalibre-web | [cwa-init] Directory /app/calibre verified
|
||||||
|
[2Kcalibre-web | [cwa-init] Verifying essential files...
|
||||||
|
[2Kcalibre-web | [cwa-init] File /app/CWA_RELEASE verified
|
||||||
|
[2Kcalibre-web | [cwa-init] File /CALIBRE_RELEASE verified
|
||||||
|
[2Kcalibre-web | [cwa-init] Environment verification complete
|
||||||
|
[2Kcalibre-web | [cwa-init] Setting up ImageMagick policy...
|
||||||
|
[2Kcalibre-web | [cwa-init] Checking for leftover lock files from previous instance...
|
||||||
|
[2Kcalibre-web | [cwa-init] No leftover lock files to remove. Ending service...
|
||||||
|
[2Kcalibre-web | [cwa-init] Checking for an existing app.db in /config...
|
||||||
|
[2Kcalibre-web | [cwa-init] Existing app.db found!
|
||||||
|
[2Kcalibre-web | [cwa-init] Setting binary paths in '/config/app.db' to the correct ones...
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set binary paths in '/config/app.db'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Enforcing dark theme in app.db (one-time migration)...
|
||||||
|
[2Kcalibre-web | [cwa-init] Dark theme enforcement completed.
|
||||||
|
[2Kcalibre-web | [cwa-init] CWA-init complete! Service exiting now...
|
||||||
|
[2Kcalibre-web | [cwa-init] Existing user_profiles.json found!
|
||||||
|
[2Kcalibre-web | [cwa-init] Preparing to set ownership of everything in /config, /app/calibre-web-automated, /calibre-library, /cwa-book-ingest, /calibre-library, /config/.cwa_conversion_tmp to abc:abc...
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/config'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/app/calibre-web-automated'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/calibre-library'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/cwa-book-ingest'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/calibre-library'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/config/.cwa_conversion_tmp'!
|
||||||
|
[2Kcalibre-web | [cwa-init][qt6] Starting Qt6 compatibility check...
|
||||||
|
[2Kcalibre-web | [cwa-init][qt6] Host kernel 7.0.2-6-pve >= 6.0: leaving Qt6 libs intact for full functionality. (PDF/WebEngine features enabled)
|
||||||
|
[2Kcalibre-web | [cwa-init][qt6] Qt6 compatibility check completed.
|
||||||
|
[2Kcalibre-web | [cwa-init] Resolving CWA versions (installed + latest stable) ...
|
||||||
|
[2Kcalibre-web | [cwa-init] Installed version: v4.0.8
|
||||||
|
[2Kcalibre-web | [cwa-init] Attempting to fetch latest stable version from GitHub...
|
||||||
|
[2Kcalibre-web | [cwa-init] Using jq for JSON parsing...
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully fetched stable version via jq: v4.0.8
|
||||||
|
[2Kcalibre-web | [cwa-init] Valid stable version retrieved: v4.0.8
|
||||||
|
[2Kcalibre-web | [cwa-init] Stable version persisted to /app/CWA_STABLE_RELEASE
|
||||||
|
[2Kcalibre-web | [cwa-init] Versions resolved: INSTALLED=v4.0.8, STABLE=v4.0.8
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Starting process recovery and cleanup...
|
||||||
|
[2Kcalibre-web | [cwa-auto-zipper] Starting CWA-Auto-Zipper service...
|
||||||
|
[2Kcalibre-web | [cwa-auto-zipper] Matching internal localtime & timezone with the one provided...
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Starting Calibre binaries setup...
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Checking if Calibre is already installed...
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] ========== Starting Recovery Sequence ==========
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Cleaning up stale temporary files...
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Calibre version check timed out or failed, assuming not installed
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] USER NOTE: 'Ignore calibredb: command not found' above, nothing is wrong, this just indicates to CWA that Calibre still needs to be installed
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Installing Calibre version 9.1.0...
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] This may take several minutes, please wait...
|
||||||
|
[2Kcalibre-web | [cwa-auto-zipper] Zoneinfo for Europe/Budapest found. Setting /etc/localtime and /etc/timezone to match...
|
||||||
|
[2Kcalibre-web | [cwa-auto-zipper] Timezone & Localtime successfully set to Europe/Budapest. Initiating Auto-Zipper ...
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Cleaned up 6 stale temporary file(s)
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Checking processing status...
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Processing status is: idle
|
||||||
|
[2Kcalibre-web | [custom-init] No custom files found, skipping...
|
||||||
|
[2Kcalibre-web | [cwa-auto-zipper] Next run in 15733 seconds.
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Checking for orphaned CWA processes...
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] No orphaned CWA processes found
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] ========== Recovery Sequence Complete ==========
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Process recovery service finished successfully
|
||||||
|
[2Kcalibre-web | [cwa-auto-library]: Existing library found at /calibre-library, mounting now...
|
||||||
|
[2Kcalibre-web | [cwa-auto-library] Updating dirs.json with new library location...
|
||||||
|
[2Kcalibre-web | [cwa-auto-library]: Updating Settings Database with library location...
|
||||||
|
[2Kcalibre-web | [cwa-auto-library] Library location successfully set to: /calibre-library
|
||||||
|
[2Kcalibre-web | [cwa-auto-library] Service completed successfully! Ending service...
|
||||||
|
[2Kcalibre-web | xdg-desktop-menu: No writable system menu directory found.
|
||||||
|
[2Kcalibre-web | Creating symlinks...
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-device to /usr/bin/ebook-device
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-meta to /usr/bin/ebook-meta
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-convert to /usr/bin/ebook-convert
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-polish to /usr/bin/ebook-polish
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/markdown-calibre to /usr/bin/markdown-calibre
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/web2disk to /usr/bin/web2disk
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre-server to /usr/bin/calibre-server
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/lrf2lrs to /usr/bin/lrf2lrs
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/lrs2lrf to /usr/bin/lrs2lrf
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre-debug to /usr/bin/calibre-debug
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibredb to /usr/bin/calibredb
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre-parallel to /usr/bin/calibre-parallel
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre-customize to /usr/bin/calibre-customize
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/fetch-ebook-metadata to /usr/bin/fetch-ebook-metadata
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre-smtp to /usr/bin/calibre-smtp
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre to /usr/bin/calibre
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/lrfviewer to /usr/bin/lrfviewer
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-viewer to /usr/bin/ebook-viewer
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-edit to /usr/bin/ebook-edit
|
||||||
|
[2Kcalibre-web | Setting up command-line completion...
|
||||||
|
[2Kcalibre-web | Installing zsh completion to: /usr/share/zsh/vendor-completions/_calibre
|
||||||
|
[2Kcalibre-web | Failed to find directory to install bash completions, using default.
|
||||||
|
[2Kcalibre-web | Installing bash completion to: /usr/share/bash-completion/completions/
|
||||||
|
[2Kcalibre-web | Setting up desktop integration...
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | ____________________ WARNING ____________________
|
||||||
|
[2Kcalibre-web | Setting up desktop integration failed with error:
|
||||||
|
[2Kcalibre-web | __________________________________________________
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | Traceback (most recent call last):
|
||||||
|
[2Kcalibre-web | File "calibre/linux.py", line 858, in setup_desktop_integration
|
||||||
|
[2Kcalibre-web | File "calibre/linux.py", line 880, in do_setup_desktop_integration
|
||||||
|
[2Kcalibre-web | File "calibre/linux.py", line 960, in install_xdg_junk
|
||||||
|
[2Kcalibre-web | File "subprocess.py", line 419, in check_call
|
||||||
|
[2Kcalibre-web | subprocess.CalledProcessError: Command 'xdg-desktop-menu install --noupdate ./calibre-gui.desktop' returned non-zero exit status 3.
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | Creating un-installer: /usr/bin/calibre-uninstall
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | There were 1 warnings
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | * Setting up desktop integration failed with error:
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Calibre setup completed successfully!
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Installation verified: calibredb (calibre 9.1)
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Service completed successfully, exiting...
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:36:52,291] INFO {cps:93} ProxyFix configured to trust 1 proxy(ies) for X-Forwarded-* headers
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:36:52,396] INFO {cps.ub:1144} Migrating system magic shelves...
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:36:52,407] INFO {cps.magic_shelf:790} Created system magic shelf 'Currently Reading' for user 1
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:36:52,413] INFO {cps.magic_shelf:800} Successfully created 1 system magic shelves for user 1
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:36:52,413] INFO {cps.ub:1197} System shelf migration complete: 0 old shelves removed, 1 new shelves created
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:36:52,505] INFO {cps:141} SESSION_COOKIE_SECURE set to False (Standard/LDAP login)
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:36:52,568] INFO {cps:198} Starting Calibre Web...
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:36:53,268] INFO {cps:218} OAuth blueprints initialized successfully
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:36:53,314] WARN {py.warnings:110} /lsiopy/lib/python3.13/site-packages/flask_limiter/extension.py:324: UserWarning: Using the in-memory storage for tracking rate limits as no storage was explicitly specified. This is not recommended for production use. See: https://flask-limiter.readthedocs.io#configuring-a-storage-backend for documentation about configuring the storage backend.
|
||||||
|
[2Kcalibre-web | warnings.warn(
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:36:53,632] INFO {apscheduler.scheduler:214} Scheduler started
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:36:53,633] INFO {apscheduler.scheduler:1092} Added job "delete temp" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:36:53,633] INFO {apscheduler.scheduler:1092} Added job "delete superfluous book covers" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:36:53,633] INFO {apscheduler.scheduler:1092} Added job "generate book covers" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:36:54,342] INFO {apscheduler.scheduler:1092} Added job "end scheduled task" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:36:54,347] INFO {apscheduler.scheduler:1092} Added job "clean archived book references" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:36:54,349] INFO {cps.tasks.thumbnail_migration:87} Thumbnail migration: No old subdirectories found, skipping migration
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:36:54,366] INFO {apscheduler.scheduler:1092} Added job "immediately delete temp" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:36:54,366] INFO {apscheduler.executors.default:129} Running job "immediately delete temp (trigger: date[2026-09-30 19:36:54 CEST], next run at: 2026-09-30 19:36:54 CEST)" (scheduled at 2026-09-30 19:36:54.365896+02:00)
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:36:54,367] INFO {apscheduler.scheduler:728} Removed job 408381914a0a4fad85b402d14142be23
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:36:54,392] INFO {apscheduler.executors.default:156} Job "immediately delete temp (trigger: date[2026-09-30 19:36:54 CEST], next run at: 2026-09-30 19:36:54 CEST)" executed successfully
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:36:55,170] INFO {cps.remotelogin:32} Magic Link QRCode is enabled
|
||||||
|
[2Kcalibre-web | [2026-09-30 19:36:55,415] INFO {cps.server:207} Starting Gevent server on [::]:8083
|
||||||
|
[2Kcalibre-web | Connection to localhost (::1) 8083 port [tcp/*] succeeded!
|
||||||
|
[2Kcalibre-web | ========== STARTING METADATA CHANGE DETECTOR ===========
|
||||||
|
[2Kcalibre-web | [metadata-change-detector] Watching folder: /app/calibre-web-automated/metadata_change_logs
|
||||||
|
[2Kcalibre-web | [cwa-checksum-backfill] Waiting for CWA service to be ready...
|
||||||
|
[2Kcalibre-web | ========== STARTING CWA-INGEST SERVICE ==========
|
||||||
|
[2Kcalibre-web | Setting up watches.
|
||||||
|
[2Kcalibre-web | Watches established.
|
||||||
|
[2Kcalibre-web | [cwa-ingest-service] Watching folder: /cwa-book-ingest
|
||||||
|
[2Kcalibre-web | Setting up watches. Beware: since -r was given, this may take a while!
|
||||||
|
[2Kcalibre-web | Watches established.
|
||||||
+8
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"calibre-web": {
|
||||||
|
"status": "running",
|
||||||
|
"health": "healthy",
|
||||||
|
"restarts": 0,
|
||||||
|
"exit": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
+40
@@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"harness_version": 4,
|
||||||
|
"edge": "N-calibre-web",
|
||||||
|
"app": "calibre-web",
|
||||||
|
"note": "names re-run 2026-09-30 (soak 0)",
|
||||||
|
"from": {
|
||||||
|
"calibre-web": "crocodilestick/calibre-web-automated:v4.0.6"
|
||||||
|
},
|
||||||
|
"to": {
|
||||||
|
"calibre-web": "crocodilestick/calibre-web-automated:v4.0.8"
|
||||||
|
},
|
||||||
|
"verdict": "proven",
|
||||||
|
"seed_read_before": true,
|
||||||
|
"seed_read_after": true,
|
||||||
|
"healthy_after": true,
|
||||||
|
"migration_observed": "\u001b[2Kcalibre-web | [migrations] started",
|
||||||
|
"abort": "starts-and-serves",
|
||||||
|
"abort_detail": null,
|
||||||
|
"engine_state_after": null,
|
||||||
|
"memory": null,
|
||||||
|
"marks": [
|
||||||
|
"files_may_change"
|
||||||
|
],
|
||||||
|
"duration_s": 30.9,
|
||||||
|
"measured_at": "2026-09-30T17:37:58Z",
|
||||||
|
"evidence": "evidence/N-calibre-web",
|
||||||
|
"scratch_cleared": [
|
||||||
|
"/srv/felhom-gate/hdd/userdata/media/books",
|
||||||
|
"/srv/felhom-gate/import/calibre"
|
||||||
|
],
|
||||||
|
"files_changed": [
|
||||||
|
"/srv/felhom-gate/hdd/userdata/media/books"
|
||||||
|
],
|
||||||
|
"files_changed_detail": [
|
||||||
|
"/srv/felhom-gate/hdd/userdata/media/books/metadata.db (changed)",
|
||||||
|
"/srv/felhom-gate/hdd/userdata/media/books/metadata.db-shm (changed)",
|
||||||
|
"/srv/felhom-gate/hdd/userdata/media/books/metadata.db-wal (changed)"
|
||||||
|
],
|
||||||
|
"total_s": 127.2
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
Network probewanderer_wanderer-internal Removed
|
||||||
|
0
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# wanderer probe on bench 9401, 2026-09-30 17:58-18:11 CEST (catalog template v0.20.0 / meilisearch v1.36.0, build_env values)
|
||||||
|
docker ps after 12 min: wanderer Up (unhealthy) | wanderer-db Up (healthy) | wanderer-search Up (healthy)
|
||||||
|
GET / (Host: hike.gate.invalid) on the web container :3000 -> 500 body: "Error 0: Something went wrong."
|
||||||
|
env in the web container: PUBLIC_POCKETBASE_URL=https://hike-db.gate.invalid
|
||||||
|
=> the web server calls the database at its PUBLIC name over https; the bench has no DNS name and no TLS for it,
|
||||||
|
so FROM can never settle healthy there (harness verdict would be `inconclusive` at FROM, never about the update).
|
||||||
|
API routes seen (src/routes/api/v1): auth/login, trail(+form/upload), list(+form), search, user, ... (a fixture route exists)
|
||||||
|
Not attempted: the meilisearch v1.36 -> v1.54 question (whether its index survives or is rebuilt) — not measured.
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
# wger probe on bench 9401, 2026-09-30 ~17:25-17:33 CEST (catalog template, wger/server:2.6, build_env values)
|
||||||
|
# Recorded from the session's probe output; tokens and passwords not recorded.
|
||||||
|
GET /api/v2/ -> 200 (router index: weightentry, userprofile, ... ; no login/token route)
|
||||||
|
POST /api/v2/login/, /api/v2/token(/), /api/v2/auth/login/ -> 404
|
||||||
|
POST /allauth/app/v1/auth/login wrong password -> 400 JSON "The username and/or password you specified are not correct"
|
||||||
|
POST /allauth/app/v1/auth/login RIGHT password -> 500 text/html
|
||||||
|
container log: allauth/core/internal/jwkkit.py line 34 load_pem -> ValueError: Unable to load PEM file ... MalformedFraming
|
||||||
|
settings/main.py:109 JWT_PRIVATE_KEY = env.str('JWT_PRIVATE_KEY', '') (the template sets none) -> R-737
|
||||||
|
after_install command (template's own, password as last argument) -> FELHOM_AFTER_INSTALL_OK
|
||||||
|
GET /en/user/login -> 200 (form: csrfmiddlewaretoken, login, password)
|
||||||
|
POST /en/user/login (Origin/Referer https://wger.gate.invalid) -> 302, sessionid set
|
||||||
|
POST /api/v2/weightentry/ {"date":"2026-09-30T10:00:00Z","weight":"77.35"} with session + X-CSRFToken -> 201
|
||||||
|
GET /api/v2/weightentry/?weight=77.35 -> 200 count 1 (positive)
|
||||||
|
GET /api/v2/weightentry/?weight=12.34 -> 200 count 0 (negative: a weight never entered)
|
||||||
|
GET /api/v2/weightentry/?weight=77.35 without session -> 403 (negative: no login)
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
# guest 9201 https://192.168.0.155 — read-only
|
||||||
|
adventurelog | update_order=None badge=None catalog_tested_at=2026-09-27T10:29:35Z
|
||||||
|
adventurelog: ghcr.io/seanmorley15/adventurelog-backend:v0.13.0 installed=0250d9cb0d74 at=2026-09-28T02:22:40Z catalog=0250d9cb0d74 equal=True
|
||||||
|
adventurelog-frontend: ghcr.io/seanmorley15/adventurelog-frontend:v0.13.0 installed=51ee22428b41 at=2026-09-28T02:22:40Z catalog=51ee22428b41 equal=True
|
||||||
|
adventurelog-postgres: postgis/postgis:16-3.5-alpine installed=47e961a569fd at=2026-09-13T19:07:19Z catalog=47e961a569fd equal=True
|
||||||
|
bentopdf | update_order=None badge=None catalog_tested_at=0001-01-01T00:00:00Z
|
||||||
|
bentopdf: ghcr.io/alam00000/bentopdf:v2.8.6 installed=eaeea1e44720 at=2026-09-06T08:36:22Z catalog=- equal=False
|
||||||
|
bookstack | update_order=None badge=None catalog_tested_at=2026-09-30T11:09:02Z
|
||||||
|
bookstack: lscr.io/linuxserver/bookstack:26.09.1 installed=99cd1f5707c1 at=2026-09-30T11:35:13Z catalog=99cd1f5707c1 equal=True
|
||||||
|
bookstack-db: mariadb:12.3 installed=805c8e104bd5 at=2026-09-22T09:05:22Z catalog=805c8e104bd5 equal=True
|
||||||
|
calibre-web | update_order=None badge=None catalog_tested_at=0001-01-01T00:00:00Z
|
||||||
|
calibre-web: crocodilestick/calibre-web-automated:v4.0.6 installed=c31a738b6d5e at=2026-09-03T00:30:19Z catalog=- equal=False
|
||||||
|
docmost | update_order=None badge=None catalog_tested_at=2026-09-25T12:01:05Z
|
||||||
|
docmost: docmost/docmost:0.96.0 installed=b56947fcfd08 at=2026-09-22T09:07:17Z catalog=b56947fcfd08 equal=True
|
||||||
|
docmost-postgres: postgres:18-alpine installed=77f585114c32 at=2026-09-26T02:19:18Z catalog=77f585114c32 equal=True
|
||||||
|
docmost-redis: redis:7-alpine installed=858f009f9709 at=2026-09-22T09:07:17Z catalog=858f009f9709 equal=True
|
||||||
|
kimai | update_order=None badge=None catalog_tested_at=2026-09-30T11:25:04Z
|
||||||
|
kimai: kimai/kimai2:2.67.0 installed=3084f1e5ecdc at=2026-09-30T11:36:28Z catalog=3084f1e5ecdc equal=True
|
||||||
|
kimai-db: mariadb:11.8 installed=79d59758afc9 at=2026-09-23T21:19:40Z catalog=79d59758afc9 equal=True
|
||||||
|
opengist | update_order=None badge=None catalog_tested_at=2026-09-23T19:39:21Z
|
||||||
|
opengist: ghcr.io/thomiceli/opengist:1.15 installed=7edc91273ee7 at=2026-09-23T21:18:27Z catalog=7edc91273ee7 equal=True
|
||||||
|
paperless-ngx | update_order=None badge=None catalog_tested_at=2026-09-27T09:50:50Z
|
||||||
|
paperless-postgres: postgres:18-alpine installed=77f585114c32 at=2026-09-28T02:23:49Z catalog=77f585114c32 equal=True
|
||||||
|
paperless-redis: redis:7-alpine installed=858f009f9709 at=2026-09-23T00:31:38Z catalog=858f009f9709 equal=True
|
||||||
|
paperless-webserver: ghcr.io/paperless-ngx/paperless-ngx:2.20.15 installed=6c86cad80397 at=2026-09-03T00:31:09Z catalog=6c86cad80397 equal=True
|
||||||
|
privatebin | update_order=None badge=None catalog_tested_at=2026-09-21T18:19:14.04413Z
|
||||||
|
privatebin: privatebin/pdo:2.0.6 installed=4c141b2326f8 at=2026-09-22T09:07:38Z catalog=4c141b2326f8 equal=True
|
||||||
|
romm | update_order=None badge=None catalog_tested_at=2026-09-23T20:00:03Z
|
||||||
|
romm: rommapp/romm:5.3.1 installed=0d66b4ea152a at=2026-09-23T21:21:09Z catalog=0d66b4ea152a equal=True
|
||||||
|
romm-db: mariadb:11.8 installed=79d59758afc9 at=2026-09-23T21:21:09Z catalog=79d59758afc9 equal=True
|
||||||
|
romm-redis: redis:7-alpine installed=858f009f9709 at=2026-09-22T09:08:58Z catalog=858f009f9709 equal=True
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
=== RUN TestPartC_DigestOnlyBehindAtHead
|
||||||
|
partc_scratch_test.go:29: 1. CatalogOrder = 2 (catalog digests map[web:sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa], tested 2026-09-29 00:00:00 +0000 UTC; installed {Ref:nextcloud:34.0.1-apache Digest:sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb At:2026-09-20T00:00:00Z})
|
||||||
|
partc_scratch_test.go:32: 2. night leg: presses=0 step={App:nextcloud Outcome:skipped Reason:no_test_record From:map[] To:map[] Seconds:0}
|
||||||
|
partc_scratch_test.go:35: log: [INFO] [update-leg] started (test): window 02:30, no step starts at or after 07:30
|
||||||
|
partc_scratch_test.go:35: log: [INFO] [update-leg] nextcloud: skipped — no_test_record
|
||||||
|
partc_scratch_test.go:35: log: [INFO] [update-leg] update leg (test): done=0 undone=0 held=0 failed=0 skipped=1 in 0s [skipped: nextcloud=no_test_record]
|
||||||
|
partc_scratch_test.go:45: 3. Update button: phase=done err="" presses=1; live compose pins the tested digest dA: true; pin=nextcloud:34.0.1-apache
|
||||||
|
--- PASS: TestPartC_DigestOnlyBehindAtHead (0.01s)
|
||||||
|
=== RUN TestPartC_IfTheCatalogWroteARefreshEntry
|
||||||
|
partc_scratch_test.go:66: 1. CatalogOrder = 2
|
||||||
|
partc_scratch_test.go:70: 2. night leg: presses=1 step={App:nextcloud Outcome:done Reason: From:map[web:nextcloud:34.0.1-apache] To:map[web:nextcloud:34.0.1-apache] Seconds:0}; live compose pins dA: true
|
||||||
|
partc_scratch_test.go:73: log: [INFO] [update-leg] started (test): window 02:30, no step starts at or after 07:30
|
||||||
|
partc_scratch_test.go:73: log: [INFO] [update-leg] nextcloud: step pressed web=nextcloud:34.0.1-apache → web=nextcloud:34.0.1-apache
|
||||||
|
partc_scratch_test.go:73: log: [INFO] [stacks] update nextcloud: ladder — the last step (2 of 2) — the catalog's current definition
|
||||||
|
partc_scratch_test.go:73: log: [INFO] [update-leg] nextcloud: step ended done after 0.0 s
|
||||||
|
partc_scratch_test.go:73: log: [INFO] [update-leg] update leg (test): done=1 undone=0 held=0 failed=0 skipped=0 in 0s [skipped: ]
|
||||||
|
partc_scratch_test.go:77: 3. the next night: presses=1 step={App: Outcome: Reason: From:map[] To:map[] Seconds:0}
|
||||||
|
--- PASS: TestPartC_IfTheCatalogWroteARefreshEntry (0.01s)
|
||||||
|
PASS
|
||||||
|
ok gitea.dooplex.hu/admin/felhom-controller/internal/stacks 0.027s
|
||||||
@@ -0,0 +1,78 @@
|
|||||||
|
package stacks
|
||||||
|
|
||||||
|
// SCRATCH (not committed; a copy of controller d48da6c in the scratchpad) — Part C, 2026-09-30:
|
||||||
|
// what the night leg and the Update button do with an app AT THE HEAD TAG whose catalog carries a
|
||||||
|
// NEWER tested digest for that same tag (a same-name repush the catalog re-tested).
|
||||||
|
|
||||||
|
import (
|
||||||
|
"path/filepath"
|
||||||
|
"strings"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestPartC_DigestOnlyBehindAtHead(t *testing.T) {
|
||||||
|
m, dir, _, ups, logBuf := legManager(t)
|
||||||
|
catDir := filepath.Dir(m.CatalogTemplatePath("nextcloud", "docker-compose.yml"))
|
||||||
|
// the ladder: B -> C tested at digest dA, tested 2026-09-29
|
||||||
|
mustWrite(t, filepath.Join(catDir, ".felhom.yml"), "display_name: Nextcloud\nupdate_ladder:\n"+
|
||||||
|
` - {"from": {"web": "`+ladderB+`"}, "to": {"web": "`+ladderC+`"}, "digest": {"web": "`+dA+`"}, "verdict": "proven", "tested_at": "2026-09-29T00:00:00Z"}`+"\n")
|
||||||
|
// the box: at C (the head tag), running the OLDER digest dB, installed 2026-09-20
|
||||||
|
cur := "services:\n web:\n image: " + ladderC + "@" + dB + "\nvolumes:\n db:\n"
|
||||||
|
mustWrite(t, ComposePathIn(dir), cur)
|
||||||
|
mustWrite(t, AppliedComposePath(dir), cur)
|
||||||
|
mustWrite(t, filepath.Join(dir, "app.yaml"), "deployed: true\nenv: {}\npinned_images:\n web: "+ladderC+
|
||||||
|
"\ninstalled_images:\n web:\n ref: "+ladderC+"\n digest: "+dB+"\n at: \"2026-09-20T00:00:00Z\"\n")
|
||||||
|
if err := m.ScanStacks(); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
st, _ := m.GetStack("nextcloud")
|
||||||
|
t.Logf("1. CatalogOrder = %v (catalog digests %v, tested %v; installed %+v)", CatalogOrder(*st), st.CatalogDigests, st.CatalogTestedAt, st.AppConfig.InstalledImages["web"])
|
||||||
|
legOpts(m, nil)
|
||||||
|
s := mustLeg(t, m)
|
||||||
|
t.Logf("2. night leg: presses=%d step=%+v", len(*ups), legStepFor(s, "nextcloud"))
|
||||||
|
for _, l := range strings.Split(logBuf.String(), "\n") {
|
||||||
|
if strings.Contains(l, "update-leg") {
|
||||||
|
t.Logf(" log: %s", l)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 3. the household's Update button
|
||||||
|
if err := m.StartGuardedUpdate("nextcloud"); err != nil {
|
||||||
|
t.Logf("3. Update button refused: %v", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
st2 := waitUpdateDone(t, m, "nextcloud")
|
||||||
|
body := fileBody(t, ComposePathIn(dir))
|
||||||
|
t.Logf("3. Update button: phase=%s err=%q presses=%d; live compose pins the tested digest dA: %v; pin=%s",
|
||||||
|
st2.UpdatePhase, st2.UpdateError, len(*ups), strings.Contains(body, ladderC+"@"+dA), pinOf(t, dir))
|
||||||
|
}
|
||||||
|
|
||||||
|
// Option (a)'s box half, measured before it is costed: IF the catalog carried a same-tag re-test
|
||||||
|
// (from == to == C, tested at the new digest dA, newer than the install), what would the leg do?
|
||||||
|
func TestPartC_IfTheCatalogWroteARefreshEntry(t *testing.T) {
|
||||||
|
m, dir, _, ups, logBuf := legManager(t)
|
||||||
|
catDir := filepath.Dir(m.CatalogTemplatePath("nextcloud", "docker-compose.yml"))
|
||||||
|
mustWrite(t, filepath.Join(catDir, ".felhom.yml"), "display_name: Nextcloud\nupdate_ladder:\n"+
|
||||||
|
` - {"from": {"web": "`+ladderB+`"}, "to": {"web": "`+ladderC+`"}, "digest": {"web": "`+dB+`"}, "verdict": "proven", "tested_at": "2026-09-19T00:00:00Z"}`+"\n"+
|
||||||
|
` - {"from": {"web": "`+ladderC+`"}, "to": {"web": "`+ladderC+`"}, "digest": {"web": "`+dA+`"}, "verdict": "proven", "tested_at": "2026-09-29T00:00:00Z"}`+"\n")
|
||||||
|
cur := "services:\n web:\n image: " + ladderC + "@" + dB + "\nvolumes:\n db:\n"
|
||||||
|
mustWrite(t, ComposePathIn(dir), cur)
|
||||||
|
mustWrite(t, AppliedComposePath(dir), cur)
|
||||||
|
mustWrite(t, filepath.Join(dir, "app.yaml"), "deployed: true\nenv: {}\npinned_images:\n web: "+ladderC+
|
||||||
|
"\ninstalled_images:\n web:\n ref: "+ladderC+"\n digest: "+dB+"\n at: \"2026-09-20T00:00:00Z\"\n")
|
||||||
|
if err := m.ScanStacks(); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
st, _ := m.GetStack("nextcloud")
|
||||||
|
t.Logf("1. CatalogOrder = %v", CatalogOrder(*st))
|
||||||
|
legOpts(m, nil)
|
||||||
|
s := mustLeg(t, m)
|
||||||
|
body := fileBody(t, ComposePathIn(dir))
|
||||||
|
t.Logf("2. night leg: presses=%d step=%+v; live compose pins dA: %v", len(*ups), legStepFor(s, "nextcloud"), strings.Contains(body, ladderC+"@"+dA))
|
||||||
|
for _, l := range strings.Split(logBuf.String(), "\n") {
|
||||||
|
if strings.Contains(l, "update-leg") || strings.Contains(l, "step") {
|
||||||
|
t.Logf(" log: %s", l)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
s2 := mustLeg(t, m)
|
||||||
|
t.Logf("3. the next night: presses=%d step=%+v", len(*ups), legStepFor(s2, "nextcloud"))
|
||||||
|
}
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
# floating lines in the live catalog, read 2026-09-30T15:07:34+00:00
|
||||||
|
|
||||||
|
ghcr.io/claperco/claper:2.5 last pushed: no anonymous timestamp on ghcr.io
|
||||||
|
registry digest today: sha256:4f733dc50b0c
|
||||||
|
claper/claper: = tested
|
||||||
|
|
||||||
|
ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0 last pushed: no anonymous timestamp on ghcr.io
|
||||||
|
registry digest today: sha256:1a078b237c1d
|
||||||
|
immich/immich-postgres: = tested
|
||||||
|
|
||||||
|
ghcr.io/thomiceli/opengist:1.15 last pushed: no anonymous timestamp on ghcr.io
|
||||||
|
registry digest today: sha256:7edc91273ee7
|
||||||
|
opengist/opengist: = tested
|
||||||
|
|
||||||
|
mariadb:11.8 last pushed: 2026-09-18T02:36:51.573083Z (12 days ago)
|
||||||
|
registry digest today: sha256:79d59758afc9
|
||||||
|
kimai/kimai-db: = tested
|
||||||
|
romm/romm-db: = tested
|
||||||
|
|
||||||
|
mariadb:12.3 last pushed: 2026-09-18T02:37:26.402424Z (12 days ago)
|
||||||
|
registry digest today: sha256:805c8e104bd5
|
||||||
|
bookstack/bookstack-db: = tested
|
||||||
|
nextcloud/nextcloud-db: = tested
|
||||||
|
|
||||||
|
postgis/postgis:16-3.5-alpine last pushed: 2026-08-31T11:37:24.0266Z (30 days ago)
|
||||||
|
registry digest today: sha256:47e961a569fd
|
||||||
|
adventurelog/adventurelog-postgres: = tested
|
||||||
|
|
||||||
|
postgres:16-alpine last pushed: 2026-09-21T04:07:46.010722Z (9 days ago)
|
||||||
|
registry digest today: sha256:721873c34ceb
|
||||||
|
zipline/zipline-postgres: no ladder digest
|
||||||
|
|
||||||
|
postgres:17-alpine last pushed: 2026-09-21T04:08:17.149523Z (9 days ago)
|
||||||
|
registry digest today: sha256:b0f9560a2de0
|
||||||
|
claper/claper-postgres: = tested
|
||||||
|
tandoor/tandoor-postgres: = tested
|
||||||
|
|
||||||
|
postgres:18-alpine last pushed: 2026-09-21T01:08:20.384039Z (9 days ago)
|
||||||
|
registry digest today: sha256:77f585114c32
|
||||||
|
calcom/calcom-postgres: = tested
|
||||||
|
docmost/docmost-postgres: = tested
|
||||||
|
outline/outline-postgres: = tested
|
||||||
|
paperless-ngx/paperless-postgres: = tested
|
||||||
|
rallly/rallly-postgres: = tested
|
||||||
|
sparkyfitness/sparkyfitness-db: = tested
|
||||||
|
|
||||||
|
redis:7-alpine last pushed: 2026-09-21T12:04:40.637995Z (9 days ago)
|
||||||
|
registry digest today: sha256:858f009f9709
|
||||||
|
docmost/docmost-redis: = tested
|
||||||
|
immich/immich-redis: = tested
|
||||||
|
nextcloud/nextcloud-redis: = tested
|
||||||
|
outline/outline-redis: = tested
|
||||||
|
paperless-ngx/paperless-redis: = tested
|
||||||
|
romm/romm-redis: = tested
|
||||||
|
|
||||||
|
wger/server:2.6 last pushed: 2026-06-17T08:41:05.968586Z (105 days ago)
|
||||||
|
registry digest today: sha256:997ead43aabd
|
||||||
|
wger/wger: no ladder digest
|
||||||
|
|
||||||
|
# 11 distinct floating lines; Docker Hub lines pushed within 30 days: 7
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
# ladders: any entry with from == to (a same-tag re-test), or two entries with the same `to` (a re-test at a new digest)?
|
||||||
|
from == to entries: none
|
||||||
|
same `to` twice: none
|
||||||
|
ladder.check_entry(from == to): no problem found
|
||||||
|
step_file(to) for the old head and a same-tag re-test are the SAME path: steps/09d1fdf5e748a56c.yml
|
||||||
@@ -0,0 +1,169 @@
|
|||||||
|
[17:17:59] scratch drive folders cleared before FROM (R-656): none existed
|
||||||
|
[17:17:59] D-immich-0b82-768: deploying immich at FROM {'immich-server': 'ghcr.io/immich-app/immich-server:v3.0.3', 'immich-machine-learning': 'ghcr.io/immich-app/immich-machine-learning:v3.0.3', 'immich-postgres': 'ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0', 'immich-redis': 'redis:7-alpine'}
|
||||||
|
[17:19:34] FROM settled=True in 31.4s :: {"immich-machine-learning": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "immich-postgres": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "immich-redis": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "immich-server": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}}
|
||||||
|
[17:19:34] fixture: the BOX walk's own (Immich), through upgrade_boxport
|
||||||
|
[17:19:34] immich: seeded album drillalbumcb179b80
|
||||||
|
[17:19:35] immich: readback found=True (http 200, control passed)
|
||||||
|
[17:19:35] C1 (seed reads back BEFORE): True
|
||||||
|
[17:19:35] D-immich-0b82-768: swapping to TO {'immich-server': 'ghcr.io/immich-app/immich-server:v3.2.2', 'immich-machine-learning': 'ghcr.io/immich-app/immich-machine-learning:v3.0.3', 'immich-postgres': 'ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0', 'immich-redis': 'redis:7-alpine'}
|
||||||
|
[17:19:36] TO up -d rc=0
|
||||||
|
[17:20:08] TO settled=True in 31.5s :: {"immich-machine-learning": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "immich-postgres": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "immich-redis": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "immich-server": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}}
|
||||||
|
[17:20:08] engine state immich-postgres: 16
|
||||||
|
[17:20:08] migration lines observed: 6
|
||||||
|
[17:20:08] immich: readback found=True (http 200, control passed)
|
||||||
|
[17:20:08] RESULT (seed reads back AFTER): True
|
||||||
|
[17:20:09] files_may_change — the files: ['/srv/felhom-gate/hdd/appdata/immich/backups/.immich (changed)', '/srv/felhom-gate/hdd/appdata/immich/encoded-video/.immich (changed)', '/srv/felhom-gate/hdd/appdata/immich/library/.immich (changed)', '/srv/felhom-gate/hdd/appdata/immich/profile/.immich (changed)', '/srv/felhom-gate/hdd/appdata/immich/thumbs/.immich (changed)', '/srv/felhom-gate/hdd/appdata/immich/upload/.immich (changed)']
|
||||||
|
[17:20:09] files_may_change: the bind-mounted tree changed under ['/srv/felhom-gate/hdd/appdata/immich']
|
||||||
|
[17:20:09] memory watch: 600s, 4 callers on 1 path(s) at 172.18.0.2:2283
|
||||||
|
[17:20:24] + 15s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=723M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1460M/2048M peak=1631M kills=0 rs=0 reqs=304
|
||||||
|
[17:20:39] + 30s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=707M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1471M/2048M peak=1631M kills=0 rs=0 reqs=604
|
||||||
|
[17:20:55] + 46s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=703M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1467M/2048M peak=1631M kills=0 rs=0 reqs=904
|
||||||
|
[17:21:10] + 61s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=701M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1494M/2048M peak=1631M kills=0 rs=0 reqs=1204
|
||||||
|
[17:21:25] + 76s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=701M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1494M/2048M peak=1631M kills=0 rs=0 reqs=1507
|
||||||
|
[17:21:40] + 91s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=701M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1357M/2048M peak=1631M kills=0 rs=0 reqs=1808
|
||||||
|
[17:21:55] + 106s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=701M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1111M/2048M peak=1631M kills=0 rs=0 reqs=2108
|
||||||
|
[17:22:11] + 122s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=702M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1113M/2048M peak=1631M kills=0 rs=0 reqs=2408
|
||||||
|
[17:22:26] + 137s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=702M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1116M/2048M peak=1631M kills=0 rs=0 reqs=2708
|
||||||
|
[17:22:41] + 152s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=702M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1083M/2048M peak=1631M kills=0 rs=0 reqs=3008
|
||||||
|
[17:22:56] + 167s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=702M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1083M/2048M peak=1631M kills=0 rs=0 reqs=3308
|
||||||
|
[17:23:11] + 182s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=702M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1084M/2048M peak=1631M kills=0 rs=0 reqs=3608
|
||||||
|
[17:23:26] + 197s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=702M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1075M/2048M peak=1631M kills=0 rs=0 reqs=3912
|
||||||
|
[17:23:42] + 213s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=702M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1074M/2048M peak=1631M kills=0 rs=0 reqs=4212
|
||||||
|
[17:23:57] + 228s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=705M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1071M/2048M peak=1631M kills=0 rs=0 reqs=4512
|
||||||
|
[17:24:12] + 243s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=715M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1068M/2048M peak=1631M kills=0 rs=0 reqs=4812
|
||||||
|
[17:24:27] + 258s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=731M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1074M/2048M peak=1631M kills=0 rs=0 reqs=5112
|
||||||
|
[17:24:42] + 273s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=741M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1078M/2048M peak=1631M kills=0 rs=0 reqs=5412
|
||||||
|
[17:24:58] + 288s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=748M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1074M/2048M peak=1631M kills=0 rs=0 reqs=5712
|
||||||
|
[17:25:13] + 304s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=754M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1072M/2048M peak=1631M kills=0 rs=0 reqs=6016
|
||||||
|
[17:25:28] + 319s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=754M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1073M/2048M peak=1631M kills=0 rs=0 reqs=6316
|
||||||
|
[17:25:43] + 334s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=764M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1075M/2048M peak=1631M kills=0 rs=0 reqs=6616
|
||||||
|
[17:25:58] + 349s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=767M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1072M/2048M peak=1631M kills=0 rs=0 reqs=6916
|
||||||
|
[17:26:14] + 364s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=763M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1072M/2048M peak=1631M kills=0 rs=0 reqs=7216
|
||||||
|
[17:26:29] + 380s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=767M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1075M/2048M peak=1631M kills=0 rs=0 reqs=7516
|
||||||
|
[17:26:44] + 395s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=763M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1076M/2048M peak=1631M kills=0 rs=0 reqs=7820
|
||||||
|
[17:26:59] + 410s immich-machine-learning=249M/1536M peak=265M kills=0 rs=0 immich-postgres=763M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1077M/2048M peak=1631M kills=0 rs=0 reqs=8120
|
||||||
|
[17:27:14] + 425s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=762M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1078M/2048M peak=1631M kills=0 rs=0 reqs=8420
|
||||||
|
[17:27:29] + 440s immich-machine-learning=249M/1536M peak=265M kills=0 rs=0 immich-postgres=762M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1079M/2048M peak=1631M kills=0 rs=0 reqs=8720
|
||||||
|
[17:27:45] + 456s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=762M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1079M/2048M peak=1631M kills=0 rs=0 reqs=9020
|
||||||
|
[17:28:00] + 471s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=762M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1081M/2048M peak=1631M kills=0 rs=0 reqs=9324
|
||||||
|
[17:28:15] + 486s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=762M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1080M/2048M peak=1631M kills=0 rs=0 reqs=9624
|
||||||
|
[17:28:30] + 501s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=762M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1081M/2048M peak=1631M kills=0 rs=0 reqs=9924
|
||||||
|
[17:28:45] + 516s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=762M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1081M/2048M peak=1631M kills=0 rs=0 reqs=10224
|
||||||
|
[17:29:01] + 532s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=762M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1082M/2048M peak=1631M kills=0 rs=0 reqs=10524
|
||||||
|
[17:29:16] + 547s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=762M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1082M/2048M peak=1631M kills=0 rs=0 reqs=10824
|
||||||
|
[17:29:31] + 562s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=762M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1082M/2048M peak=1631M kills=0 rs=0 reqs=11124
|
||||||
|
[17:29:46] + 577s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=762M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1082M/2048M peak=1631M kills=0 rs=0 reqs=11426
|
||||||
|
[17:30:01] + 592s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=761M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1083M/2048M peak=1631M kills=0 rs=0 reqs=11728
|
||||||
|
[17:30:17] + 607s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=761M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1082M/2048M peak=1631M kills=0 rs=0 reqs=12028
|
||||||
|
[17:30:17] memory watch: killed=False tight=[] requests=12028 codes={'200': 12028}
|
||||||
|
[17:30:17] D-immich-0b82-768: ABORT — putting the FROM images back
|
||||||
|
[17:33:20] ABORT: the app did NOT come back (rc=0, 181.6s)
|
||||||
|
{
|
||||||
|
"harness_version": 4,
|
||||||
|
"edge": "D-immich-0b82-768",
|
||||||
|
"app": "immich",
|
||||||
|
"note": "Part D 2026-09-30: step 0b8272068aab36bf's own definition, immich-postgres 512M -> 768M (R-732)",
|
||||||
|
"from": {
|
||||||
|
"immich-server": "ghcr.io/immich-app/immich-server:v3.0.3",
|
||||||
|
"immich-machine-learning": "ghcr.io/immich-app/immich-machine-learning:v3.0.3",
|
||||||
|
"immich-postgres": "ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0",
|
||||||
|
"immich-redis": "redis:7-alpine"
|
||||||
|
},
|
||||||
|
"to": {
|
||||||
|
"immich-server": "ghcr.io/immich-app/immich-server:v3.2.2",
|
||||||
|
"immich-machine-learning": "ghcr.io/immich-app/immich-machine-learning:v3.0.3",
|
||||||
|
"immich-postgres": "ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0",
|
||||||
|
"immich-redis": "redis:7-alpine"
|
||||||
|
},
|
||||||
|
"verdict": "proven",
|
||||||
|
"seed_read_before": true,
|
||||||
|
"seed_read_after": true,
|
||||||
|
"healthy_after": true,
|
||||||
|
"migration_observed": "\u001b[2Kimmich-server | \u001b[32m[Nest] 7 - \u001b[39m09/30/2026, 7:19:45 PM \u001b[32m LOG\u001b[39m \u001b[33m[Microservices:DatabaseRepository]\u001b[39m \u001b[32mRunning migrations\u001b[39m",
|
||||||
|
"abort": "refuses",
|
||||||
|
"abort_detail": "18:54.244 CEST [72] LOG: database system was shut down at 2026-09-30 19:18:54 CEST\n\u001b[2Kimmich-postgres | 2026-09-30 19:18:54.259 CEST [1] LOG: database system is ready to accept connections\n\u001b[2Kimmich-postgres | 2026-09-30 19:19:07.602 CEST [95] ERROR: relation \"system_metadata\" does not exist at character 21\n\u001b[2Kimmich-postgres | 2026-09-30 19:19:07.602 CEST [95] STATEMENT: select \"value\" from \"system_metadata\" where \"key\" = $1\n\u001b[2Kimmich-postgres | 2026-09-30 19:23:54.345 CEST [70] LOG: checkpoint starting: time\n\u001b[2Kimmich-postgres | 2026-09-30 19:28:24.197 CEST [70] LOG: checkpoint complete: wrote 16951 buffers (25.9%); 0 WAL file(s) added, 0 removed, 16 recycled; write=269.713 s, sync=0.077 s, total=269.853 s; sync files=769, longest=0.007 s, average=0.001 s; distance=269095 kB, estimate=269095 kB; lsn=0/11F98B70, redo lsn=0/11F98B38",
|
||||||
|
"engine_state_after": {
|
||||||
|
"immich-postgres": {
|
||||||
|
"image": "ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0",
|
||||||
|
"probe": "datadir major version",
|
||||||
|
"answer": "16",
|
||||||
|
"probe_rc": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"memory": {
|
||||||
|
"soak_s": 607.7,
|
||||||
|
"requested_s": 600,
|
||||||
|
"requests": 12028,
|
||||||
|
"codes": {
|
||||||
|
"200": 12028
|
||||||
|
},
|
||||||
|
"first_kill": null,
|
||||||
|
"containers": {
|
||||||
|
"immich-machine-learning": {
|
||||||
|
"limit": 1610612736,
|
||||||
|
"peak": 278474752,
|
||||||
|
"peak_pct": 0.173,
|
||||||
|
"anon_peak_sampled": 246366208,
|
||||||
|
"anon_peak_pct": 0.153,
|
||||||
|
"oom_kills": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"measured": true
|
||||||
|
},
|
||||||
|
"immich-postgres": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"peak": 805638144,
|
||||||
|
"peak_pct": 1.0,
|
||||||
|
"anon_peak_sampled": 238280704,
|
||||||
|
"anon_peak_pct": 0.296,
|
||||||
|
"oom_kills": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"measured": true
|
||||||
|
},
|
||||||
|
"immich-redis": {
|
||||||
|
"limit": 134217728,
|
||||||
|
"peak": 18083840,
|
||||||
|
"peak_pct": 0.135,
|
||||||
|
"anon_peak_sampled": 4100096,
|
||||||
|
"anon_peak_pct": 0.031,
|
||||||
|
"oom_kills": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"measured": true
|
||||||
|
},
|
||||||
|
"immich-server": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"peak": 1711157248,
|
||||||
|
"peak_pct": 0.797,
|
||||||
|
"anon_peak_sampled": 1054654464,
|
||||||
|
"anon_peak_pct": 0.491,
|
||||||
|
"oom_kills": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"measured": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"unmeasured": [],
|
||||||
|
"load": "reached"
|
||||||
|
},
|
||||||
|
"marks": [
|
||||||
|
"files_may_change"
|
||||||
|
],
|
||||||
|
"duration_s": 31.5,
|
||||||
|
"measured_at": "2026-09-30T17:33:20Z",
|
||||||
|
"evidence": "evidence/D-immich-0b82-768",
|
||||||
|
"scratch_cleared": [],
|
||||||
|
"files_changed": [
|
||||||
|
"/srv/felhom-gate/hdd/appdata/immich"
|
||||||
|
],
|
||||||
|
"files_changed_detail": [
|
||||||
|
"/srv/felhom-gate/hdd/appdata/immich/backups/.immich (changed)",
|
||||||
|
"/srv/felhom-gate/hdd/appdata/immich/encoded-video/.immich (changed)",
|
||||||
|
"/srv/felhom-gate/hdd/appdata/immich/library/.immich (changed)",
|
||||||
|
"/srv/felhom-gate/hdd/appdata/immich/profile/.immich (changed)",
|
||||||
|
"/srv/felhom-gate/hdd/appdata/immich/thumbs/.immich (changed)",
|
||||||
|
"/srv/felhom-gate/hdd/appdata/immich/upload/.immich (changed)"
|
||||||
|
],
|
||||||
|
"total_s": 921.3
|
||||||
|
}
|
||||||
@@ -0,0 +1,162 @@
|
|||||||
|
# hub read-only 2026-09-30T15:10:48Z: /hosts lists 3 hosts
|
||||||
|
## demo-felhom-8363b5: page 43171 bytes; immich mentions: 0
|
||||||
|
## demo-hp-bb76ea: page 42570 bytes; immich mentions: 0
|
||||||
|
## drill-r50-0a4f9a: page 26198 bytes; immich mentions: 0
|
||||||
|
## demo-felhom-8363b5 positive controls: bookstack=0 paperless=0 kimai=0 nextcloud=0
|
||||||
|
## demo-hp-bb76ea positive controls: bookstack=0 paperless=0 kimai=0 nextcloud=0
|
||||||
|
## drill-r50-0a4f9a positive controls: bookstack=0 paperless=0 kimai=0 nextcloud=0
|
||||||
|
|
||||||
|
## GET /apps (fleet app list) — text rendering:
|
||||||
|
Apps — Felhom Hub
|
||||||
|
Felhom Hub
|
||||||
|
Dashboard
|
||||||
|
Customers
|
||||||
|
Apps
|
||||||
|
Hosts
|
||||||
|
Offsite
|
||||||
|
Configuration
|
||||||
|
App Telemetry
|
||||||
|
24h
|
||||||
|
7d
|
||||||
|
30d
|
||||||
|
14
|
||||||
|
Total Apps
|
||||||
|
18
|
||||||
|
Deployments
|
||||||
|
8
|
||||||
|
Apps with Errors
|
||||||
|
App
|
||||||
|
Deployments
|
||||||
|
Avg Memory
|
||||||
|
P95 Memory
|
||||||
|
Catalog Estimate
|
||||||
|
Catalog Limit
|
||||||
|
Accuracy
|
||||||
|
Errors
|
||||||
|
Warnings
|
||||||
|
Felhom Controller
|
||||||
|
3
|
||||||
|
81 MB
|
||||||
|
147 MB
|
||||||
|
—
|
||||||
|
—
|
||||||
|
—
|
||||||
|
44
|
||||||
|
163
|
||||||
|
OpenGist
|
||||||
|
2
|
||||||
|
23 MB
|
||||||
|
27 MB
|
||||||
|
30M
|
||||||
|
128M
|
||||||
|
2
|
||||||
|
0
|
||||||
|
BookStack
|
||||||
|
2
|
||||||
|
155 MB
|
||||||
|
226 MB
|
||||||
|
150M
|
||||||
|
512M
|
||||||
|
1
|
||||||
|
159
|
||||||
|
Vikunja
|
||||||
|
1
|
||||||
|
50 MB
|
||||||
|
104 MB
|
||||||
|
50M
|
||||||
|
256M
|
||||||
|
0
|
||||||
|
26
|
||||||
|
ActualBudget
|
||||||
|
1
|
||||||
|
87 MB
|
||||||
|
167 MB
|
||||||
|
50M
|
||||||
|
256M
|
||||||
|
0
|
||||||
|
0
|
||||||
|
BentoPDF
|
||||||
|
1
|
||||||
|
5 MB
|
||||||
|
9 MB
|
||||||
|
100M
|
||||||
|
384M
|
||||||
|
0
|
||||||
|
0
|
||||||
|
Calibre-Web Automated
|
||||||
|
1
|
||||||
|
171 MB
|
||||||
|
294 MB
|
||||||
|
200M
|
||||||
|
768M
|
||||||
|
72
|
||||||
|
184
|
||||||
|
Nextcloud
|
||||||
|
1
|
||||||
|
295 MB
|
||||||
|
321 MB
|
||||||
|
256M
|
||||||
|
1024M
|
||||||
|
0
|
||||||
|
12
|
||||||
|
Docmost
|
||||||
|
1
|
||||||
|
411 MB
|
||||||
|
458 MB
|
||||||
|
200M
|
||||||
|
896M
|
||||||
|
364
|
||||||
|
74
|
||||||
|
Paperless-ngx
|
||||||
|
1
|
||||||
|
540 MB
|
||||||
|
585 MB
|
||||||
|
500M
|
||||||
|
1664M
|
||||||
|
84
|
||||||
|
6
|
||||||
|
RomM
|
||||||
|
1
|
||||||
|
690 MB
|
||||||
|
766 MB
|
||||||
|
300M
|
||||||
|
1280M
|
||||||
|
0
|
||||||
|
87
|
||||||
|
PrivateBin
|
||||||
|
1
|
||||||
|
38 MB
|
||||||
|
45 MB
|
||||||
|
|
||||||
|
## GET /hosts — text rendering (report age):
|
||||||
|
demo-felhom-8363b5
|
||||||
|
Demo Ügyfél
|
||||||
|
0.138.0
|
||||||
|
ONLINE
|
||||||
|
1/2
|
||||||
|
0%
|
||||||
|
16%
|
||||||
|
29%
|
||||||
|
inactive
|
||||||
|
29% local
|
||||||
|
demo-hp-bb76ea
|
||||||
|
Demo HP
|
||||||
|
0.138.0
|
||||||
|
ONLINE
|
||||||
|
1/2
|
||||||
|
8%
|
||||||
|
21%
|
||||||
|
61%
|
||||||
|
inactive
|
||||||
|
62% local-lvm
|
||||||
|
drill-r50-0a4f9a
|
||||||
|
drill-r50
|
||||||
|
0.129.0 floor held
|
||||||
|
DOWN
|
||||||
|
1/1
|
||||||
|
20%
|
||||||
|
20%
|
||||||
|
10%
|
||||||
|
inactive
|
||||||
|
10% local
|
||||||
|
Felhom Hub 0.126.0
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
# geodata shipped inside each immich-server image (bench 9401, 2026-09-30T16:07:16Z)
|
||||||
|
## v3.0.3 digest ghcr.io/immich-app/immich-server@sha256:c716dc20f957aafd89fa9d284a2ec63e25c9e2d8d8e87c6197
|
||||||
|
total 55108
|
||||||
|
drwxr-xr-x 2 root root 4096 Jul 13 20:32 .
|
||||||
|
drwxr-xr-x 1 root root 4096 Jul 15 14:37 ..
|
||||||
|
-r--r--r-- 1 root root 151572 Jul 13 01:29 admin1CodesASCII.txt
|
||||||
|
-r--r--r-- 1 root root 2370419 Jul 13 01:29 admin2Codes.txt
|
||||||
|
-r--r--r-- 1 root root 40599782 Jul 13 03:22 cities500.txt
|
||||||
|
-r--r--r-- 1 root root 25 Jul 13 20:32 geodata-date.txt
|
||||||
|
-r--r--r-- 1 root root 13287234 Jan 1 1970 ne_10m_admin_0_countries.geojson
|
||||||
|
geodata-date: 2026-07-13T20:32:48+00:00
|
||||||
|
/build/geodata/cities500.txt lines=234900 sha256=6047c30ba447e8d2
|
||||||
|
## v3.2.2 digest ghcr.io/immich-app/immich-server@sha256:79cc1623323d5894922686d8743b4780181428f98eecbfb58c
|
||||||
|
total 55316
|
||||||
|
drwxr-xr-x 2 root root 4096 Aug 30 09:13 .
|
||||||
|
drwxr-xr-x 1 root root 4096 Sep 15 20:17 ..
|
||||||
|
-r--r--r-- 1 root root 151536 Aug 30 02:43 admin1CodesASCII.txt
|
||||||
|
-r--r--r-- 1 root root 2372955 Aug 30 02:43 admin2Codes.txt
|
||||||
|
-r--r--r-- 1 root root 40781686 Aug 30 04:35 cities500.txt
|
||||||
|
-r--r--r-- 1 root root 31678 Aug 30 02:49 countryInfo.txt
|
||||||
|
-r--r--r-- 1 root root 25 Aug 30 09:13 geodata-date.txt
|
||||||
|
-r--r--r-- 1 root root 13287234 Jan 1 1970 ne_10m_admin_0_countries.geojson
|
||||||
|
geodata-date: 2026-08-30T09:13:55+00:00
|
||||||
|
/build/geodata/cities500.txt lines=235552 sha256=5afa146e5f64d2c9
|
||||||
|
## v3.2.4 digest ghcr.io/immich-app/immich-server@sha256:d317916b28090c33eb36b308464ea391f8b7df1d850fcfea22
|
||||||
|
total 56120
|
||||||
|
drwxr-xr-x 2 root root 4096 Sep 28 15:51 .
|
||||||
|
drwxr-xr-x 1 root root 4096 Sep 28 16:55 ..
|
||||||
|
-r--r--r-- 1 root root 151583 Sep 28 01:52 admin1CodesASCII.txt
|
||||||
|
-r--r--r-- 1 root root 2375171 Sep 28 01:52 admin2Codes.txt
|
||||||
|
-r--r--r-- 1 root root 41600853 Sep 28 03:45 cities500.txt
|
||||||
|
-r--r--r-- 1 root root 31678 Sep 28 01:57 countryInfo.txt
|
||||||
|
-r--r--r-- 1 root root 25 Sep 28 15:51 geodata-date.txt
|
||||||
|
-r--r--r-- 1 root root 13287234 Jan 1 1970 ne_10m_admin_0_countries.geojson
|
||||||
|
geodata-date: 2026-09-28T15:51:37+00:00
|
||||||
|
/build/geodata/cities500.txt lines=235876 sha256=bc7631917832f176
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
55: memory: 2048M
|
||||||
|
84: memory: 1536M
|
||||||
|
109: memory: 768M
|
||||||
|
131: memory: 128M
|
||||||
|
swap lines above (none = no swap)
|
||||||
|
rc=0
|
||||||
+110
@@ -0,0 +1,110 @@
|
|||||||
|
[2Kimmich-machine-learning | [2;36m[09/30/26 19:18:54][0m[2;36m [0m[34mINFO [0m Starting gunicorn [1;36m25.3[0m.[1;36m0[0m
|
||||||
|
[2Kimmich-machine-learning | [2;36m[09/30/26 19:18:54][0m[2;36m [0m[34mINFO [0m Listening at: [4;94mhttp://[0m[1m[[0m::[1m][0m:[1;36m3003[0m [1m([0m[1;36m13[0m[1m)[0m
|
||||||
|
[2Kimmich-machine-learning | [2;36m[09/30/26 19:18:54][0m[2;36m [0m[34mINFO [0m Using worker: immich_ml.config.CustomUvicornWorker
|
||||||
|
[2Kimmich-machine-learning | [2;36m[09/30/26 19:18:54][0m[2;36m [0m[34mINFO [0m Booting worker with pid: [1;36m19[0m
|
||||||
|
[2Kimmich-machine-learning | [2;36m[09/30/26 19:18:57][0m[2;36m [0m[34mINFO [0m Started server process [1m[[0m[1;36m19[0m[1m][0m
|
||||||
|
[2Kimmich-machine-learning | [2;36m[09/30/26 19:18:57][0m[2;36m [0m[34mINFO [0m Waiting for application startup.
|
||||||
|
[2Kimmich-machine-learning | [2;36m[09/30/26 19:18:57][0m[2;36m [0m[34mINFO [0m Created in-memory cache with unloading after 300s
|
||||||
|
[2Kimmich-machine-learning | [2;36m [0m of inactivity.
|
||||||
|
[2Kimmich-machine-learning | [2;36m[09/30/26 19:18:57][0m[2;36m [0m[34mINFO [0m Initialized request thread pool with [1;36m8[0m threads.
|
||||||
|
[2Kimmich-machine-learning | [2;36m[09/30/26 19:18:57][0m[2;36m [0m[34mINFO [0m Application startup complete.
|
||||||
|
[2Kimmich-server | Killing api process
|
||||||
|
[2Kimmich-server | Initializing Immich v3.0.3
|
||||||
|
[2Kimmich-server | Detected CPU Cores: 8
|
||||||
|
[2Kimmich-server | (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2K[2Kimmich-redis | 1:C 30 Sep 2026 19:18:52.334 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
|
||||||
|
immich-server | Starting api worker
|
||||||
|
[2Kimmich-redis | 1:C 30 Sep 2026 19:18:52.334 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
|
||||||
|
[2Kimmich-redis | 1:C 30 Sep 2026 19:18:52.334 * Redis version=7.4.11, bits=64, commit=00000000, modified=0, pid=1, just started
|
||||||
|
[2Kimmich-redis | 1:C 30 Sep 2026 19:18:52.334 * Configuration loaded
|
||||||
|
[2Kimmich-redis | 1:M 30 Sep 2026 19:18:52.335 * monotonic clock: POSIX clock_gettime
|
||||||
|
[2Kimmich-redis | 1:M 30 Sep 2026 19:18:52.337 * Running mode=standalone, port=6379.
|
||||||
|
[2Kimmich-redis | 1:M 30 Sep 2026 19:18:52.337 * Server initialized
|
||||||
|
[2Kimmich-redis | 1:M 30 Sep 2026 19:18:52.341 * Creating AOF base file appendonly.aof.1.base.rdb on server start
|
||||||
|
[2Kimmich-redis | 1:M 30 Sep 2026 19:18:52.348 * Creating AOF incr file appendonly.aof.1.incr.aof on server start
|
||||||
|
[2Kimmich-redis | 1:M 30 Sep 2026 19:18:52.348 * Ready to accept connections tcp
|
||||||
|
[2Kimmich-redis | 1:M 30 Sep 2026 19:23:53.011 * 100 changes in 300 seconds. Saving...
|
||||||
|
[2Kimmich-server | Starting microservices worker
|
||||||
|
[2Kimmich-redis | 1:M 30 Sep 2026 19:23:53.012 * Background saving started by pid 190
|
||||||
|
[2Kimmich-redis | 190:C 30 Sep 2026 19:23:53.019 * DB saved on disk
|
||||||
|
[2Kimmich-redis | 190:C 30 Sep 2026 19:23:53.020 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
|
||||||
|
[2Kimmich-redis | 1:M 30 Sep 2026 19:23:53.113 * Background saving terminated with success
|
||||||
|
[2Kimmich-redis | 1:M 30 Sep 2026 19:28:54.051 * 100 changes in 300 seconds. Saving...
|
||||||
|
[2Kimmich-redis | 1:M 30 Sep 2026 19:28:54.052 * Background saving started by pid 371
|
||||||
|
[2Kimmich-redis | 371:C 30 Sep 2026 19:28:54.062 * DB saved on disk
|
||||||
|
[2Kimmich-server | (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | (node:29) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:32:29 PM [32m LOG[39m [33m[Microservices:WebsocketRepository][39m [32mInitialized websocket server[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:32:29 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mtargetLists=1, current=1 for clip_index of 0 rows[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:32:29 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mtargetLists=1, current=1 for face_index of 0 rows[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:32:29 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mRunning migrations[39m
|
||||||
|
[2K[2Kimmich-server | [31m[Nest] 7 - [39m09/30/2026, 7:32:29 PM [31m ERROR[39m [33m[Microservices:DatabaseRepository][39m [31mMigrations failed: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing[39m
|
||||||
|
[2Kimmich-server | Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing
|
||||||
|
[2Kimmich-server | at #ensureNoMissingMigrations (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:495:23)
|
||||||
|
[2K[2Kimmich-server | at #getState (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:447:40)
|
||||||
|
[2Kimmich-server | at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||||
|
immich-redis | 371:C 30 Sep 2026 19:28:54.063 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
|
||||||
|
immich-postgres | initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.
|
||||||
|
[2Kimmich-postgres | 2026-09-30 17:18:53.381 GMT [48] LOG: skipping missing configuration file "/var/lib/postgresql/data/postgresql.override.conf"
|
||||||
|
[2Kimmich-postgres | 2026-09-30 17:18:53.382 GMT [48] LOG: skipping missing configuration file "/var/lib/postgresql/data/postgresql.override.conf"
|
||||||
|
[2Kimmich-postgres | waiting for server to start....2026-09-30 17:18:53.429 GMT [53] LOG: skipping missing configuration file "/var/lib/postgresql/data/postgresql.override.conf"
|
||||||
|
[2Kimmich-postgres | 2026-09-30 17:18:53.430 GMT [53] LOG: skipping missing configuration file "/var/lib/postgresql/data/postgresql.override.conf"
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:53.479 CEST [53] LOG: starting PostgreSQL 16.10 (Debian 16.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:53.486 CEST [53] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
|
||||||
|
[2Kimmich-redis | 1:M 30 Sep 2026 19:28:54.153 * Background saving terminated with success
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:53.506 CEST [56] LOG: database system was shut down at 2026-09-30 19:18:53 CEST
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:53.519 CEST [53] LOG: database system is ready to accept connections
|
||||||
|
[2Kimmich-postgres | done
|
||||||
|
[2Kimmich-postgres | server started
|
||||||
|
[2Kimmich-postgres | CREATE DATABASE
|
||||||
|
[2Kimmich-postgres |
|
||||||
|
[2Kimmich-postgres |
|
||||||
|
[2Kimmich-postgres | /usr/local/bin/docker-entrypoint.sh: ignoring /docker-entrypoint-initdb.d/*
|
||||||
|
[2Kimmich-postgres |
|
||||||
|
[2Kimmich-postgres | waiting for server to shut down...2026-09-30 19:18:53.959 CEST [53] LOG: received fast shutdown request
|
||||||
|
[2Kimmich-postgres | .2026-09-30 19:18:53.964 CEST [53] LOG: aborting any active transactions
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:53.970 CEST [53] LOG: background worker "logical replication launcher" (PID 62) exited with exit code 1
|
||||||
|
[2Kimmich-server | at async run (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:417:31)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/kysely.js:578:32
|
||||||
|
[2Kimmich-server | at async DefaultConnectionProvider.provideConnection (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/driver/default-connection-provider.js:12:20)
|
||||||
|
[2Kimmich-server | at async #migrate (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:273:20)
|
||||||
|
[2K[2Kimmich-postgres | 2026-09-30 19:18:53.971 CEST [54] LOG: shutting down
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:53.974 CEST [54] LOG: checkpoint starting: shutdown immediate
|
||||||
|
immich-server | at async DatabaseRepository.runMigrations (/usr/src/app/server/dist/repositories/database.repository.js:324:36)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/services/database.service.js:103:17
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/repositories/database.repository.js:376:27
|
||||||
|
[2Kimmich-server | microservices worker error: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing, stack: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing
|
||||||
|
[2Kimmich-server | at #ensureNoMissingMigrations (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:495:23)
|
||||||
|
[2Kimmich-server | at #getState (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:447:40)
|
||||||
|
[2Kimmich-server | at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||||
|
[2Kimmich-server | at async run (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:417:31)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/kysely.js:578:32
|
||||||
|
[2Kimmich-server | at async DefaultConnectionProvider.provideConnection (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/driver/default-connection-provider.js:12:20)
|
||||||
|
[2Kimmich-server | at async #migrate (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:273:20)
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:54.069 CEST [54] LOG: checkpoint complete: wrote 922 buffers (1.4%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.035 s, sync=0.048 s, total=0.098 s; sync files=301, longest=0.017 s, average=0.001 s; distance=1672 kB, estimate=1672 kB; lsn=0/18CED10, redo lsn=0/18CED10
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:54.092 CEST [53] LOG: database system is shut down
|
||||||
|
[2Kimmich-postgres | done
|
||||||
|
[2Kimmich-postgres | server stopped
|
||||||
|
[2Kimmich-server | at async DatabaseRepository.runMigrations (/usr/src/app/server/dist/repositories/database.repository.js:324:36)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/services/database.service.js:103:17
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/repositories/database.repository.js:376:27
|
||||||
|
[2Kimmich-server | microservices worker exited with code 1
|
||||||
|
[2Kimmich-server | Killing api process
|
||||||
|
[2Kimmich-postgres |
|
||||||
|
[2Kimmich-postgres | PostgreSQL init process complete; ready for start up.
|
||||||
|
[2Kimmich-postgres |
|
||||||
|
[2Kimmich-postgres | 2026-09-30 17:18:54.182 GMT [1] LOG: skipping missing configuration file "/var/lib/postgresql/data/postgresql.override.conf"
|
||||||
|
[2Kimmich-postgres | 2026-09-30 17:18:54.182 GMT [1] LOG: skipping missing configuration file "/var/lib/postgresql/data/postgresql.override.conf"
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:54.225 CEST [1] LOG: starting PostgreSQL 16.10 (Debian 16.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:54.225 CEST [1] LOG: listening on IPv4 address "0.0.0.0", port 5432
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:54.225 CEST [1] LOG: listening on IPv6 address "::", port 5432
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:54.232 CEST [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:54.244 CEST [72] LOG: database system was shut down at 2026-09-30 19:18:54 CEST
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:54.259 CEST [1] LOG: database system is ready to accept connections
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:19:07.602 CEST [95] ERROR: relation "system_metadata" does not exist at character 21
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:19:07.602 CEST [95] STATEMENT: select "value" from "system_metadata" where "key" = $1
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:23:54.345 CEST [70] LOG: checkpoint starting: time
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:28:24.197 CEST [70] LOG: checkpoint complete: wrote 16951 buffers (25.9%); 0 WAL file(s) added, 0 removed, 16 recycled; write=269.713 s, sync=0.077 s, total=269.853 s; sync files=769, longest=0.007 s, average=0.001 s; distance=269095 kB, estimate=269095 kB; lsn=0/11F98B70, redo lsn=0/11F98B38
|
||||||
+26
@@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
"immich-machine-learning": {
|
||||||
|
"status": "running",
|
||||||
|
"health": "healthy",
|
||||||
|
"restarts": 0,
|
||||||
|
"exit": 0
|
||||||
|
},
|
||||||
|
"immich-postgres": {
|
||||||
|
"status": "running",
|
||||||
|
"health": "healthy",
|
||||||
|
"restarts": 0,
|
||||||
|
"exit": 0
|
||||||
|
},
|
||||||
|
"immich-redis": {
|
||||||
|
"status": "running",
|
||||||
|
"health": "healthy",
|
||||||
|
"restarts": 0,
|
||||||
|
"exit": 0
|
||||||
|
},
|
||||||
|
"immich-server": {
|
||||||
|
"status": "restarting",
|
||||||
|
"health": "unhealthy",
|
||||||
|
"restarts": 0,
|
||||||
|
"exit": 1
|
||||||
|
}
|
||||||
|
}
|
||||||
+487
@@ -0,0 +1,487 @@
|
|||||||
|
[2Kimmich-redis | 1:C 30 Sep 2026 19:18:52.334 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
|
||||||
|
[2Kimmich-redis | 1:C 30 Sep 2026 19:18:52.334 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
|
||||||
|
[2Kimmich-redis | 1:C 30 Sep 2026 19:18:52.334 * Redis version=7.4.11, bits=64, commit=00000000, modified=0, pid=1, just started
|
||||||
|
[2Kimmich-redis | 1:C 30 Sep 2026 19:18:52.334 * Configuration loaded
|
||||||
|
[2Kimmich-redis | 1:M 30 Sep 2026 19:18:52.335 * monotonic clock: POSIX clock_gettime
|
||||||
|
[2Kimmich-redis | 1:M 30 Sep 2026 19:18:52.337 * Running mode=standalone, port=6379.
|
||||||
|
[2Kimmich-redis | 1:M 30 Sep 2026 19:18:52.337 * Server initialized
|
||||||
|
[2Kimmich-redis | 1:M 30 Sep 2026 19:18:52.341 * Creating AOF base file appendonly.aof.1.base.rdb on server start
|
||||||
|
[2Kimmich-redis | 1:M 30 Sep 2026 19:18:52.348 * Creating AOF incr file appendonly.aof.1.incr.aof on server start
|
||||||
|
[2Kimmich-redis | 1:M 30 Sep 2026 19:18:52.348 * Ready to accept connections tcp
|
||||||
|
[2Kimmich-redis | 1:M 30 Sep 2026 19:23:53.011 * 100 changes in 300 seconds. Saving...
|
||||||
|
[2Kimmich-redis | 1:M 30 Sep 2026 19:23:53.012 * Background saving started by pid 190
|
||||||
|
[2Kimmich-redis | 190:C 30 Sep 2026 19:23:53.019 * DB saved on disk
|
||||||
|
[2Kimmich-redis | 190:C 30 Sep 2026 19:23:53.020 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
|
||||||
|
[2Kimmich-redis | 1:M 30 Sep 2026 19:23:53.113 * Background saving terminated with success
|
||||||
|
[2Kimmich-redis | 1:M 30 Sep 2026 19:28:54.051 * 100 changes in 300 seconds. Saving...
|
||||||
|
[2Kimmich-redis | 1:M 30 Sep 2026 19:28:54.052 * Background saving started by pid 371
|
||||||
|
[2Kimmich-redis | 371:C 30 Sep 2026 19:28:54.062 * DB saved on disk
|
||||||
|
[2K[2Kimmich-redis | 371:C 30 Sep 2026 19:28:54.063 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
|
||||||
|
[2Kimmich-redis | 1:M 30 Sep 2026 19:28:54.153 * Background saving terminated with success
|
||||||
|
immich-machine-learning | [2;36m[09/30/26 19:18:54][0m[2;36m [0m[34mINFO [0m Starting gunicorn [1;36m25.3[0m.[1;36m0[0m
|
||||||
|
[2Kimmich-machine-learning | [2;36m[09/30/26 19:18:54][0m[2;36m [0m[34mINFO [0m Listening at: [4;94mhttp://[0m[1m[[0m::[1m][0m:[1;36m3003[0m [1m([0m[1;36m13[0m[1m)[0m
|
||||||
|
[2Kimmich-machine-learning | [2;36m[09/30/26 19:18:54][0m[2;36m [0m[34mINFO [0m Using worker: immich_ml.config.CustomUvicornWorker
|
||||||
|
[2Kimmich-machine-learning | [2;36m[09/30/26 19:18:54][0m[2;36m [0m[34mINFO [0m Booting worker with pid: [1;36m19[0m
|
||||||
|
[2Kimmich-machine-learning | [2;36m[09/30/26 19:18:57][0m[2;36m [0m[34mINFO [0m Started server process [1m[[0m[1;36m19[0m[1m][0m
|
||||||
|
[2Kimmich-machine-learning | [2;36m[09/30/26 19:18:57][0m[2;36m [0m[34mINFO [0m Waiting for application startup.
|
||||||
|
[2Kimmich-machine-learning | [2;36m[09/30/26 19:18:57][0m[2;36m [0m[34mINFO [0m Created in-memory cache with unloading after 300s
|
||||||
|
[2Kimmich-machine-learning | [2;36m [0m of inactivity.
|
||||||
|
[2Kimmich-machine-learning | [2;36m[09/30/26 19:18:57][0m[2;36m [0m[34mINFO [0m Initialized request thread pool with [1;36m8[0m threads.
|
||||||
|
[2Kimmich-machine-learning | [2;36m[09/30/26 19:18:57][0m[2;36m [0m[34mINFO [0m Application startup complete.
|
||||||
|
[2Kimmich-server | Initializing Immich v3.0.3
|
||||||
|
[2Kimmich-server | Detected CPU Cores: 8
|
||||||
|
[2Kimmich-server | (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | Starting api worker
|
||||||
|
[2Kimmich-server | Starting microservices worker
|
||||||
|
[2Kimmich-server | (node:29) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:30:26 PM [32m LOG[39m [33m[Microservices:WebsocketRepository][39m [32mInitialized websocket server[39m
|
||||||
|
[2Kimmich-postgres | Using SSD storage
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:30:26 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mtargetLists=1, current=1 for clip_index of 0 rows[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:30:26 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mtargetLists=1, current=1 for face_index of 0 rows[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:30:26 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mRunning migrations[39m
|
||||||
|
[2Kimmich-server | [31m[Nest] 7 - [39m09/30/2026, 7:30:27 PM [31m ERROR[39m [33m[Microservices:DatabaseRepository][39m [31mMigrations failed: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing[39m
|
||||||
|
[2Kimmich-server | Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing
|
||||||
|
[2Kimmich-server | at #ensureNoMissingMigrations (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:495:23)
|
||||||
|
[2Kimmich-server | at #getState (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:447:40)
|
||||||
|
[2Kimmich-server | at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||||
|
[2Kimmich-server | at async run (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:417:31)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/kysely.js:578:32
|
||||||
|
[2K[2Kimmich-server | at async DefaultConnectionProvider.provideConnection (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/driver/default-connection-provider.js:12:20)
|
||||||
|
[2Kimmich-server | at async #migrate (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:273:20)
|
||||||
|
[2Kimmich-server | at async DatabaseRepository.runMigrations (/usr/src/app/server/dist/repositories/database.repository.js:324:36)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/services/database.service.js:103:17
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/repositories/database.repository.js:376:27
|
||||||
|
[2Kimmich-server | microservices worker error: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing, stack: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing
|
||||||
|
immich-postgres | The files belonging to this database system will be owned by user "postgres".
|
||||||
|
[2Kimmich-postgres | This user must also own the server process.
|
||||||
|
[2Kimmich-postgres |
|
||||||
|
[2Kimmich-postgres | The database cluster will be initialized with locale "en_US.utf8".
|
||||||
|
[2Kimmich-postgres | The default database encoding has accordingly been set to "UTF8".
|
||||||
|
[2Kimmich-postgres | The default text search configuration will be set to "english".
|
||||||
|
[2Kimmich-postgres |
|
||||||
|
[2Kimmich-postgres | Data page checksums are enabled.
|
||||||
|
[2Kimmich-postgres |
|
||||||
|
[2Kimmich-postgres | fixing permissions on existing directory /var/lib/postgresql/data ... ok
|
||||||
|
[2Kimmich-postgres | creating subdirectories ... ok
|
||||||
|
[2K[2Kimmich-server | at #ensureNoMissingMigrations (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:495:23)
|
||||||
|
[2Kimmich-server | at #getState (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:447:40)
|
||||||
|
[2Kimmich-server | at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||||
|
[2Kimmich-server | at async run (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:417:31)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/kysely.js:578:32
|
||||||
|
[2Kimmich-server | at async DefaultConnectionProvider.provideConnection (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/driver/default-connection-provider.js:12:20)
|
||||||
|
[2Kimmich-server | at async #migrate (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:273:20)
|
||||||
|
[2Kimmich-server | at async DatabaseRepository.runMigrations (/usr/src/app/server/dist/repositories/database.repository.js:324:36)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/services/database.service.js:103:17
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/repositories/database.repository.js:376:27
|
||||||
|
[2Kimmich-server | microservices worker exited with code 1
|
||||||
|
[2Kimmich-server | Killing api process
|
||||||
|
[2Kimmich-server | Initializing Immich v3.0.3
|
||||||
|
[2Kimmich-server | Detected CPU Cores: 8
|
||||||
|
[2Kimmich-server | (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | Starting api worker
|
||||||
|
[2Kimmich-server | Starting microservices worker
|
||||||
|
immich-postgres | selecting dynamic shared memory implementation ... posix
|
||||||
|
[2Kimmich-postgres | selecting default max_connections ... 100
|
||||||
|
[2Kimmich-postgres | selecting default shared_buffers ... 128MB
|
||||||
|
[2Kimmich-postgres | selecting default time zone ... Europe/Budapest
|
||||||
|
[2Kimmich-postgres | creating configuration files ... ok
|
||||||
|
[2Kimmich-postgres | running bootstrap script ... ok
|
||||||
|
[2Kimmich-postgres | performing post-bootstrap initialization ... ok
|
||||||
|
[2Kimmich-postgres | syncing data to disk ... ok
|
||||||
|
[2Kimmich-postgres |
|
||||||
|
[2Kimmich-postgres |
|
||||||
|
[2Kimmich-postgres | Success. You can now start the database server using:
|
||||||
|
[2Kimmich-postgres |
|
||||||
|
[2Kimmich-postgres | pg_ctl -D /var/lib/postgresql/data -l logfile start
|
||||||
|
[2K[2Kimmich-postgres |
|
||||||
|
[2Kimmich-postgres | initdb: warning: enabling "trust" authentication for local connections
|
||||||
|
[2Kimmich-postgres | initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.
|
||||||
|
[2Kimmich-postgres | 2026-09-30 17:18:53.381 GMT [48] LOG: skipping missing configuration file "/var/lib/postgresql/data/postgresql.override.conf"
|
||||||
|
[2Kimmich-postgres | 2026-09-30 17:18:53.382 GMT [48] LOG: skipping missing configuration file "/var/lib/postgresql/data/postgresql.override.conf"
|
||||||
|
[2Kimmich-postgres | waiting for server to start....2026-09-30 17:18:53.429 GMT [53] LOG: skipping missing configuration file "/var/lib/postgresql/data/postgresql.override.conf"
|
||||||
|
[2Kimmich-postgres | 2026-09-30 17:18:53.430 GMT [53] LOG: skipping missing configuration file "/var/lib/postgresql/data/postgresql.override.conf"
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:53.479 CEST [53] LOG: starting PostgreSQL 16.10 (Debian 16.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:53.486 CEST [53] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:53.506 CEST [56] LOG: database system was shut down at 2026-09-30 19:18:53 CEST
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:53.519 CEST [53] LOG: database system is ready to accept connections
|
||||||
|
immich-server | (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2K[2Kimmich-postgres | done
|
||||||
|
[2Kimmich-postgres | server started
|
||||||
|
[2Kimmich-postgres | CREATE DATABASE
|
||||||
|
[2Kimmich-postgres |
|
||||||
|
[2Kimmich-postgres |
|
||||||
|
[2Kimmich-postgres | /usr/local/bin/docker-entrypoint.sh: ignoring /docker-entrypoint-initdb.d/*
|
||||||
|
[2Kimmich-postgres |
|
||||||
|
[2Kimmich-postgres | waiting for server to shut down...2026-09-30 19:18:53.959 CEST [53] LOG: received fast shutdown request
|
||||||
|
immich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | (node:29) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:30:35 PM [32m LOG[39m [33m[Microservices:WebsocketRepository][39m [32mInitialized websocket server[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:30:35 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mtargetLists=1, current=1 for clip_index of 0 rows[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:30:35 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mtargetLists=1, current=1 for face_index of 0 rows[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:30:35 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mRunning migrations[39m
|
||||||
|
[2Kimmich-server | [31m[Nest] 7 - [39m09/30/2026, 7:30:35 PM [31m ERROR[39m [33m[Microservices:DatabaseRepository][39m [31mMigrations failed: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing[39m
|
||||||
|
[2Kimmich-server | Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing
|
||||||
|
[2Kimmich-server | at #ensureNoMissingMigrations (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:495:23)
|
||||||
|
[2Kimmich-postgres | .2026-09-30 19:18:53.964 CEST [53] LOG: aborting any active transactions
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:53.970 CEST [53] LOG: background worker "logical replication launcher" (PID 62) exited with exit code 1
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:53.971 CEST [54] LOG: shutting down
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:53.974 CEST [54] LOG: checkpoint starting: shutdown immediate
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:54.069 CEST [54] LOG: checkpoint complete: wrote 922 buffers (1.4%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.035 s, sync=0.048 s, total=0.098 s; sync files=301, longest=0.017 s, average=0.001 s; distance=1672 kB, estimate=1672 kB; lsn=0/18CED10, redo lsn=0/18CED10
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:54.092 CEST [53] LOG: database system is shut down
|
||||||
|
[2Kimmich-postgres | done
|
||||||
|
[2Kimmich-postgres | server stopped
|
||||||
|
[2Kimmich-postgres |
|
||||||
|
[2Kimmich-server | at #getState (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:447:40)
|
||||||
|
[2Kimmich-server | at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||||
|
[2Kimmich-server | at async run (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:417:31)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/kysely.js:578:32
|
||||||
|
[2Kimmich-server | at async DefaultConnectionProvider.provideConnection (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/driver/default-connection-provider.js:12:20)
|
||||||
|
[2Kimmich-server | at async #migrate (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:273:20)
|
||||||
|
[2Kimmich-server | at async DatabaseRepository.runMigrations (/usr/src/app/server/dist/repositories/database.repository.js:324:36)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/services/database.service.js:103:17
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/repositories/database.repository.js:376:27
|
||||||
|
[2Kimmich-postgres | PostgreSQL init process complete; ready for start up.
|
||||||
|
[2K[2Kimmich-postgres |
|
||||||
|
[2Kimmich-postgres | 2026-09-30 17:18:54.182 GMT [1] LOG: skipping missing configuration file "/var/lib/postgresql/data/postgresql.override.conf"
|
||||||
|
[2Kimmich-postgres | 2026-09-30 17:18:54.182 GMT [1] LOG: skipping missing configuration file "/var/lib/postgresql/data/postgresql.override.conf"
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:54.225 CEST [1] LOG: starting PostgreSQL 16.10 (Debian 16.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:54.225 CEST [1] LOG: listening on IPv4 address "0.0.0.0", port 5432
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:54.225 CEST [1] LOG: listening on IPv6 address "::", port 5432
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:54.232 CEST [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:54.244 CEST [72] LOG: database system was shut down at 2026-09-30 19:18:54 CEST
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:54.259 CEST [1] LOG: database system is ready to accept connections
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:19:07.602 CEST [95] ERROR: relation "system_metadata" does not exist at character 21
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:19:07.602 CEST [95] STATEMENT: select "value" from "system_metadata" where "key" = $1
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:23:54.345 CEST [70] LOG: checkpoint starting: time
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:28:24.197 CEST [70] LOG: checkpoint complete: wrote 16951 buffers (25.9%); 0 WAL file(s) added, 0 removed, 16 recycled; write=269.713 s, sync=0.077 s, total=269.853 s; sync files=769, longest=0.007 s, average=0.001 s; distance=269095 kB, estimate=269095 kB; lsn=0/11F98B70, redo lsn=0/11F98B38
|
||||||
|
immich-server | microservices worker error: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing, stack: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing
|
||||||
|
[2Kimmich-server | at #ensureNoMissingMigrations (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:495:23)
|
||||||
|
[2Kimmich-server | at #getState (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:447:40)
|
||||||
|
[2Kimmich-server | at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||||
|
[2Kimmich-server | at async run (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:417:31)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/kysely.js:578:32
|
||||||
|
[2Kimmich-server | at async DefaultConnectionProvider.provideConnection (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/driver/default-connection-provider.js:12:20)
|
||||||
|
[2Kimmich-server | at async #migrate (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:273:20)
|
||||||
|
[2Kimmich-server | at async DatabaseRepository.runMigrations (/usr/src/app/server/dist/repositories/database.repository.js:324:36)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/services/database.service.js:103:17
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/repositories/database.repository.js:376:27
|
||||||
|
[2Kimmich-server | microservices worker exited with code 1
|
||||||
|
[2Kimmich-server | Killing api process
|
||||||
|
[2Kimmich-server | Initializing Immich v3.0.3
|
||||||
|
[2Kimmich-server | Detected CPU Cores: 8
|
||||||
|
[2Kimmich-server | (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | Starting api worker
|
||||||
|
[2Kimmich-server | Starting microservices worker
|
||||||
|
[2Kimmich-server | (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | (node:29) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:30:43 PM [32m LOG[39m [33m[Microservices:WebsocketRepository][39m [32mInitialized websocket server[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:30:43 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mtargetLists=1, current=1 for clip_index of 0 rows[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:30:43 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mtargetLists=1, current=1 for face_index of 0 rows[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:30:43 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mRunning migrations[39m
|
||||||
|
[2Kimmich-server | [31m[Nest] 7 - [39m09/30/2026, 7:30:43 PM [31m ERROR[39m [33m[Microservices:DatabaseRepository][39m [31mMigrations failed: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing[39m
|
||||||
|
[2Kimmich-server | Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing
|
||||||
|
[2Kimmich-server | at #ensureNoMissingMigrations (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:495:23)
|
||||||
|
[2Kimmich-server | at #getState (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:447:40)
|
||||||
|
[2Kimmich-server | at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||||
|
[2Kimmich-server | at async run (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:417:31)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/kysely.js:578:32
|
||||||
|
[2Kimmich-server | at async DefaultConnectionProvider.provideConnection (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/driver/default-connection-provider.js:12:20)
|
||||||
|
[2Kimmich-server | at async #migrate (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:273:20)
|
||||||
|
[2Kimmich-server | at async DatabaseRepository.runMigrations (/usr/src/app/server/dist/repositories/database.repository.js:324:36)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/services/database.service.js:103:17
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/repositories/database.repository.js:376:27
|
||||||
|
[2Kimmich-server | microservices worker error: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing, stack: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing
|
||||||
|
[2Kimmich-server | at #ensureNoMissingMigrations (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:495:23)
|
||||||
|
[2Kimmich-server | at #getState (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:447:40)
|
||||||
|
[2Kimmich-server | at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||||
|
[2Kimmich-server | at async run (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:417:31)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/kysely.js:578:32
|
||||||
|
[2Kimmich-server | at async DefaultConnectionProvider.provideConnection (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/driver/default-connection-provider.js:12:20)
|
||||||
|
[2Kimmich-server | at async #migrate (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:273:20)
|
||||||
|
[2Kimmich-server | at async DatabaseRepository.runMigrations (/usr/src/app/server/dist/repositories/database.repository.js:324:36)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/services/database.service.js:103:17
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/repositories/database.repository.js:376:27
|
||||||
|
[2Kimmich-server | microservices worker exited with code 1
|
||||||
|
[2Kimmich-server | Killing api process
|
||||||
|
[2Kimmich-server | Initializing Immich v3.0.3
|
||||||
|
[2Kimmich-server | Detected CPU Cores: 8
|
||||||
|
[2Kimmich-server | (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | Starting api worker
|
||||||
|
[2Kimmich-server | Starting microservices worker
|
||||||
|
[2Kimmich-server | (node:29) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:30:51 PM [32m LOG[39m [33m[Microservices:WebsocketRepository][39m [32mInitialized websocket server[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:30:51 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mtargetLists=1, current=1 for clip_index of 0 rows[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:30:51 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mtargetLists=1, current=1 for face_index of 0 rows[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:30:51 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mRunning migrations[39m
|
||||||
|
[2Kimmich-server | [31m[Nest] 7 - [39m09/30/2026, 7:30:51 PM [31m ERROR[39m [33m[Microservices:DatabaseRepository][39m [31mMigrations failed: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing[39m
|
||||||
|
[2Kimmich-server | Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing
|
||||||
|
[2Kimmich-server | at #ensureNoMissingMigrations (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:495:23)
|
||||||
|
[2Kimmich-server | at #getState (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:447:40)
|
||||||
|
[2Kimmich-server | at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||||
|
[2Kimmich-server | at async run (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:417:31)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/kysely.js:578:32
|
||||||
|
[2Kimmich-server | at async DefaultConnectionProvider.provideConnection (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/driver/default-connection-provider.js:12:20)
|
||||||
|
[2Kimmich-server | at async #migrate (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:273:20)
|
||||||
|
[2Kimmich-server | at async DatabaseRepository.runMigrations (/usr/src/app/server/dist/repositories/database.repository.js:324:36)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/services/database.service.js:103:17
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/repositories/database.repository.js:376:27
|
||||||
|
[2Kimmich-server | microservices worker error: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing, stack: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing
|
||||||
|
[2Kimmich-server | at #ensureNoMissingMigrations (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:495:23)
|
||||||
|
[2Kimmich-server | at #getState (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:447:40)
|
||||||
|
[2Kimmich-server | at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||||
|
[2Kimmich-server | at async run (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:417:31)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/kysely.js:578:32
|
||||||
|
[2Kimmich-server | at async DefaultConnectionProvider.provideConnection (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/driver/default-connection-provider.js:12:20)
|
||||||
|
[2Kimmich-server | at async #migrate (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:273:20)
|
||||||
|
[2Kimmich-server | at async DatabaseRepository.runMigrations (/usr/src/app/server/dist/repositories/database.repository.js:324:36)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/services/database.service.js:103:17
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/repositories/database.repository.js:376:27
|
||||||
|
[2Kimmich-server | microservices worker exited with code 1
|
||||||
|
[2Kimmich-server | Killing api process
|
||||||
|
[2Kimmich-server | Initializing Immich v3.0.3
|
||||||
|
[2Kimmich-server | Detected CPU Cores: 8
|
||||||
|
[2Kimmich-server | (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | Starting api worker
|
||||||
|
[2Kimmich-server | Starting microservices worker
|
||||||
|
[2Kimmich-server | (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | (node:29) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:31:00 PM [32m LOG[39m [33m[Microservices:WebsocketRepository][39m [32mInitialized websocket server[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:31:00 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mtargetLists=1, current=1 for clip_index of 0 rows[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:31:00 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mtargetLists=1, current=1 for face_index of 0 rows[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:31:00 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mRunning migrations[39m
|
||||||
|
[2Kimmich-server | [31m[Nest] 7 - [39m09/30/2026, 7:31:00 PM [31m ERROR[39m [33m[Microservices:DatabaseRepository][39m [31mMigrations failed: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing[39m
|
||||||
|
[2Kimmich-server | Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing
|
||||||
|
[2Kimmich-server | at #ensureNoMissingMigrations (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:495:23)
|
||||||
|
[2Kimmich-server | at #getState (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:447:40)
|
||||||
|
[2Kimmich-server | at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||||
|
[2Kimmich-server | at async run (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:417:31)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/kysely.js:578:32
|
||||||
|
[2Kimmich-server | at async DefaultConnectionProvider.provideConnection (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/driver/default-connection-provider.js:12:20)
|
||||||
|
[2Kimmich-server | at async #migrate (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:273:20)
|
||||||
|
[2Kimmich-server | at async DatabaseRepository.runMigrations (/usr/src/app/server/dist/repositories/database.repository.js:324:36)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/services/database.service.js:103:17
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/repositories/database.repository.js:376:27
|
||||||
|
[2Kimmich-server | microservices worker error: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing, stack: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing
|
||||||
|
[2Kimmich-server | at #ensureNoMissingMigrations (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:495:23)
|
||||||
|
[2Kimmich-server | at #getState (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:447:40)
|
||||||
|
[2Kimmich-server | at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||||
|
[2Kimmich-server | at async run (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:417:31)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/kysely.js:578:32
|
||||||
|
[2Kimmich-server | at async DefaultConnectionProvider.provideConnection (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/driver/default-connection-provider.js:12:20)
|
||||||
|
[2Kimmich-server | at async #migrate (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:273:20)
|
||||||
|
[2Kimmich-server | at async DatabaseRepository.runMigrations (/usr/src/app/server/dist/repositories/database.repository.js:324:36)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/services/database.service.js:103:17
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/repositories/database.repository.js:376:27
|
||||||
|
[2Kimmich-server | microservices worker exited with code 1
|
||||||
|
[2Kimmich-server | Killing api process
|
||||||
|
[2Kimmich-server | Initializing Immich v3.0.3
|
||||||
|
[2Kimmich-server | Detected CPU Cores: 8
|
||||||
|
[2Kimmich-server | (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | Starting api worker
|
||||||
|
[2Kimmich-server | Starting microservices worker
|
||||||
|
[2Kimmich-server | (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | (node:29) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:31:09 PM [32m LOG[39m [33m[Microservices:WebsocketRepository][39m [32mInitialized websocket server[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:31:10 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mtargetLists=1, current=1 for clip_index of 0 rows[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:31:10 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mtargetLists=1, current=1 for face_index of 0 rows[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:31:10 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mRunning migrations[39m
|
||||||
|
[2Kimmich-server | [31m[Nest] 7 - [39m09/30/2026, 7:31:10 PM [31m ERROR[39m [33m[Microservices:DatabaseRepository][39m [31mMigrations failed: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing[39m
|
||||||
|
[2Kimmich-server | Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing
|
||||||
|
[2Kimmich-server | at #ensureNoMissingMigrations (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:495:23)
|
||||||
|
[2Kimmich-server | at #getState (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:447:40)
|
||||||
|
[2Kimmich-server | at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||||
|
[2Kimmich-server | at async run (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:417:31)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/kysely.js:578:32
|
||||||
|
[2Kimmich-server | at async DefaultConnectionProvider.provideConnection (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/driver/default-connection-provider.js:12:20)
|
||||||
|
[2Kimmich-server | at async #migrate (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:273:20)
|
||||||
|
[2Kimmich-server | at async DatabaseRepository.runMigrations (/usr/src/app/server/dist/repositories/database.repository.js:324:36)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/services/database.service.js:103:17
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/repositories/database.repository.js:376:27
|
||||||
|
[2Kimmich-server | microservices worker error: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing, stack: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing
|
||||||
|
[2Kimmich-server | at #ensureNoMissingMigrations (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:495:23)
|
||||||
|
[2Kimmich-server | at #getState (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:447:40)
|
||||||
|
[2Kimmich-server | at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||||
|
[2Kimmich-server | at async run (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:417:31)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/kysely.js:578:32
|
||||||
|
[2Kimmich-server | at async DefaultConnectionProvider.provideConnection (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/driver/default-connection-provider.js:12:20)
|
||||||
|
[2Kimmich-server | at async #migrate (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:273:20)
|
||||||
|
[2Kimmich-server | at async DatabaseRepository.runMigrations (/usr/src/app/server/dist/repositories/database.repository.js:324:36)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/services/database.service.js:103:17
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/repositories/database.repository.js:376:27
|
||||||
|
[2Kimmich-server | microservices worker exited with code 1
|
||||||
|
[2Kimmich-server | Killing api process
|
||||||
|
[2Kimmich-server | Initializing Immich v3.0.3
|
||||||
|
[2Kimmich-server | Detected CPU Cores: 8
|
||||||
|
[2Kimmich-server | (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | Starting api worker
|
||||||
|
[2Kimmich-server | Starting microservices worker
|
||||||
|
[2Kimmich-server | (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | (node:29) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:31:20 PM [32m LOG[39m [33m[Microservices:WebsocketRepository][39m [32mInitialized websocket server[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:31:21 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mtargetLists=1, current=1 for clip_index of 0 rows[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:31:21 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mtargetLists=1, current=1 for face_index of 0 rows[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:31:21 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mRunning migrations[39m
|
||||||
|
[2Kimmich-server | [31m[Nest] 7 - [39m09/30/2026, 7:31:21 PM [31m ERROR[39m [33m[Microservices:DatabaseRepository][39m [31mMigrations failed: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing[39m
|
||||||
|
[2Kimmich-server | Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing
|
||||||
|
[2Kimmich-server | at #ensureNoMissingMigrations (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:495:23)
|
||||||
|
[2Kimmich-server | at #getState (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:447:40)
|
||||||
|
[2Kimmich-server | at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||||
|
[2Kimmich-server | at async run (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:417:31)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/kysely.js:578:32
|
||||||
|
[2Kimmich-server | at async DefaultConnectionProvider.provideConnection (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/driver/default-connection-provider.js:12:20)
|
||||||
|
[2Kimmich-server | at async #migrate (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:273:20)
|
||||||
|
[2Kimmich-server | at async DatabaseRepository.runMigrations (/usr/src/app/server/dist/repositories/database.repository.js:324:36)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/services/database.service.js:103:17
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/repositories/database.repository.js:376:27
|
||||||
|
[2Kimmich-server | microservices worker error: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing, stack: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing
|
||||||
|
[2Kimmich-server | at #ensureNoMissingMigrations (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:495:23)
|
||||||
|
[2Kimmich-server | at #getState (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:447:40)
|
||||||
|
[2Kimmich-server | at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||||
|
[2Kimmich-server | at async run (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:417:31)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/kysely.js:578:32
|
||||||
|
[2Kimmich-server | at async DefaultConnectionProvider.provideConnection (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/driver/default-connection-provider.js:12:20)
|
||||||
|
[2Kimmich-server | at async #migrate (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:273:20)
|
||||||
|
[2Kimmich-server | at async DatabaseRepository.runMigrations (/usr/src/app/server/dist/repositories/database.repository.js:324:36)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/services/database.service.js:103:17
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/repositories/database.repository.js:376:27
|
||||||
|
[2Kimmich-server | microservices worker exited with code 1
|
||||||
|
[2Kimmich-server | Killing api process
|
||||||
|
[2Kimmich-server | Initializing Immich v3.0.3
|
||||||
|
[2Kimmich-server | Detected CPU Cores: 8
|
||||||
|
[2Kimmich-server | (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | Starting api worker
|
||||||
|
[2Kimmich-server | Starting microservices worker
|
||||||
|
[2Kimmich-server | (node:29) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:31:35 PM [32m LOG[39m [33m[Microservices:WebsocketRepository][39m [32mInitialized websocket server[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:31:35 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mtargetLists=1, current=1 for clip_index of 0 rows[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:31:35 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mtargetLists=1, current=1 for face_index of 0 rows[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:31:35 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mRunning migrations[39m
|
||||||
|
[2Kimmich-server | [31m[Nest] 7 - [39m09/30/2026, 7:31:35 PM [31m ERROR[39m [33m[Microservices:DatabaseRepository][39m [31mMigrations failed: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing[39m
|
||||||
|
[2Kimmich-server | Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing
|
||||||
|
[2Kimmich-server | at #ensureNoMissingMigrations (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:495:23)
|
||||||
|
[2Kimmich-server | at #getState (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:447:40)
|
||||||
|
[2Kimmich-server | at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||||
|
[2Kimmich-server | at async run (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:417:31)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/kysely.js:578:32
|
||||||
|
[2Kimmich-server | at async DefaultConnectionProvider.provideConnection (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/driver/default-connection-provider.js:12:20)
|
||||||
|
[2Kimmich-server | at async #migrate (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:273:20)
|
||||||
|
[2Kimmich-server | at async DatabaseRepository.runMigrations (/usr/src/app/server/dist/repositories/database.repository.js:324:36)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/services/database.service.js:103:17
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/repositories/database.repository.js:376:27
|
||||||
|
[2Kimmich-server | microservices worker error: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing, stack: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing
|
||||||
|
[2Kimmich-server | at #ensureNoMissingMigrations (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:495:23)
|
||||||
|
[2Kimmich-server | at #getState (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:447:40)
|
||||||
|
[2Kimmich-server | at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||||
|
[2Kimmich-server | at async run (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:417:31)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/kysely.js:578:32
|
||||||
|
[2Kimmich-server | at async DefaultConnectionProvider.provideConnection (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/driver/default-connection-provider.js:12:20)
|
||||||
|
[2Kimmich-server | at async #migrate (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:273:20)
|
||||||
|
[2Kimmich-server | at async DatabaseRepository.runMigrations (/usr/src/app/server/dist/repositories/database.repository.js:324:36)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/services/database.service.js:103:17
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/repositories/database.repository.js:376:27
|
||||||
|
[2Kimmich-server | microservices worker exited with code 1
|
||||||
|
[2Kimmich-server | Killing api process
|
||||||
|
[2Kimmich-server | Initializing Immich v3.0.3
|
||||||
|
[2Kimmich-server | Detected CPU Cores: 8
|
||||||
|
[2Kimmich-server | (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | Starting api worker
|
||||||
|
[2Kimmich-server | Starting microservices worker
|
||||||
|
[2Kimmich-server | (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | (node:29) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:31:56 PM [32m LOG[39m [33m[Microservices:WebsocketRepository][39m [32mInitialized websocket server[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:31:56 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mtargetLists=1, current=1 for clip_index of 0 rows[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:31:56 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mtargetLists=1, current=1 for face_index of 0 rows[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:31:56 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mRunning migrations[39m
|
||||||
|
[2Kimmich-server | [31m[Nest] 7 - [39m09/30/2026, 7:31:56 PM [31m ERROR[39m [33m[Microservices:DatabaseRepository][39m [31mMigrations failed: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing[39m
|
||||||
|
[2Kimmich-server | Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing
|
||||||
|
[2Kimmich-server | at #ensureNoMissingMigrations (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:495:23)
|
||||||
|
[2Kimmich-server | at #getState (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:447:40)
|
||||||
|
[2Kimmich-server | at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||||
|
[2Kimmich-server | at async run (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:417:31)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/kysely.js:578:32
|
||||||
|
[2Kimmich-server | at async DefaultConnectionProvider.provideConnection (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/driver/default-connection-provider.js:12:20)
|
||||||
|
[2Kimmich-server | at async #migrate (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:273:20)
|
||||||
|
[2Kimmich-server | at async DatabaseRepository.runMigrations (/usr/src/app/server/dist/repositories/database.repository.js:324:36)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/services/database.service.js:103:17
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/repositories/database.repository.js:376:27
|
||||||
|
[2Kimmich-server | microservices worker error: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing, stack: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing
|
||||||
|
[2Kimmich-server | at #ensureNoMissingMigrations (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:495:23)
|
||||||
|
[2Kimmich-server | at #getState (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:447:40)
|
||||||
|
[2Kimmich-server | at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||||
|
[2Kimmich-server | at async run (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:417:31)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/kysely.js:578:32
|
||||||
|
[2Kimmich-server | at async DefaultConnectionProvider.provideConnection (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/driver/default-connection-provider.js:12:20)
|
||||||
|
[2Kimmich-server | at async #migrate (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:273:20)
|
||||||
|
[2Kimmich-server | at async DatabaseRepository.runMigrations (/usr/src/app/server/dist/repositories/database.repository.js:324:36)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/services/database.service.js:103:17
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/repositories/database.repository.js:376:27
|
||||||
|
[2Kimmich-server | microservices worker exited with code 1
|
||||||
|
[2Kimmich-server | Killing api process
|
||||||
|
[2Kimmich-server | Initializing Immich v3.0.3
|
||||||
|
[2Kimmich-server | Detected CPU Cores: 8
|
||||||
|
[2Kimmich-server | (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | Starting api worker
|
||||||
|
[2Kimmich-server | Starting microservices worker
|
||||||
|
[2Kimmich-server | (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | (node:29) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:32:29 PM [32m LOG[39m [33m[Microservices:WebsocketRepository][39m [32mInitialized websocket server[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:32:29 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mtargetLists=1, current=1 for clip_index of 0 rows[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:32:29 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mtargetLists=1, current=1 for face_index of 0 rows[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:32:29 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mRunning migrations[39m
|
||||||
|
[2Kimmich-server | [31m[Nest] 7 - [39m09/30/2026, 7:32:29 PM [31m ERROR[39m [33m[Microservices:DatabaseRepository][39m [31mMigrations failed: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing[39m
|
||||||
|
[2Kimmich-server | Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing
|
||||||
|
[2Kimmich-server | at #ensureNoMissingMigrations (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:495:23)
|
||||||
|
[2Kimmich-server | at #getState (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:447:40)
|
||||||
|
[2Kimmich-server | at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||||
|
[2Kimmich-server | at async run (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:417:31)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/kysely.js:578:32
|
||||||
|
[2Kimmich-server | at async DefaultConnectionProvider.provideConnection (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/driver/default-connection-provider.js:12:20)
|
||||||
|
[2Kimmich-server | at async #migrate (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:273:20)
|
||||||
|
[2Kimmich-server | at async DatabaseRepository.runMigrations (/usr/src/app/server/dist/repositories/database.repository.js:324:36)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/services/database.service.js:103:17
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/repositories/database.repository.js:376:27
|
||||||
|
[2Kimmich-server | microservices worker error: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing, stack: Error: corrupted migrations: previously executed migration 1784647658615-AddOAuthBearerTokenToSession is missing
|
||||||
|
[2Kimmich-server | at #ensureNoMissingMigrations (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:495:23)
|
||||||
|
[2Kimmich-server | at #getState (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:447:40)
|
||||||
|
[2Kimmich-server | at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||||
|
[2Kimmich-server | at async run (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:417:31)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/kysely.js:578:32
|
||||||
|
[2Kimmich-server | at async DefaultConnectionProvider.provideConnection (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/driver/default-connection-provider.js:12:20)
|
||||||
|
[2Kimmich-server | at async #migrate (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.17/node_modules/kysely/dist/cjs/migration/migrator.js:273:20)
|
||||||
|
[2Kimmich-server | at async DatabaseRepository.runMigrations (/usr/src/app/server/dist/repositories/database.repository.js:324:36)
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/services/database.service.js:103:17
|
||||||
|
[2Kimmich-server | at async /usr/src/app/server/dist/repositories/database.repository.js:376:27
|
||||||
|
[2Kimmich-server | microservices worker exited with code 1
|
||||||
|
[2Kimmich-server | Killing api process
|
||||||
+8
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"immich-postgres": {
|
||||||
|
"image": "ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0",
|
||||||
|
"probe": "datadir major version",
|
||||||
|
"answer": "16",
|
||||||
|
"probe_rc": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
+11
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"/srv/felhom-gate/hdd/appdata/immich": {
|
||||||
|
"profile/.immich": "13:0bacc6528e07d8cb",
|
||||||
|
"upload/.immich": "13:a68db79a3fbe6725",
|
||||||
|
"encoded-video/.immich": "13:2cb994a10bfe243c",
|
||||||
|
"backups/.immich": "13:648fe4b9664fadff",
|
||||||
|
"thumbs/.immich": "13:0bacc6528e07d8cb",
|
||||||
|
"library/.immich": "13:a68db79a3fbe6725"
|
||||||
|
},
|
||||||
|
"/srv/felhom-gate/hdd/userdata/media/photos": {}
|
||||||
|
}
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"/srv/felhom-gate/hdd/appdata/immich": "f58de940144f864942da1433dce3d28400dec9e5a1839f6f49adcacdb2a88b72",
|
||||||
|
"/srv/felhom-gate/hdd/userdata/media/photos": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||||
|
}
|
||||||
+11
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"/srv/felhom-gate/hdd/appdata/immich": {
|
||||||
|
"profile/.immich": "13:7cb1f8a19d944d7e",
|
||||||
|
"upload/.immich": "13:67848ba791bd7ef6",
|
||||||
|
"encoded-video/.immich": "13:68bdf71e87fabadc",
|
||||||
|
"backups/.immich": "13:7cb1f8a19d944d7e",
|
||||||
|
"thumbs/.immich": "13:7cb1f8a19d944d7e",
|
||||||
|
"library/.immich": "13:67848ba791bd7ef6"
|
||||||
|
},
|
||||||
|
"/srv/felhom-gate/hdd/userdata/media/photos": {}
|
||||||
|
}
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"/srv/felhom-gate/hdd/appdata/immich": "b43c15cc1fae7c10a39b2da086f7455752877aef2cd96c75934782bb6fb03552",
|
||||||
|
"/srv/felhom-gate/hdd/userdata/media/photos": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||||
|
}
|
||||||
+2002
File diff suppressed because it is too large
Load Diff
+6
@@ -0,0 +1,6 @@
|
|||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:45 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mRunning migrations[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:45 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mMigration "1784647658615-AddOAuthBearerTokenToSession" succeeded[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:45 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mMigration "1784836013770-MinFacePreferenceMigration" succeeded[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:45 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mMigration "1784986754473-ConvertUserPasswordEmptyStringToNull" succeeded[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:45 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mMigration "1784986754474-AlbumDescriptionNullable" succeeded[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:45 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mMigration "1786385711807-AlbumOwnerDeleteTrigger" succeeded[39m
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
[17:17:59] scratch drive folders cleared before FROM (R-656): none existed
|
||||||
|
[17:17:59] D-immich-0b82-768: deploying immich at FROM {'immich-server': 'ghcr.io/immich-app/immich-server:v3.0.3', 'immich-machine-learning': 'ghcr.io/immich-app/immich-machine-learning:v3.0.3', 'immich-postgres': 'ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0', 'immich-redis': 'redis:7-alpine'}
|
||||||
|
[17:19:34] FROM settled=True in 31.4s :: {"immich-machine-learning": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "immich-postgres": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "immich-redis": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "immich-server": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}}
|
||||||
|
[17:19:34] fixture: the BOX walk's own (Immich), through upgrade_boxport
|
||||||
|
[17:19:34] immich: seeded album drillalbumcb179b80
|
||||||
|
[17:19:35] immich: readback found=True (http 200, control passed)
|
||||||
|
[17:19:35] C1 (seed reads back BEFORE): True
|
||||||
|
[17:19:35] D-immich-0b82-768: swapping to TO {'immich-server': 'ghcr.io/immich-app/immich-server:v3.2.2', 'immich-machine-learning': 'ghcr.io/immich-app/immich-machine-learning:v3.0.3', 'immich-postgres': 'ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0', 'immich-redis': 'redis:7-alpine'}
|
||||||
|
[17:19:36] TO up -d rc=0
|
||||||
|
[17:20:08] TO settled=True in 31.5s :: {"immich-machine-learning": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "immich-postgres": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "immich-redis": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "immich-server": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}}
|
||||||
|
[17:20:08] engine state immich-postgres: 16
|
||||||
|
[17:20:08] migration lines observed: 6
|
||||||
|
[17:20:08] immich: readback found=True (http 200, control passed)
|
||||||
|
[17:20:08] RESULT (seed reads back AFTER): True
|
||||||
|
[17:20:09] files_may_change — the files: ['/srv/felhom-gate/hdd/appdata/immich/backups/.immich (changed)', '/srv/felhom-gate/hdd/appdata/immich/encoded-video/.immich (changed)', '/srv/felhom-gate/hdd/appdata/immich/library/.immich (changed)', '/srv/felhom-gate/hdd/appdata/immich/profile/.immich (changed)', '/srv/felhom-gate/hdd/appdata/immich/thumbs/.immich (changed)', '/srv/felhom-gate/hdd/appdata/immich/upload/.immich (changed)']
|
||||||
|
[17:20:09] files_may_change: the bind-mounted tree changed under ['/srv/felhom-gate/hdd/appdata/immich']
|
||||||
|
[17:20:09] memory watch: 600s, 4 callers on 1 path(s) at 172.18.0.2:2283
|
||||||
|
[17:20:24] + 15s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=723M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1460M/2048M peak=1631M kills=0 rs=0 reqs=304
|
||||||
|
[17:20:39] + 30s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=707M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1471M/2048M peak=1631M kills=0 rs=0 reqs=604
|
||||||
|
[17:20:55] + 46s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=703M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1467M/2048M peak=1631M kills=0 rs=0 reqs=904
|
||||||
|
[17:21:10] + 61s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=701M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1494M/2048M peak=1631M kills=0 rs=0 reqs=1204
|
||||||
|
[17:21:25] + 76s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=701M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1494M/2048M peak=1631M kills=0 rs=0 reqs=1507
|
||||||
|
[17:21:40] + 91s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=701M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1357M/2048M peak=1631M kills=0 rs=0 reqs=1808
|
||||||
|
[17:21:55] + 106s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=701M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1111M/2048M peak=1631M kills=0 rs=0 reqs=2108
|
||||||
|
[17:22:11] + 122s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=702M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1113M/2048M peak=1631M kills=0 rs=0 reqs=2408
|
||||||
|
[17:22:26] + 137s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=702M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1116M/2048M peak=1631M kills=0 rs=0 reqs=2708
|
||||||
|
[17:22:41] + 152s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=702M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1083M/2048M peak=1631M kills=0 rs=0 reqs=3008
|
||||||
|
[17:22:56] + 167s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=702M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1083M/2048M peak=1631M kills=0 rs=0 reqs=3308
|
||||||
|
[17:23:11] + 182s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=702M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1084M/2048M peak=1631M kills=0 rs=0 reqs=3608
|
||||||
|
[17:23:26] + 197s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=702M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1075M/2048M peak=1631M kills=0 rs=0 reqs=3912
|
||||||
|
[17:23:42] + 213s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=702M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1074M/2048M peak=1631M kills=0 rs=0 reqs=4212
|
||||||
|
[17:23:57] + 228s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=705M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1071M/2048M peak=1631M kills=0 rs=0 reqs=4512
|
||||||
|
[17:24:12] + 243s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=715M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1068M/2048M peak=1631M kills=0 rs=0 reqs=4812
|
||||||
|
[17:24:27] + 258s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=731M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1074M/2048M peak=1631M kills=0 rs=0 reqs=5112
|
||||||
|
[17:24:42] + 273s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=741M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1078M/2048M peak=1631M kills=0 rs=0 reqs=5412
|
||||||
|
[17:24:58] + 288s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=748M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1074M/2048M peak=1631M kills=0 rs=0 reqs=5712
|
||||||
|
[17:25:13] + 304s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=754M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1072M/2048M peak=1631M kills=0 rs=0 reqs=6016
|
||||||
|
[17:25:28] + 319s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=754M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1073M/2048M peak=1631M kills=0 rs=0 reqs=6316
|
||||||
|
[17:25:43] + 334s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=764M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1075M/2048M peak=1631M kills=0 rs=0 reqs=6616
|
||||||
|
[17:25:58] + 349s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=767M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1072M/2048M peak=1631M kills=0 rs=0 reqs=6916
|
||||||
|
[17:26:14] + 364s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=763M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1072M/2048M peak=1631M kills=0 rs=0 reqs=7216
|
||||||
|
[17:26:29] + 380s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=767M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1075M/2048M peak=1631M kills=0 rs=0 reqs=7516
|
||||||
|
[17:26:44] + 395s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=763M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1076M/2048M peak=1631M kills=0 rs=0 reqs=7820
|
||||||
|
[17:26:59] + 410s immich-machine-learning=249M/1536M peak=265M kills=0 rs=0 immich-postgres=763M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1077M/2048M peak=1631M kills=0 rs=0 reqs=8120
|
||||||
|
[17:27:14] + 425s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=762M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1078M/2048M peak=1631M kills=0 rs=0 reqs=8420
|
||||||
|
[17:27:29] + 440s immich-machine-learning=249M/1536M peak=265M kills=0 rs=0 immich-postgres=762M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1079M/2048M peak=1631M kills=0 rs=0 reqs=8720
|
||||||
|
[17:27:45] + 456s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=762M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1079M/2048M peak=1631M kills=0 rs=0 reqs=9020
|
||||||
|
[17:28:00] + 471s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=762M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1081M/2048M peak=1631M kills=0 rs=0 reqs=9324
|
||||||
|
[17:28:15] + 486s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=762M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1080M/2048M peak=1631M kills=0 rs=0 reqs=9624
|
||||||
|
[17:28:30] + 501s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=762M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1081M/2048M peak=1631M kills=0 rs=0 reqs=9924
|
||||||
|
[17:28:45] + 516s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=762M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1081M/2048M peak=1631M kills=0 rs=0 reqs=10224
|
||||||
|
[17:29:01] + 532s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=762M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1082M/2048M peak=1631M kills=0 rs=0 reqs=10524
|
||||||
|
[17:29:16] + 547s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=762M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1082M/2048M peak=1631M kills=0 rs=0 reqs=10824
|
||||||
|
[17:29:31] + 562s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=762M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1082M/2048M peak=1631M kills=0 rs=0 reqs=11124
|
||||||
|
[17:29:46] + 577s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=762M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1082M/2048M peak=1631M kills=0 rs=0 reqs=11426
|
||||||
|
[17:30:01] + 592s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=761M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1083M/2048M peak=1631M kills=0 rs=0 reqs=11728
|
||||||
|
[17:30:17] + 607s immich-machine-learning=248M/1536M peak=265M kills=0 rs=0 immich-postgres=761M/768M peak=768M kills=0 rs=0 immich-redis=13M/128M peak=17M kills=0 rs=0 immich-server=1082M/2048M peak=1631M kills=0 rs=0 reqs=12028
|
||||||
|
[17:30:17] memory watch: killed=False tight=[] requests=12028 codes={'200': 12028}
|
||||||
|
[17:30:17] D-immich-0b82-768: ABORT — putting the FROM images back
|
||||||
|
[17:33:20] ABORT: the app did NOT come back (rc=0, 181.6s)
|
||||||
+566
@@ -0,0 +1,566 @@
|
|||||||
|
[2Kimmich-redis | 1:C 30 Sep 2026 19:18:52.334 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
|
||||||
|
[2Kimmich-machine-learning | [2;36m[09/30/26 19:18:54][0m[2;36m [0m[34mINFO [0m Starting gunicorn [1;36m25.3[0m.[1;36m0[0m
|
||||||
|
[2Kimmich-redis | 1:C 30 Sep 2026 19:18:52.334 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
|
||||||
|
[2K[2Kimmich-redis | 1:C 30 Sep 2026 19:18:52.334 * Redis version=7.4.11, bits=64, commit=00000000, modified=0, pid=1, just started
|
||||||
|
immich-machine-learning | [2;36m[09/30/26 19:18:54][0m[2;36m [0m[34mINFO [0m Listening at: [4;94mhttp://[0m[1m[[0m::[1m][0m:[1;36m3003[0m [1m([0m[1;36m13[0m[1m)[0m
|
||||||
|
[2Kimmich-machine-learning | [2;36m[09/30/26 19:18:54][0m[2;36m [0m[34mINFO [0m Using worker: immich_ml.config.CustomUvicornWorker
|
||||||
|
[2Kimmich-machine-learning | [2;36m[09/30/26 19:18:54][0m[2;36m [0m[34mINFO [0m Booting worker with pid: [1;36m19[0m
|
||||||
|
[2Kimmich-machine-learning | [2;36m[09/30/26 19:18:57][0m[2;36m [0m[34mINFO [0m Started server process [1m[[0m[1;36m19[0m[1m][0m
|
||||||
|
[2Kimmich-machine-learning | [2;36m[09/30/26 19:18:57][0m[2;36m [0m[34mINFO [0m Waiting for application startup.
|
||||||
|
[2Kimmich-machine-learning | [2;36m[09/30/26 19:18:57][0m[2;36m [0m[34mINFO [0m Created in-memory cache with unloading after 300s
|
||||||
|
[2Kimmich-machine-learning | [2;36m [0m of inactivity.
|
||||||
|
[2Kimmich-machine-learning | [2;36m[09/30/26 19:18:57][0m[2;36m [0m[34mINFO [0m Initialized request thread pool with [1;36m8[0m threads.
|
||||||
|
[2Kimmich-machine-learning | [2;36m[09/30/26 19:18:57][0m[2;36m [0m[34mINFO [0m Application startup complete.
|
||||||
|
[2Kimmich-redis | 1:C 30 Sep 2026 19:18:52.334 * Configuration loaded
|
||||||
|
[2Kimmich-postgres | Using SSD storage
|
||||||
|
[2Kimmich-server | Initializing Immich v3.2.2
|
||||||
|
[2Kimmich-redis | 1:M 30 Sep 2026 19:18:52.335 * monotonic clock: POSIX clock_gettime
|
||||||
|
[2Kimmich-server | Detected CPU Cores: 8
|
||||||
|
[2Kimmich-redis | 1:M 30 Sep 2026 19:18:52.337 * Running mode=standalone, port=6379.
|
||||||
|
[2Kimmich-server | (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-redis | 1:M 30 Sep 2026 19:18:52.337 * Server initialized
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-redis | 1:M 30 Sep 2026 19:18:52.341 * Creating AOF base file appendonly.aof.1.base.rdb on server start
|
||||||
|
[2Kimmich-postgres | The files belonging to this database system will be owned by user "postgres".
|
||||||
|
[2Kimmich-redis | 1:M 30 Sep 2026 19:18:52.348 * Creating AOF incr file appendonly.aof.1.incr.aof on server start
|
||||||
|
[2Kimmich-postgres | This user must also own the server process.
|
||||||
|
[2Kimmich-postgres |
|
||||||
|
[2Kimmich-postgres | The database cluster will be initialized with locale "en_US.utf8".
|
||||||
|
[2Kimmich-postgres | The default database encoding has accordingly been set to "UTF8".
|
||||||
|
[2Kimmich-postgres | The default text search configuration will be set to "english".
|
||||||
|
[2Kimmich-postgres |
|
||||||
|
[2Kimmich-postgres | Data page checksums are enabled.
|
||||||
|
[2Kimmich-postgres |
|
||||||
|
[2Kimmich-postgres | fixing permissions on existing directory /var/lib/postgresql/data ... ok
|
||||||
|
[2Kimmich-postgres | creating subdirectories ... ok
|
||||||
|
[2Kimmich-postgres | selecting dynamic shared memory implementation ... posix
|
||||||
|
[2Kimmich-postgres | selecting default max_connections ... 100
|
||||||
|
[2Kimmich-redis | 1:M 30 Sep 2026 19:18:52.348 * Ready to accept connections tcp
|
||||||
|
[2Kimmich-server | Starting api worker
|
||||||
|
[2Kimmich-server | Starting microservices worker
|
||||||
|
[2Kimmich-server | (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-postgres | selecting default shared_buffers ... 128MB
|
||||||
|
[2Kimmich-postgres | selecting default time zone ... Europe/Budapest
|
||||||
|
[2Kimmich-postgres | creating configuration files ... ok
|
||||||
|
[2Kimmich-server | (node:29) ExperimentalWarning: WASI is an experimental feature and might change at any time
|
||||||
|
[2Kimmich-server | (Use `node --trace-warnings ...` to show where the warning was created)
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:45 PM [32m LOG[39m [33m[Microservices:WebsocketRepository][39m [32mInitialized websocket server[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:45 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mtargetLists=1, current=1 for clip_index of 0 rows[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:45 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mtargetLists=1, current=1 for face_index of 0 rows[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:45 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mRunning migrations[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:45 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mMigration "1784647658615-AddOAuthBearerTokenToSession" succeeded[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:45 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mMigration "1784836013770-MinFacePreferenceMigration" succeeded[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:45 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mMigration "1784986754473-ConvertUserPasswordEmptyStringToNull" succeeded[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:45 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mMigration "1784986754474-AlbumDescriptionNullable" succeeded[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:45 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mMigration "1786385711807-AlbumOwnerDeleteTrigger" succeeded[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:45 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mMigration "1786741078327-AddWorkflowLogsTable" succeeded[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:45 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mMigration "1786972746371-AssetOcrUpdatedAtTrigger" succeeded[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:45 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mMigration "1786972746372-AssetOcrSyncReset" succeeded[39m
|
||||||
|
[2Kimmich-postgres | running bootstrap script ... ok
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:45 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mMigration "1787148183729-ClusterGroups" succeeded[39m
|
||||||
|
[2Kimmich-postgres | performing post-bootstrap initialization ... ok
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:45 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mMigration "1787148183730-DeleteMismatchedMemoryAssets" succeeded[39m
|
||||||
|
[2Kimmich-postgres | syncing data to disk ... ok
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:45 PM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mFinished running migrations[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:45 PM [32m LOG[39m [33m[Microservices:DatabaseService][39m [32mChecking for schema drift[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:46 PM [32m LOG[39m [33m[Microservices:DatabaseService][39m [32mNo schema drift detected[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:46 PM [32m LOG[39m [33m[Api:WebsocketRepository][39m [32mInitialized websocket server[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Microservices:StorageService][39m [32mVerifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}}[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Microservices:StorageService][39m [32mSuccessfully verified system mount folder checks[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Microservices:MetadataService][39m [32mBootstrapping metadata service[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Microservices:MetadataService][39m [32mInitializing metadata service[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:DatabaseRepository][39m [32mtargetLists=1, current=1 for clip_index of 0 rows[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:DatabaseRepository][39m [32mtargetLists=1, current=1 for face_index of 0 rows[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:DatabaseRepository][39m [32mRunning migrations[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Microservices:MapRepository][39m [32mInitializing metadata repository[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:DatabaseRepository][39m [32mFinished running migrations[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:DatabaseService][39m [32mChecking for schema drift[39m
|
||||||
|
[2Kimmich-postgres |
|
||||||
|
[2Kimmich-postgres |
|
||||||
|
[2Kimmich-postgres | Success. You can now start the database server using:
|
||||||
|
[2Kimmich-postgres |
|
||||||
|
[2Kimmich-postgres | pg_ctl -D /var/lib/postgresql/data -l logfile start
|
||||||
|
[2Kimmich-postgres |
|
||||||
|
[2Kimmich-postgres | initdb: warning: enabling "trust" authentication for local connections
|
||||||
|
[2Kimmich-postgres | initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.
|
||||||
|
[2Kimmich-postgres | 2026-09-30 17:18:53.381 GMT [48] LOG: skipping missing configuration file "/var/lib/postgresql/data/postgresql.override.conf"
|
||||||
|
[2Kimmich-postgres | 2026-09-30 17:18:53.382 GMT [48] LOG: skipping missing configuration file "/var/lib/postgresql/data/postgresql.override.conf"
|
||||||
|
[2Kimmich-postgres | waiting for server to start....2026-09-30 17:18:53.429 GMT [53] LOG: skipping missing configuration file "/var/lib/postgresql/data/postgresql.override.conf"
|
||||||
|
[2Kimmich-postgres | 2026-09-30 17:18:53.430 GMT [53] LOG: skipping missing configuration file "/var/lib/postgresql/data/postgresql.override.conf"
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:53.479 CEST [53] LOG: starting PostgreSQL 16.10 (Debian 16.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:53.486 CEST [53] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:53.506 CEST [56] LOG: database system was shut down at 2026-09-30 19:18:53 CEST
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:53.519 CEST [53] LOG: database system is ready to accept connections
|
||||||
|
[2Kimmich-postgres | done
|
||||||
|
[2Kimmich-postgres | server started
|
||||||
|
[2Kimmich-postgres | CREATE DATABASE
|
||||||
|
[2Kimmich-postgres |
|
||||||
|
[2Kimmich-postgres |
|
||||||
|
[2Kimmich-postgres | /usr/local/bin/docker-entrypoint.sh: ignoring /docker-entrypoint-initdb.d/*
|
||||||
|
[2Kimmich-postgres |
|
||||||
|
[2Kimmich-postgres | waiting for server to shut down...2026-09-30 19:18:53.959 CEST [53] LOG: received fast shutdown request
|
||||||
|
[2Kimmich-postgres | .2026-09-30 19:18:53.964 CEST [53] LOG: aborting any active transactions
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:53.970 CEST [53] LOG: background worker "logical replication launcher" (PID 62) exited with exit code 1
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:53.971 CEST [54] LOG: shutting down
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:53.974 CEST [54] LOG: checkpoint starting: shutdown immediate
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:54.069 CEST [54] LOG: checkpoint complete: wrote 922 buffers (1.4%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.035 s, sync=0.048 s, total=0.098 s; sync files=301, longest=0.017 s, average=0.001 s; distance=1672 kB, estimate=1672 kB; lsn=0/18CED10, redo lsn=0/18CED10
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:54.092 CEST [53] LOG: database system is shut down
|
||||||
|
[2Kimmich-postgres | done
|
||||||
|
[2Kimmich-postgres | server stopped
|
||||||
|
[2Kimmich-postgres |
|
||||||
|
[2Kimmich-postgres | PostgreSQL init process complete; ready for start up.
|
||||||
|
[2K[2Kimmich-postgres |
|
||||||
|
[2Kimmich-postgres | 2026-09-30 17:18:54.182 GMT [1] LOG: skipping missing configuration file "/var/lib/postgresql/data/postgresql.override.conf"
|
||||||
|
immich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:DatabaseService][39m [32mNo schema drift detected[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:StorageService][39m [32mVerifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}}[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:StorageService][39m [32mSuccessfully verified system mount folder checks[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:ServerService][39m [32mFeature Flags: {
|
||||||
|
[2Kimmich-server | "smartSearch": true,
|
||||||
|
[2Kimmich-server | "facialRecognition": true,
|
||||||
|
[2Kimmich-server | "duplicateDetection": true,
|
||||||
|
[2Kimmich-server | "map": true,
|
||||||
|
[2Kimmich-server | "reverseGeocoding": true,
|
||||||
|
[2Kimmich-server | "importFaces": false,
|
||||||
|
[2Kimmich-server | "sidecar": true,
|
||||||
|
[2Kimmich-server | "search": true,
|
||||||
|
[2Kimmich-server | "trash": true,
|
||||||
|
[2K[2Kimmich-server | "oauth": false,
|
||||||
|
[2Kimmich-server | "oauthAutoLaunch": false,
|
||||||
|
[2Kimmich-server | "ocr": true,
|
||||||
|
[2Kimmich-server | "passwordLogin": true,
|
||||||
|
[2Kimmich-server | "configFile": false,
|
||||||
|
[2Kimmich-server | "email": false,
|
||||||
|
[2Kimmich-server | "realtimeTranscoding": false
|
||||||
|
[2Kimmich-server | }[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:SystemConfigService][39m [32mLogLevel=log (set via system config)[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:NestFactory][39m [32mStarting Nest application...[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:InstanceLoader][39m [32mBullModule dependencies initialized[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:InstanceLoader][39m [32mClsModule dependencies initialized[39m
|
||||||
|
immich-postgres | 2026-09-30 17:18:54.182 GMT [1] LOG: skipping missing configuration file "/var/lib/postgresql/data/postgresql.override.conf"
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:InstanceLoader][39m [32mClsCommonModule dependencies initialized[39m
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:54.225 CEST [1] LOG: starting PostgreSQL 16.10 (Debian 16.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:54.225 CEST [1] LOG: listening on IPv4 address "0.0.0.0", port 5432
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:54.225 CEST [1] LOG: listening on IPv6 address "::", port 5432
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:54.232 CEST [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:54.244 CEST [72] LOG: database system was shut down at 2026-09-30 19:18:54 CEST
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:18:54.259 CEST [1] LOG: database system is ready to accept connections
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:19:07.602 CEST [95] ERROR: relation "system_metadata" does not exist at character 21
|
||||||
|
[2Kimmich-postgres | 2026-09-30 19:19:07.602 CEST [95] STATEMENT: select "value" from "system_metadata" where "key" = $1
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:InstanceLoader][39m [32mOpenTelemetryModule dependencies initialized[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:InstanceLoader][39m [32mKyselyModule dependencies initialized[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:InstanceLoader][39m [32mOpenTelemetryCoreModule dependencies initialized[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:InstanceLoader][39m [32mDiscoveryModule dependencies initialized[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:InstanceLoader][39m [32mClsRootModule dependencies initialized[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:InstanceLoader][39m [32mClsPluginsModule dependencies initialized[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:InstanceLoader][39m [32mScheduleModule dependencies initialized[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:InstanceLoader][39m [32mBullModule dependencies initialized[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:InstanceLoader][39m [32mBullModule dependencies initialized[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:InstanceLoader][39m [32mApiModule dependencies initialized[39m
|
||||||
|
[2Kimmich-server | [33m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [33m WARN[39m [33m[Api:LegacyRouteConverter][39m [33mUnsupported route path: "/api/*". In previous versions, the symbols ?, *, and + were used to denote optional or repeating path parameters. The latest version of "path-to-regexp" now requires the use of named parameters. For example, instead of using a route like /users/* to capture all routes starting with "/users", you should use /users/*path. For more details, refer to the migration guide. Attempting to auto-convert to "/api/{*path}"...[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mApiKeyController {/api/api-keys}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/api-keys, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/api-keys, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/api-keys/me, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/api-keys/:id, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/api-keys/:id, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/api-keys/:id, PATCH} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/api-keys/:id/rotate, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/api-keys/:id, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mActivityController {/api/activities}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/activities, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/activities, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/activities/statistics, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/activities/:id, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mAlbumController {/api/albums}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/albums, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/albums, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/albums/statistics, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/albums/:id, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/albums/:id, PATCH} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/albums/:id, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/albums/:id/map-markers, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/albums/:id/assets, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/albums/assets, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/albums/:id/assets, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/albums/:id/users, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/albums/:id/user/:userId, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/albums/:id/user/:userId, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mAppController {/api}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/.well-known/immich, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/custom.css, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mAssetController {/api/assets}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/assets/statistics, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/assets/jobs, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/assets, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/assets, PATCH} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/assets, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/assets/:id, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/assets/copy, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/assets/metadata, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/assets/metadata, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/assets/:id, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/assets/:id, PATCH} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/assets/:id/metadata, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/assets/:id/ocr, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/assets/:id/metadata, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/assets/:id/metadata/:key, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/assets/:id/metadata/:key, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/assets/:id/edits, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/assets/:id/edits, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/assets/:id/edits, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mAssetFilesController {/api/asset-files}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/asset-files, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/asset-files/:id, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/asset-files/:id, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/asset-files/:id/download, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mAssetMediaController {/api/assets}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/assets, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/assets/:id/original, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/assets/:id/thumbnail, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/assets/:id/video/playback, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/assets/bulk-upload-check, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mAuthController {/api/auth}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/auth/login, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/auth/admin-sign-up, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/auth/validateToken, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/auth/change-password, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/auth/logout, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/auth/status, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/auth/pin-code, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/auth/pin-code, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/auth/pin-code, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/auth/session/unlock, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/auth/session/lock, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mAuthAdminController {/api/admin/auth}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/auth/unlink-all, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mClusterGroupController {/api/cluster-groups}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/cluster-groups/requests, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/cluster-groups/requests/:id/accept, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/cluster-groups/requests/:id, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/cluster-groups/:id/requests, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/cluster-groups/:id/users, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/cluster-groups/:id/requests, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/cluster-groups/:id/regenerate-people, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/cluster-groups/:id/leave, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mConfigUserController {/api/config}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/config, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/config/defaults, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mConfigAdminController {/api/admin/config}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/config, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/config/defaults, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/config, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mConfigPublicController {/api/public/config}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/public/config, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/public/config/defaults, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mDatabaseBackupController {/api/admin/database-backups}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/database-backups, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/database-backups/:filename, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/database-backups, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/database-backups/start-restore, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/database-backups/upload, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mDownloadController {/api/download}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/download/info, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/download/archive, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mDuplicateController {/api/duplicates}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/duplicates, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/duplicates, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/duplicates/:id, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/duplicates/resolve, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mFaceController {/api/faces}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/faces, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/faces, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/faces/:id, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/faces/:id, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mIntegrityAdminController {/api/admin/integrity}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/integrity/summary, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/integrity/report, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/integrity/report/:id/file, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/integrity/report/:id, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/integrity/report/:type/csv, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mJobController {/api/jobs}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/jobs, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/jobs, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/jobs/:name, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mLibraryController {/api/libraries}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/libraries, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/libraries, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/libraries/:id, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/libraries/:id, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/libraries/:id, PATCH} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/libraries/:id, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/libraries/:id/validate, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/libraries/:id/statistics, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/libraries/:id/scan, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mMaintenanceController {/api/admin/maintenance}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/maintenance/status, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/maintenance/detect-install, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/maintenance/login, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/maintenance, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mMapController {/api/map}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/map/markers, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/map/reverse-geocode, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mMemoryController {/api/memories}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/memories, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/memories, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/memories/statistics, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/memories/:id, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/memories/:id, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/memories/:id, PATCH} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/memories/:id, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/memories/:id/assets, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/memories/:id/assets, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mNotificationController {/api/notifications}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/notifications, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/notifications, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/notifications, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/notifications/:id, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/notifications/:id, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/notifications/:id, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mNotificationAdminController {/api/admin/notifications}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/notifications, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/notifications/test-email, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/notifications/templates/:name, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mOAuthController {/api/oauth}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/oauth/mobile-redirect, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/oauth/authorize, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/oauth/callback, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/oauth/link, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/oauth/unlink, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/oauth/backchannel-logout, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mPartnerController {/api/partners}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/partners, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/partners, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/partners/:id, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/partners/:id, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/partners/:id, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mPersonController {/api/people}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/people, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/people, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/people, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/people, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/people/:id, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/people/:id, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/people/:id, PATCH} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/people/:id, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/people/:id/statistics, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/people/:id/thumbnail, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/people/:id/reassign, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/people/merge, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/people/:id/merge, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mPluginController {/api/plugins}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/plugins, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/plugins/methods, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/plugins/templates, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/plugins/:id, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mQueueController {/api/queues}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/queues, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/queues/:name, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/queues/:name, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/queues/:name/jobs, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/queues/:name/jobs, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mSearchController {/api/search}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/search/metadata, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/search/statistics, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/search/random, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/search/large-assets, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/search/smart, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/search/explore, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/search/person, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/search/places, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/search/cities, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/search/suggestions, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mServerController {/api/server}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/server/about, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/server/apk-links, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/server/storage, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/server/ping, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/server/version, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/server/version-history, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/server/features, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/server/config, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/server/statistics, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/server/media-types, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/server/license, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/server/license, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/server/license, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/server/version-check, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mSessionController {/api/sessions}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/sessions, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/sessions, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/sessions, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/sessions/:id, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/sessions/:id, PATCH} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/sessions/:id, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/sessions/:id/lock, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mSharedLinkController {/api/shared-links}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/shared-links, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/shared-links/login, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/shared-links/me, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/shared-links/:id, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/shared-links, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/shared-links/:id, PATCH} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/shared-links/:id, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/shared-links/:id/assets, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/shared-links/:id/assets, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mStackController {/api/stacks}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/stacks, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/stacks, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/stacks, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/stacks/:id, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/stacks/:id, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/stacks/:id, PATCH} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/stacks/:id, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/stacks/:id/assets/:assetId, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mSyncController {/api/sync}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/sync/stream, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/sync/ack, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/sync/ack, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/sync/ack, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mSystemConfigController {/api/system-config}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/system-config, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/system-config/defaults, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/system-config, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/system-config/storage-template-options, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mSystemMetadataController {/api/system-metadata}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/system-metadata/admin-onboarding, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/system-metadata/admin-onboarding, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/system-metadata/reverse-geocoding-state, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/system-metadata/version-check-state, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mTagController {/api/tags}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/tags, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/tags, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/tags, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/tags/assets, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/tags/:id, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/tags/:id, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/tags/:id, PATCH} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/tags/:id, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/tags/:id/assets, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/tags/:id/assets, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mTimelineController {/api/timeline}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/timeline/buckets, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/timeline/bucket, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mTrashController {/api/trash}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/trash/empty, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/trash/restore, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/trash/restore/assets, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mUserAdminController {/api/admin/users}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/users, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/users, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/users/:id, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/users/:id, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/users/:id, PATCH} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/users/:id, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/users/:id/calendar-heatmap, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/users/:id/sessions, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/users/:id/statistics, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/users/:id/preferences, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/users/:id/preferences, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/users/:id/preferences, PATCH} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/admin/users/:id/restore, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mUserController {/api/users}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/users, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/users/me, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/users/me/calendar-heatmap, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/users/me, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/users/me, PATCH} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/users/me/preferences, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/users/me/preferences, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/users/me/preferences, PATCH} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/users/me/license, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/users/me/license, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/users/me/license, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/users/me/onboarding, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/users/me/onboarding, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/users/me/onboarding, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/users/:id, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/users/profile-image, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/users/profile-image, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/users/:id/profile-image, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mVideoStreamController {/api/assets}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/assets/:id/video/stream/main.m3u8, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/assets/:id/video/stream/:sessionId/:variantIndex/playlist.m3u8, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/assets/:id/video/stream/:sessionId/:variantIndex/:filename, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/assets/:id/video/stream/:sessionId, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mViewController {/api/view}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/view/folder/unique-paths, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/view/folder, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RoutesResolver][39m [32mWorkflowController {/api/workflows}:[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/workflows, POST} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/workflows, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/workflows/triggers, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/workflows/:id, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/workflows/:id/share, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/workflows/:id, PUT} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/workflows/:id, PATCH} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/workflows/:id, DELETE} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:RouterExplorer][39m [32mMapped {/api/workflows/:id/logs, GET} route[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:NestApplication][39m [32mNest application successfully started[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:Bootstrap][39m [32mImmich Server is listening on http://[::1]:2283 [v3.2.2] [production] [39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 29 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Api:MachineLearningRepository][39m [32mMachine learning server became healthy (http://immich-machine-learning:3003).[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:47 PM [32m LOG[39m [33m[Microservices:MapRepository][39m [32mStarting geodata import[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:50 PM [32m LOG[39m [33m[Microservices:MapRepository][39m [32m10000 geodata records imported[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:50 PM [32m LOG[39m [33m[Microservices:MapRepository][39m [32m20000 geodata records imported[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:50 PM [32m LOG[39m [33m[Microservices:MapRepository][39m [32m30000 geodata records imported[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:50 PM [32m LOG[39m [33m[Microservices:MapRepository][39m [32m40000 geodata records imported[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:51 PM [32m LOG[39m [33m[Microservices:MapRepository][39m [32m50000 geodata records imported[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:52 PM [32m LOG[39m [33m[Microservices:MapRepository][39m [32m60000 geodata records imported[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:52 PM [32m LOG[39m [33m[Microservices:MapRepository][39m [32m70000 geodata records imported[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:52 PM [32m LOG[39m [33m[Microservices:MapRepository][39m [32m80000 geodata records imported[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:52 PM [32m LOG[39m [33m[Microservices:MapRepository][39m [32m90000 geodata records imported[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:53 PM [32m LOG[39m [33m[Microservices:MapRepository][39m [32m100000 geodata records imported[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:53 PM [32m LOG[39m [33m[Microservices:MapRepository][39m [32m110000 geodata records imported[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:53 PM [32m LOG[39m [33m[Microservices:MapRepository][39m [32m120000 geodata records imported[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:53 PM [32m LOG[39m [33m[Microservices:MapRepository][39m [32m130000 geodata records imported[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:54 PM [32m LOG[39m [33m[Microservices:MapRepository][39m [32m140000 geodata records imported[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:54 PM [32m LOG[39m [33m[Microservices:MapRepository][39m [32m150000 geodata records imported[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:54 PM [32m LOG[39m [33m[Microservices:MapRepository][39m [32m160000 geodata records imported[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:54 PM [32m LOG[39m [33m[Microservices:MapRepository][39m [32m170000 geodata records imported[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:55 PM [32m LOG[39m [33m[Microservices:MapRepository][39m [32m180000 geodata records imported[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:56 PM [32m LOG[39m [33m[Microservices:MapRepository][39m [32m190000 geodata records imported[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:56 PM [32m LOG[39m [33m[Microservices:MapRepository][39m [32m200000 geodata records imported[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:56 PM [32m LOG[39m [33m[Microservices:MapRepository][39m [32m210000 geodata records imported[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:56 PM [32m LOG[39m [33m[Microservices:MapRepository][39m [32m220000 geodata records imported[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:19:56 PM [32m LOG[39m [33m[Microservices:MapRepository][39m [32mSuccessfully imported 228294 geodata records in 8.82s (25879 records/second)[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:20:04 PM [32m LOG[39m [33m[Microservices:MapRepository][39m [32mGeodata import completed[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:20:04 PM [32m LOG[39m [33m[Microservices:MetadataService][39m [32mInitialized local reverse geocoder[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:20:04 PM [32m LOG[39m [33m[Microservices:ServerService][39m [32mFeature Flags: {
|
||||||
|
[2Kimmich-server | "smartSearch": true,
|
||||||
|
[2Kimmich-server | "facialRecognition": true,
|
||||||
|
[2Kimmich-server | "duplicateDetection": true,
|
||||||
|
[2Kimmich-server | "map": true,
|
||||||
|
[2Kimmich-server | "reverseGeocoding": true,
|
||||||
|
[2Kimmich-server | "importFaces": false,
|
||||||
|
[2Kimmich-server | "sidecar": true,
|
||||||
|
[2Kimmich-server | "search": true,
|
||||||
|
[2Kimmich-server | "trash": true,
|
||||||
|
[2Kimmich-server | "oauth": false,
|
||||||
|
[2Kimmich-server | "oauthAutoLaunch": false,
|
||||||
|
[2Kimmich-server | "ocr": true,
|
||||||
|
[2Kimmich-server | "passwordLogin": true,
|
||||||
|
[2Kimmich-server | "configFile": false,
|
||||||
|
[2Kimmich-server | "email": false,
|
||||||
|
[2Kimmich-server | "realtimeTranscoding": false
|
||||||
|
[2Kimmich-server | }[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:20:04 PM [32m LOG[39m [33m[Microservices:VersionService][39m [32mAdding 3.2.2 to upgrade history[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:20:04 PM [32m LOG[39m [33m[Microservices:SystemConfigService][39m [32mLogLevel=log (set via system config)[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:20:04 PM [32m LOG[39m [33m[Microservices:MachineLearningRepository][39m [32mMachine learning server became healthy (http://immich-machine-learning:3003).[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:20:04 PM [32m LOG[39m [33m[Microservices:WorkflowExecutionService][39m [32mUpgraded plugin immich-plugin-core (14 methods) from 2.0.1 to 2.0.1 [39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:20:05 PM [32m LOG[39m [33m[Microservices:WorkflowExecutionService][39m [32mLoaded plugin: immich-plugin-core@2.0.1[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:20:05 PM [32m LOG[39m [33m[Microservices:WorkflowExecutionService][39m [32mLoaded plugin with host functions: immich-plugin-core@2.0.1/worker[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:20:05 PM [32m LOG[39m [33m[Microservices:NestFactory][39m [32mStarting Nest application...[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:20:05 PM [32m LOG[39m [33m[Microservices:InstanceLoader][39m [32mBullModule dependencies initialized[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:20:05 PM [32m LOG[39m [33m[Microservices:InstanceLoader][39m [32mClsModule dependencies initialized[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:20:05 PM [32m LOG[39m [33m[Microservices:InstanceLoader][39m [32mClsCommonModule dependencies initialized[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:20:05 PM [32m LOG[39m [33m[Microservices:InstanceLoader][39m [32mOpenTelemetryModule dependencies initialized[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:20:05 PM [32m LOG[39m [33m[Microservices:InstanceLoader][39m [32mKyselyModule dependencies initialized[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:20:05 PM [32m LOG[39m [33m[Microservices:InstanceLoader][39m [32mOpenTelemetryCoreModule dependencies initialized[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:20:05 PM [32m LOG[39m [33m[Microservices:InstanceLoader][39m [32mDiscoveryModule dependencies initialized[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:20:05 PM [32m LOG[39m [33m[Microservices:InstanceLoader][39m [32mClsRootModule dependencies initialized[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:20:05 PM [32m LOG[39m [33m[Microservices:InstanceLoader][39m [32mClsPluginsModule dependencies initialized[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:20:05 PM [32m LOG[39m [33m[Microservices:InstanceLoader][39m [32mBullModule dependencies initialized[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:20:05 PM [32m LOG[39m [33m[Microservices:InstanceLoader][39m [32mBullModule dependencies initialized[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:20:05 PM [32m LOG[39m [33m[Microservices:InstanceLoader][39m [32mMicroservicesModule dependencies initialized[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:20:05 PM [32m LOG[39m [33m[Microservices:NestApplication][39m [32mNest application successfully started[39m
|
||||||
|
[2Kimmich-server | [32m[Nest] 7 - [39m09/30/2026, 7:20:05 PM [32m LOG[39m [33m[Microservices:Bootstrap][39m [32mImmich Microservices is running [v3.2.2] [production] [39m
|
||||||
+26
@@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
"immich-machine-learning": {
|
||||||
|
"status": "running",
|
||||||
|
"health": "healthy",
|
||||||
|
"restarts": 0,
|
||||||
|
"exit": 0
|
||||||
|
},
|
||||||
|
"immich-postgres": {
|
||||||
|
"status": "running",
|
||||||
|
"health": "healthy",
|
||||||
|
"restarts": 0,
|
||||||
|
"exit": 0
|
||||||
|
},
|
||||||
|
"immich-redis": {
|
||||||
|
"status": "running",
|
||||||
|
"health": "healthy",
|
||||||
|
"restarts": 0,
|
||||||
|
"exit": 0
|
||||||
|
},
|
||||||
|
"immich-server": {
|
||||||
|
"status": "running",
|
||||||
|
"health": "healthy",
|
||||||
|
"restarts": 0,
|
||||||
|
"exit": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
+109
@@ -0,0 +1,109 @@
|
|||||||
|
{
|
||||||
|
"harness_version": 4,
|
||||||
|
"edge": "D-immich-0b82-768",
|
||||||
|
"app": "immich",
|
||||||
|
"note": "Part D 2026-09-30: step 0b8272068aab36bf's own definition, immich-postgres 512M -> 768M (R-732)",
|
||||||
|
"from": {
|
||||||
|
"immich-server": "ghcr.io/immich-app/immich-server:v3.0.3",
|
||||||
|
"immich-machine-learning": "ghcr.io/immich-app/immich-machine-learning:v3.0.3",
|
||||||
|
"immich-postgres": "ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0",
|
||||||
|
"immich-redis": "redis:7-alpine"
|
||||||
|
},
|
||||||
|
"to": {
|
||||||
|
"immich-server": "ghcr.io/immich-app/immich-server:v3.2.2",
|
||||||
|
"immich-machine-learning": "ghcr.io/immich-app/immich-machine-learning:v3.0.3",
|
||||||
|
"immich-postgres": "ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0",
|
||||||
|
"immich-redis": "redis:7-alpine"
|
||||||
|
},
|
||||||
|
"verdict": "proven",
|
||||||
|
"seed_read_before": true,
|
||||||
|
"seed_read_after": true,
|
||||||
|
"healthy_after": true,
|
||||||
|
"migration_observed": "\u001b[2Kimmich-server | \u001b[32m[Nest] 7 - \u001b[39m09/30/2026, 7:19:45 PM \u001b[32m LOG\u001b[39m \u001b[33m[Microservices:DatabaseRepository]\u001b[39m \u001b[32mRunning migrations\u001b[39m",
|
||||||
|
"abort": "refuses",
|
||||||
|
"abort_detail": "18:54.244 CEST [72] LOG: database system was shut down at 2026-09-30 19:18:54 CEST\n\u001b[2Kimmich-postgres | 2026-09-30 19:18:54.259 CEST [1] LOG: database system is ready to accept connections\n\u001b[2Kimmich-postgres | 2026-09-30 19:19:07.602 CEST [95] ERROR: relation \"system_metadata\" does not exist at character 21\n\u001b[2Kimmich-postgres | 2026-09-30 19:19:07.602 CEST [95] STATEMENT: select \"value\" from \"system_metadata\" where \"key\" = $1\n\u001b[2Kimmich-postgres | 2026-09-30 19:23:54.345 CEST [70] LOG: checkpoint starting: time\n\u001b[2Kimmich-postgres | 2026-09-30 19:28:24.197 CEST [70] LOG: checkpoint complete: wrote 16951 buffers (25.9%); 0 WAL file(s) added, 0 removed, 16 recycled; write=269.713 s, sync=0.077 s, total=269.853 s; sync files=769, longest=0.007 s, average=0.001 s; distance=269095 kB, estimate=269095 kB; lsn=0/11F98B70, redo lsn=0/11F98B38",
|
||||||
|
"engine_state_after": {
|
||||||
|
"immich-postgres": {
|
||||||
|
"image": "ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0",
|
||||||
|
"probe": "datadir major version",
|
||||||
|
"answer": "16",
|
||||||
|
"probe_rc": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"memory": {
|
||||||
|
"soak_s": 607.7,
|
||||||
|
"requested_s": 600,
|
||||||
|
"requests": 12028,
|
||||||
|
"codes": {
|
||||||
|
"200": 12028
|
||||||
|
},
|
||||||
|
"first_kill": null,
|
||||||
|
"containers": {
|
||||||
|
"immich-machine-learning": {
|
||||||
|
"limit": 1610612736,
|
||||||
|
"peak": 278474752,
|
||||||
|
"peak_pct": 0.173,
|
||||||
|
"anon_peak_sampled": 246366208,
|
||||||
|
"anon_peak_pct": 0.153,
|
||||||
|
"oom_kills": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"measured": true
|
||||||
|
},
|
||||||
|
"immich-postgres": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"peak": 805638144,
|
||||||
|
"peak_pct": 1.0,
|
||||||
|
"anon_peak_sampled": 238280704,
|
||||||
|
"anon_peak_pct": 0.296,
|
||||||
|
"oom_kills": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"measured": true
|
||||||
|
},
|
||||||
|
"immich-redis": {
|
||||||
|
"limit": 134217728,
|
||||||
|
"peak": 18083840,
|
||||||
|
"peak_pct": 0.135,
|
||||||
|
"anon_peak_sampled": 4100096,
|
||||||
|
"anon_peak_pct": 0.031,
|
||||||
|
"oom_kills": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"measured": true
|
||||||
|
},
|
||||||
|
"immich-server": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"peak": 1711157248,
|
||||||
|
"peak_pct": 0.797,
|
||||||
|
"anon_peak_sampled": 1054654464,
|
||||||
|
"anon_peak_pct": 0.491,
|
||||||
|
"oom_kills": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"measured": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"unmeasured": [],
|
||||||
|
"load": "reached"
|
||||||
|
},
|
||||||
|
"marks": [
|
||||||
|
"files_may_change"
|
||||||
|
],
|
||||||
|
"duration_s": 31.5,
|
||||||
|
"measured_at": "2026-09-30T17:33:20Z",
|
||||||
|
"evidence": "evidence/D-immich-0b82-768",
|
||||||
|
"scratch_cleared": [],
|
||||||
|
"files_changed": [
|
||||||
|
"/srv/felhom-gate/hdd/appdata/immich"
|
||||||
|
],
|
||||||
|
"files_changed_detail": [
|
||||||
|
"/srv/felhom-gate/hdd/appdata/immich/backups/.immich (changed)",
|
||||||
|
"/srv/felhom-gate/hdd/appdata/immich/encoded-video/.immich (changed)",
|
||||||
|
"/srv/felhom-gate/hdd/appdata/immich/library/.immich (changed)",
|
||||||
|
"/srv/felhom-gate/hdd/appdata/immich/profile/.immich (changed)",
|
||||||
|
"/srv/felhom-gate/hdd/appdata/immich/thumbs/.immich (changed)",
|
||||||
|
"/srv/felhom-gate/hdd/appdata/immich/upload/.immich (changed)"
|
||||||
|
],
|
||||||
|
"total_s": 921.3
|
||||||
|
}
|
||||||
+144
@@ -0,0 +1,144 @@
|
|||||||
|
# =============================================================================
|
||||||
|
# .felhom.yml — App metadata for felhom-controller
|
||||||
|
# =============================================================================
|
||||||
|
# Place alongside docker-compose.yml in each stack directory:
|
||||||
|
# /opt/docker/stacks/immich/.felhom.yml
|
||||||
|
# =============================================================================
|
||||||
|
|
||||||
|
# --- Display info (shown on dashboard) ---
|
||||||
|
display_name: "Immich"
|
||||||
|
description: "Fotók és videók kezelése (Google Photos alternatíva)"
|
||||||
|
category: "media"
|
||||||
|
subdomain: "photos"
|
||||||
|
|
||||||
|
# --- Asset slug ---
|
||||||
|
slug: "immich"
|
||||||
|
# catalog_since: the date THIS repo last changed this app's pinned images. Any commit that
|
||||||
|
# changes an image: line must set this to the same day (see CLAUDE.md).
|
||||||
|
catalog_since: "2026-09-22"
|
||||||
|
|
||||||
|
# --- Resource hints (displayed on deploy screen) ---
|
||||||
|
resources:
|
||||||
|
mem_request: "2048M"
|
||||||
|
mem_limit: "4480M"
|
||||||
|
pi_compatible: false
|
||||||
|
needs_hdd: true
|
||||||
|
|
||||||
|
# --- Backup classification (referential coupling; see felhom.eu documentation/audits/SPIKE-backup-classification-2026-07-14.md) ---
|
||||||
|
backup:
|
||||||
|
hdd:
|
||||||
|
- path: appdata/immich
|
||||||
|
class: mandatory # managed upload library — DB-referenced (SQ3: restore-without = broken)
|
||||||
|
userdata:
|
||||||
|
- path: media/photos
|
||||||
|
class: optional # external library, :ro — precious but re-scanned (explicit overrides ro-default)
|
||||||
|
|
||||||
|
# --- Deploy fields ---
|
||||||
|
deploy_fields:
|
||||||
|
- env_var: DOMAIN
|
||||||
|
label: "Domain"
|
||||||
|
type: domain
|
||||||
|
description: "A szerver domain neve"
|
||||||
|
locked_after_deploy: true
|
||||||
|
|
||||||
|
- env_var: SUBDOMAIN
|
||||||
|
label: "Aldomain"
|
||||||
|
type: subdomain
|
||||||
|
default: "photos"
|
||||||
|
required: true
|
||||||
|
locked_after_deploy: true
|
||||||
|
description: "Az alkalmazás aldomainje"
|
||||||
|
|
||||||
|
- env_var: DB_PASSWORD
|
||||||
|
label: "Adatbázis jelszó"
|
||||||
|
type: secret
|
||||||
|
generate: "password:24"
|
||||||
|
locked_after_deploy: true
|
||||||
|
|
||||||
|
- env_var: HDD_PATH
|
||||||
|
label: "Adattárolási útvonal"
|
||||||
|
type: path
|
||||||
|
required: true
|
||||||
|
placeholder: "/mnt/felhom-drives/hdd_1"
|
||||||
|
description: "A külső merevlemez elérési útja, ahol a fotók és videók tárolódnak"
|
||||||
|
locked_after_deploy: true
|
||||||
|
|
||||||
|
# --- App info (info page content) ---
|
||||||
|
app_info:
|
||||||
|
tagline: 'Google Photos alternatíva - automatikus fotó mentés és rendszerezés'
|
||||||
|
docs_url: 'https://immich.app/docs/overview/introduction'
|
||||||
|
|
||||||
|
use_cases:
|
||||||
|
- 'Fotók és videók automatikus mentése telefonról'
|
||||||
|
- 'Arc- és tárgyfelismerés gépi tanulással'
|
||||||
|
- 'Térképes megjelenítés helyszín alapján'
|
||||||
|
- 'Emlékek és visszatekintések automatikus generálása'
|
||||||
|
- 'Albumok létrehozása és megosztása családtagokkal'
|
||||||
|
|
||||||
|
first_steps:
|
||||||
|
- 'Nyisd meg a photos.DOMAIN címet a böngészőben'
|
||||||
|
- 'Hozd létre az admin fiókot'
|
||||||
|
- 'Telepítsd az Immich alkalmazást a telefonodra (Android/iOS)'
|
||||||
|
- 'Állítsd be az automatikus feltöltést az alkalmazásban'
|
||||||
|
- 'Hívd meg a családtagokat külön fiókokkal'
|
||||||
|
# MOUNT-READY, REGISTRATION PENDING: a megosztott média/photos mappa be van csatolva
|
||||||
|
# /external/photos néven (csak olvasható), de az Immich CSAK akkor látja, ha az
|
||||||
|
# adminfelületen (Administration → External Libraries) regisztrálod a /external/photos
|
||||||
|
# útvonalat. Compose ezt NEM teszi meg automatikusan — ez egy telepítés utáni lépés.
|
||||||
|
- 'Külső könyvtár (opcionális): Administration → External Libraries → add /external/photos'
|
||||||
|
|
||||||
|
prerequisites:
|
||||||
|
- 'Külső HDD szükséges a fotók és videók tárolásához'
|
||||||
|
- 'Legalább 4 GB szabad RAM ajánlott (gépi tanulás funkciókhoz)'
|
||||||
|
- 'x86 processzor szükséges (nem fut Raspberry Pi-n)'
|
||||||
|
|
||||||
|
# --- Controller-side health probe ---
|
||||||
|
healthcheck:
|
||||||
|
# container: no exact match and FOUR `immich-*` containers, so the old prefix rule picked whichever the
|
||||||
|
# container list happened to yield first — it could have been `immich-postgres` (R-630)
|
||||||
|
container: immich-server
|
||||||
|
checks:
|
||||||
|
- type: api
|
||||||
|
port: 2283
|
||||||
|
path: "/api/server/ping"
|
||||||
|
expect:
|
||||||
|
status: 200
|
||||||
|
|
||||||
|
# --- English copy (localisation slice 5, R-560) --------------------------------------------
|
||||||
|
# The Hungarian above is UNCHANGED. A box on English reads this block field by field; a missing
|
||||||
|
# field shows the Hungarian one; a controller older than 0.257.0 ignores the block entirely.
|
||||||
|
i18n:
|
||||||
|
en:
|
||||||
|
description: 'Photos and videos in one place (a Google Photos alternative)'
|
||||||
|
app_info:
|
||||||
|
tagline: 'A Google Photos alternative - your photos back themselves up and sort themselves'
|
||||||
|
use_cases:
|
||||||
|
- 'Photos and videos back themselves up from your phone'
|
||||||
|
- 'It recognises faces and objects on its own'
|
||||||
|
- 'See where a photo was taken, on a map'
|
||||||
|
- 'Memories and look-backs, put together for you'
|
||||||
|
- 'Build albums and share them with the household'
|
||||||
|
first_steps:
|
||||||
|
- 'Open photos.DOMAIN in your browser'
|
||||||
|
- 'Create the admin account'
|
||||||
|
- 'Install the Immich app on your phone (Android/iOS)'
|
||||||
|
- 'Turn on automatic upload in the app'
|
||||||
|
- 'Invite the household, each with their own account'
|
||||||
|
- 'An external library (optional): Administration -> External Libraries -> add /external/photos'
|
||||||
|
prerequisites:
|
||||||
|
- 'An external hard drive is needed to keep the photos and videos on'
|
||||||
|
- 'At least 4 GB of free RAM is recommended (for the machine learning features)'
|
||||||
|
- 'An x86 processor is needed (it does not run on a Raspberry Pi)'
|
||||||
|
deploy_fields:
|
||||||
|
- env_var: DOMAIN
|
||||||
|
label: 'Domain'
|
||||||
|
description: 'The server domain name'
|
||||||
|
- env_var: SUBDOMAIN
|
||||||
|
label: 'Subdomain'
|
||||||
|
description: 'The subdomain this app answers on'
|
||||||
|
- env_var: DB_PASSWORD
|
||||||
|
label: 'Database password'
|
||||||
|
- env_var: HDD_PATH
|
||||||
|
label: 'Data storage path'
|
||||||
|
description: 'The path to the external hard drive where the photos and videos are kept'
|
||||||
|
placeholder: '/mnt/felhom-drives/hdd_1'
|
||||||
+146
@@ -0,0 +1,146 @@
|
|||||||
|
# Immich - Self-hosted Photo & Video Management
|
||||||
|
# Domain: ${SUBDOMAIN}.${DOMAIN}
|
||||||
|
# Database: PostgreSQL (with VectorChord) + Redis
|
||||||
|
# RAM: ~4GB minimum (mem_limit: 4096M total — server 2048M + ML 1536M + postgres 256M + redis 128M) | Pi-compatible: No (ML too heavy)
|
||||||
|
#
|
||||||
|
# Environment variables:
|
||||||
|
# DOMAIN - Your domain (e.g., demo-felhom.eu)
|
||||||
|
# HDD_PATH - Drive namespace root (managed upload lives under appdata)
|
||||||
|
# USERDATA_PATH - Ügyfél-tartalom gyökér (<namespace>/userdata)
|
||||||
|
# DB_PASSWORD - PostgreSQL password (auto-generated)
|
||||||
|
#
|
||||||
|
# Storage layout (felhom userdata convention):
|
||||||
|
# Managed upload (Immich-owned) → ${HDD_PATH}/appdata/immich (HDD, host path — app-managed)
|
||||||
|
# External photo library (RO) → ${USERDATA_PATH}/media/photos → /external/photos
|
||||||
|
# PostgreSQL data → immich_postgres_data (named volume, NVMe)
|
||||||
|
# ML model cache → immich_ml_cache (named volume, NVMe)
|
||||||
|
# Redis data → immich_redis_data (named volume, NVMe)
|
||||||
|
#
|
||||||
|
# ⚠ EXTERNAL LIBRARY IS NOT WIRED BY COMPOSE: mounting /external/photos only makes the files
|
||||||
|
# visible to the container. To actually surface them in Immich you MUST register an External
|
||||||
|
# Library pointing at /external/photos in the Immich admin UI (Administration → External
|
||||||
|
# Libraries) or via the API — a POST-DEPLOY step. Until then photos sharing is "mount ready,
|
||||||
|
# registration pending". See .felhom.yml first_steps + REPORT.
|
||||||
|
#
|
||||||
|
# First-time setup:
|
||||||
|
# Create admin account on first visit, then register the External Library (see above).
|
||||||
|
|
||||||
|
services:
|
||||||
|
immich-server:
|
||||||
|
image: ghcr.io/immich-app/immich-server:v3.2.2
|
||||||
|
container_name: immich-server
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
immich-postgres:
|
||||||
|
condition: service_healthy
|
||||||
|
immich-redis:
|
||||||
|
condition: service_healthy
|
||||||
|
environment:
|
||||||
|
- DB_PASSWORD=${DB_PASSWORD}
|
||||||
|
- DB_HOSTNAME=immich-postgres
|
||||||
|
- DB_USERNAME=immich
|
||||||
|
- DB_DATABASE_NAME=immich
|
||||||
|
- REDIS_HOSTNAME=immich-redis
|
||||||
|
- IMMICH_MACHINE_LEARNING_URL=http://immich-machine-learning:3003
|
||||||
|
- TZ=Europe/Budapest
|
||||||
|
volumes:
|
||||||
|
- ${HDD_PATH}/appdata/immich:/usr/src/app/upload
|
||||||
|
- ${USERDATA_PATH}/media/photos:/external/photos:ro
|
||||||
|
networks:
|
||||||
|
- traefik-public
|
||||||
|
- immich-internal
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
memory: 2048M
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "curl", "-sf", "http://127.0.0.1:2283/api/server/ping"]
|
||||||
|
interval: 30s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 3
|
||||||
|
start_period: 60s
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.immich.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
|
||||||
|
- "traefik.http.routers.immich.entrypoints=websecure"
|
||||||
|
- "traefik.http.routers.immich.tls=true"
|
||||||
|
- "traefik.http.routers.immich.tls.certresolver=letsencrypt"
|
||||||
|
- "traefik.http.services.immich.loadbalancer.server.port=2283"
|
||||||
|
|
||||||
|
immich-machine-learning:
|
||||||
|
image: ghcr.io/immich-app/immich-machine-learning:v3.0.3
|
||||||
|
container_name: immich-machine-learning
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Budapest
|
||||||
|
- TRANSFORMERS_CACHE=/cache
|
||||||
|
volumes:
|
||||||
|
- immich_ml_cache:/cache
|
||||||
|
networks:
|
||||||
|
- immich-internal
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
memory: 1536M
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "python3", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:3003/ping')"]
|
||||||
|
interval: 30s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 3
|
||||||
|
start_period: 120s
|
||||||
|
|
||||||
|
immich-postgres:
|
||||||
|
image: ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0
|
||||||
|
container_name: immich-postgres
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- POSTGRES_USER=immich
|
||||||
|
- POSTGRES_PASSWORD=${DB_PASSWORD}
|
||||||
|
- POSTGRES_DB=immich
|
||||||
|
- POSTGRES_INITDB_ARGS=--data-checksums
|
||||||
|
- TZ=Europe/Budapest
|
||||||
|
volumes:
|
||||||
|
- immich_postgres_data:/var/lib/postgresql/data
|
||||||
|
networks:
|
||||||
|
- immich-internal
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
memory: 768M
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "pg_isready -U immich -d immich"]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 5
|
||||||
|
start_period: 30s
|
||||||
|
|
||||||
|
immich-redis:
|
||||||
|
image: redis:7-alpine
|
||||||
|
container_name: immich-redis
|
||||||
|
restart: unless-stopped
|
||||||
|
command: redis-server --appendonly yes
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Budapest
|
||||||
|
volumes:
|
||||||
|
- immich_redis_data:/data
|
||||||
|
networks:
|
||||||
|
- immich-internal
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
memory: 128M
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "redis-cli", "ping"]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 3
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
immich_ml_cache:
|
||||||
|
immich_postgres_data:
|
||||||
|
immich_redis_data:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
traefik-public:
|
||||||
|
external: true
|
||||||
|
immich-internal:
|
||||||
@@ -0,0 +1,72 @@
|
|||||||
|
# More apps that update themselves — 2026-09-30 (evening, by day)
|
||||||
|
|
||||||
|
Brief: the operator's day brief of 2026-09-30 evening (Parts A–D). Architecture read first:
|
||||||
|
`architecture/09-update-architecture.md` §3 decisions 6, 13, 14, 17, 22, 30, §6.4 parts 4–7, §6.5.
|
||||||
|
Baselines (live Gitea, 16:49 CEST): controller `d48da6c` (0.283.1), agent `d766666` (0.138.0), felhom.eu
|
||||||
|
`2866f6a`, catalog `4c552cf`.
|
||||||
|
|
||||||
|
**Venues.** Bench = LXC 9401 on demo-hp, made fresh at 16:52 (6 cores, 10 GiB, **swap 0** — the stricter
|
||||||
|
venue, R-733), harness v4, 10-minute memory watch (`bench/B1-bench-create.txt`). Box = scratch guest 9202
|
||||||
|
(controller 0.283.1, swap 512 MiB) pointed at the drill catalog (`box/B0`, `box/B1`), the product's guarded
|
||||||
|
Update. The drill force-push was refused once by the permission check and then allowed by the operator.
|
||||||
|
|
||||||
|
## The Part table
|
||||||
|
|
||||||
|
| Part | done / not done / changed | why |
|
||||||
|
|---|---|---|
|
||||||
|
| **A1 calibre-web** | **done** — v4.0.6 → v4.0.8, first ladder `53a4a1d` | front door = the Upload button (HTTP form), read back through OPDS + the served EPUB. The ingest folder was NOT used (it would be a file planted in a mount). `files_may_change`: the library DB `metadata.db` (+`-shm`, `-wal`) in the books folder; the book file did not change |
|
||||||
|
| **A2 gitea** | **done** — 1.27.0 → 1.27.3, first ladder `d7ba60c` | the installer-form POST (no CSRF on that form), through the setup gate on the box. 28.0.0 not touched |
|
||||||
|
| **B1 emby, ghost, home-assistant** | **done** — `3e4aa77`, `9a78e3b`, `15f4d59` | each had a newer tag inside its line (re-checked) |
|
||||||
|
| **B2 uptime-kuma, wger, crafty-controller** | **done** — `35dd5cf`, `4ad32aa` (+ fix `7a4ff48`), `e1f0179` | new fixtures; wger needed a template fix first (R-738) |
|
||||||
|
| **B2 wanderer** | **not done** | the bench cannot run it at all: its web server calls the DB at a public https name (R-739). The meilisearch question is NOT measured |
|
||||||
|
| **B3 time left** | **done** — outline `b0b2514`, rallly `8d3a35a`, zipline 4.6.1 → 4.7.0 `a9700e2` → 4.8.0 `fb87030` | zipline 4.8.0 refuses a database that skipped 4.7.x (R-742); the box undid the direct jump itself |
|
||||||
|
| **C the same-name fix gap** | **done** — row R-740, STATUS decision, `09` decision 30 dated note | measured from source, a unit walk, the registry and demo-hp; **nothing built** |
|
||||||
|
| **D immich's older step** | **done (changed)** — re-proven at 768M, step files rewritten `48440ce` | the brief's route needed a writer mode that did not exist → `upgrade-test.py --restep` `63a96b0`, with tests |
|
||||||
|
|
||||||
|
**Night-updatable apps (the audit's method (a)): 30 + 2 conditional at the start → 35 + 3 conditional** (38 carry a proven step; 15 have no ladder).
|
||||||
|
|
||||||
|
## Per app
|
||||||
|
|
||||||
|
| app | step | bench (harness v4, swap 0, 10-min watch) | anon peak (cgroup peak) | abort | box 9202 (guarded Update) | marks | catalog |
|
||||||
|
|---|---|---|---|---|---|---|---|
|
||||||
|
| calibre-web | v4.0.6 → v4.0.8 | proven, read back before/after True/True, kills 0 | calibre-web 19.3 % (38.9 %) | starts-and-serves | done in 64.6 s, read back True | files_may_change | `53a4a1d` |
|
||||||
|
| gitea | 1.27.0 → 1.27.3 | proven, read back before/after True/True, kills 0 | gitea 26.6 % (52.9 %) | refuses | done in 21.6 s, read back True | — | `d7ba60c` |
|
||||||
|
| emby | 4.11.0.3 → 4.11.0.4 | proven, read back before/after True/True, kills 0 | emby 4.7 % (7.3 %) | starts-and-serves | done in 23.6 s, read back True | — | `3e4aa77` |
|
||||||
|
| ghost | 6.65.0-alpine → 6.67.0-alpine | proven, read back before/after True/True, kills 0 | ghost 26.7 % (33.9 %) | starts-and-serves | done in 107.7 s, read back True | — | `9a78e3b` |
|
||||||
|
| home-assistant | 2026.9.3 → 2026.9.4 | proven, read back before/after True/True, kills 0 | home-assistant 32.0 % (47.4 %) | starts-and-serves | done in 113.8 s, read back True | — | `15f4d59` |
|
||||||
|
| uptime-kuma | 2.4.0 → 2.5.5 | proven, read back before/after True/True, kills 0 | uptime-kuma 43.3 % (49.7 %) | starts-and-serves | done in 33.9 s, read back True | — | `35dd5cf` |
|
||||||
|
| wger | 2.6 → 2.7 | proven, read back before/after True/True, kills 0 | wger 49.8 % (78.6 %) | starts-data-gone | done in 46.2 s, read back True | — | `4ad32aa (+ fix 7a4ff48)` |
|
||||||
|
| crafty-controller | 4.10.7 → 4.11.0 | proven, read back before/after True/True, kills 0 | crafty-controller 2.7 % (8.0 %) | starts-and-serves | done in 51.3 s, read back True | — | `e1f0179` |
|
||||||
|
| outline | 1.9.1 → 1.10.1 | proven, read back before/after True/True, kills 0 | outline 33.5 % (37.7 %), outline-postgres 5.4 % (62.1 %), outline-redis 2.6 % (7.1 %) | starts-and-serves | done in 89.2 s, read back True | — | `b0b2514` |
|
||||||
|
| rallly | 4.11.1 → 4.15.3 | proven, read back before/after True/True, kills 0 | rallly 60.6 % (64.0 %), rallly-postgres 2.1 % (65.8 %) | starts-data-gone | done in 64.7 s, read back True | — | `8d3a35a` |
|
||||||
|
| zipline | 4.6.1 → 4.7.0 | proven, first try (after the fixture was fixed; see the direct jump below) | zipline 41.7 % | starts-and-serves | done in 103.6 s, read back True | — | `a9700e2` |
|
||||||
|
| zipline | 4.7.0 → 4.8.0 | proven (third attempt: two FROM pulls failed on the bench's full disk) | zipline 34.3 % | starts-and-serves | done in 32.8 s, read back True | — | `fb87030` |
|
||||||
|
| zipline | 4.6.1 → 4.8.0 (direct) | **failed** — 4.8.0 restarts: „cannot safely migrate from prisma to drizzle" | — | starts-and-serves | **undone** by the box in 20 s | — | not written (R-742) |
|
||||||
|
| wger | 2.6 → 2.7 WITHOUT the migrations switch | box only | — | — | **done, then login 500** (12 migrations unapplied) | — | not written; fixed `7a4ff48` (R-738) |
|
||||||
|
|
||||||
|
Files behind `files_may_change`: calibre-web — `media/books/metadata.db`, `metadata.db-shm`, `metadata.db-wal` (the
|
||||||
|
library database; the book file unchanged; `A/calibre-names/`). On 9202 the same step changed no file in that folder
|
||||||
|
(`box/calibre-web-files-{before,after,diff}.txt`). Memory figures: the anon peak is the basis of `memory_tight`
|
||||||
|
(decision 22); the cgroup peak includes the file cache.
|
||||||
|
|
||||||
|
## Part C — the same-name security fix (R-740)
|
||||||
|
|
||||||
|
`C/C1` demo-hp 9201 read-only digests (18 of 18 equal) · `C/C2` the unit walk on a scratch copy of the
|
||||||
|
controller (the leg skips `no_test_record`; the Update button takes the tested digest; a same-tag re-test
|
||||||
|
entry WOULD be pressed by the leg) · `C/C3` the floating lines' last pushes · `C/C4` no ladder has a same-tag
|
||||||
|
re-test, and the writer refuses one. The decision is in `STATUS.md`.
|
||||||
|
|
||||||
|
## Part D — immich's step `0b8272068aab36bf`
|
||||||
|
|
||||||
|
`D/D1` hub read-only: `/apps` lists 14 apps over the 3 reporting boxes, bookstack on 2 (positive control), **immich on
|
||||||
|
none**. `D/D2` the geodata inside each server image: v3.0.3 `2026-07-13`, v3.2.2 `2026-08-30`, v3.2.4 `2026-09-28` — so the
|
||||||
|
v3.0.3 → v3.2.2 step re-runs the import. `D/template-immich@0b82-768` = the step file with ONE line changed (512M → 768M)
|
||||||
|
and its `.felhom.yml` `mem_limit` 4096M → 4480M. `D/D3` + `D/evidence/D-immich-0b82-768/`: bench, swap 0 — `Starting
|
||||||
|
geodata import` 19:19:47, `Geodata import completed` 19:20:04, the database's `oom_kill` 0 from its birth, the album read
|
||||||
|
back, 10-min watch 0 kills (anon peak 29.6 %). Written by `upgrade-test.py --restep` (catalog `63a96b0`), commit `48440ce`.
|
||||||
|
|
||||||
|
## Tools
|
||||||
|
|
||||||
|
`tools/` — copies of today's walk/bench tools with this folder's paths, plus `benchsync.sh` (catalog scripts +
|
||||||
|
templates → bench), `probe_up.sh` (a hand probe), `recheck.py` (upstream tags), `digestread.py` (Part C,
|
||||||
|
read-only), `floatpush.py` (Part C), `partd.py` + `q4.sh` (Part D and the late queue).
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
+ date -u
|
||||||
|
Wed Sep 30 14:52:29 UTC 2026
|
||||||
|
+ pct list
|
||||||
|
VMID Status Lock Name
|
||||||
|
9201 running demo-hp
|
||||||
|
9202 running demo-hp-scratch
|
||||||
|
+ free -g
|
||||||
|
+ head -2
|
||||||
|
total used free shared buff/cache available
|
||||||
|
Mem: 29 5 14 0 10 23
|
||||||
|
+ pvesm status
|
||||||
|
+ grep -E 'local-lvm|nvme'
|
||||||
|
local-lvm lvmthin active 56487936 34802217 21685718 61.61%
|
||||||
|
nvme-scratch dir active 983379700 77130316 856222772 7.84%
|
||||||
|
+ pct config 9401
|
||||||
|
+ head -1
|
||||||
|
Configuration file 'nodes/demo-hp/lxc/9401.conf' does not exist
|
||||||
|
+ pveam download local debian-13-standard_13.6-1_amd64.tar.zst
|
||||||
|
+ tail -1
|
||||||
|
download of 'http://download.proxmox.com/images/system/debian-13-standard_13.6-1_amd64.tar.zst' to '/var/lib/vz/template/cache/debian-13-standard_13.6-1_amd64.tar.zst' finished
|
||||||
|
+ pct create 9401 local:vztmpl/debian-13-standard_13.6-1_amd64.tar.zst --hostname upgrade-harness --cores 6 --memory 10240 --swap 0 --rootfs nvme-scratch:40 --net0 name=eth0,bridge=vmbr0,ip=dhcp --unprivileged 1 --features nesting=1,keyctl=1 --onboot 0
|
||||||
|
+ tail -1
|
||||||
|
done: SHA256:VOwfGwujDPythaaASvkGKoXr1I9wWEA2bHZHiZT24XQ root@upgrade-harness
|
||||||
|
+ pct start 9401
|
||||||
|
+ sleep 15
|
||||||
|
+ pct exec 9401 -- bash -c 'hostname; ip -4 -o addr show eth0 | awk "{print \$4}"; apt-get update -qq >/dev/null 2>&1; DEBIAN_FRONTEND=noninteractive apt-get install -y -qq docker.io docker-compose python3 python3-yaml curl postgresql-client sqlite3 >/dev/null 2>&1; docker --version; docker compose version; python3 --version; docker network create traefik-public >/dev/null && echo traefik-public-net; swapon --show; free -m | head -3'
|
||||||
|
upgrade-harness
|
||||||
|
192.168.0.118/24
|
||||||
|
Docker version 26.1.5+dfsg1, build a72d7cd
|
||||||
|
Docker Compose version 2.26.1-4
|
||||||
|
Python 3.13.5
|
||||||
|
traefik-public-net
|
||||||
|
total used free shared buff/cache available
|
||||||
|
Mem: 10240 61 8512 0 1666 10178
|
||||||
|
Swap: 0 0 0
|
||||||
+31
@@ -0,0 +1,31 @@
|
|||||||
|
removed ghost:6.67.0-alpine
|
||||||
|
removed lukevella/rallly:4.15.3
|
||||||
|
removed ghcr.io/immich-app/immich-server:v3.2.4
|
||||||
|
removed crocodilestick/calibre-web-automated:v4.0.8
|
||||||
|
removed ghcr.io/home-assistant/home-assistant:2026.9.4
|
||||||
|
removed emby/embyserver:4.11.0.4
|
||||||
|
removed ghost:6.65.0-alpine
|
||||||
|
removed emby/embyserver:4.11.0.3
|
||||||
|
removed ghcr.io/home-assistant/home-assistant:2026.9.3
|
||||||
|
removed redis:7-alpine
|
||||||
|
removed postgres:18-alpine
|
||||||
|
removed registry.gitlab.com/crafty-controller/crafty-4:4.11.0
|
||||||
|
removed louislam/uptime-kuma:2.5.5
|
||||||
|
removed ghcr.io/immich-app/immich-server:v3.2.2
|
||||||
|
removed outlinewiki/outline:1.10.1
|
||||||
|
removed wger/server:2.7
|
||||||
|
removed gitea/gitea:1.27.3
|
||||||
|
removed ghcr.io/immich-app/immich-server:v3.0.3
|
||||||
|
removed ghcr.io/immich-app/immich-machine-learning:v3.0.3
|
||||||
|
removed gitea/gitea:1.27.0
|
||||||
|
removed outlinewiki/outline:1.9.1
|
||||||
|
removed flomp/wanderer-web:v0.20.0
|
||||||
|
removed flomp/wanderer-db:v0.20.0
|
||||||
|
removed lukevella/rallly:4.11.1
|
||||||
|
removed wger/server:2.6
|
||||||
|
removed registry.gitlab.com/crafty-controller/crafty-4:4.10.7
|
||||||
|
removed louislam/uptime-kuma:2.4.0
|
||||||
|
removed getmeili/meilisearch:v1.36.0
|
||||||
|
removed crocodilestick/calibre-web-automated:v4.0.6
|
||||||
|
removed ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0
|
||||||
|
/dev/loop2 40G 3.4G 34G 9% /
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
## 2026-09-30T18:25:45Z bench destroy
|
||||||
|
upgrade-harness
|
||||||
|
purging CT 9401 from related configurations..
|
||||||
|
destroyed-9401
|
||||||
|
template-removed
|
||||||
|
VMID Status Lock Name
|
||||||
|
9201 running demo-hp
|
||||||
|
9202 running demo-hp-scratch
|
||||||
|
local-lvm lvmthin active 56487936 34802217 21685718 61.61%
|
||||||
|
nvme-scratch dir active 983379700 77234652 856118436 7.85%
|
||||||
+36
@@ -0,0 +1,36 @@
|
|||||||
|
[14:58:47] scratch drive folders cleared before FROM (R-656): ['/srv/felhom-gate/import/calibre']
|
||||||
|
[14:58:47] MV-calibre-web: deploying calibre-web at FROM {'calibre-web': 'crocodilestick/calibre-web-automated:v4.0.6'}
|
||||||
|
[14:59:18] FROM settled=True in 30.8s :: {"calibre-web": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}}
|
||||||
|
[14:59:18] fixture: the BOX walk's own (CalibreWeb), through upgrade_boxport
|
||||||
|
[14:59:19] calibre-web: the generated admin password does not log in (opds http=401) — running the template's own after_install command (the app's CLI, as the product does after an install)
|
||||||
|
[14:59:19] calibre-web: after_install :: sh: 1: python3: not found
|
||||||
|
[14:59:19] INCONCLUSIVE — no non-browser seed route. Nothing was planted by hand.
|
||||||
|
{
|
||||||
|
"harness_version": 4,
|
||||||
|
"edge": "MV-calibre-web",
|
||||||
|
"app": "calibre-web",
|
||||||
|
"note": "night 2026-09-23 within-a-major move: calibre-web=crocodilestick/calibre-web-automated:v4.0.8",
|
||||||
|
"from": {
|
||||||
|
"calibre-web": "crocodilestick/calibre-web-automated:v4.0.6"
|
||||||
|
},
|
||||||
|
"to": {
|
||||||
|
"calibre-web": "crocodilestick/calibre-web-automated:v4.0.8"
|
||||||
|
},
|
||||||
|
"verdict": "inconclusive",
|
||||||
|
"seed_read_before": false,
|
||||||
|
"seed_read_after": false,
|
||||||
|
"healthy_after": false,
|
||||||
|
"migration_observed": null,
|
||||||
|
"abort": "not-attempted",
|
||||||
|
"abort_detail": "no non-browser seed route \u2014 tried: admin login after after_install -> 401",
|
||||||
|
"engine_state_after": null,
|
||||||
|
"memory": null,
|
||||||
|
"marks": [],
|
||||||
|
"duration_s": 31.8,
|
||||||
|
"measured_at": "2026-09-30T14:59:19Z",
|
||||||
|
"evidence": "evidence/MV-calibre-web",
|
||||||
|
"scratch_cleared": [
|
||||||
|
"/srv/felhom-gate/import/calibre"
|
||||||
|
],
|
||||||
|
"total_s": 31.8
|
||||||
|
}
|
||||||
+37
@@ -0,0 +1,37 @@
|
|||||||
|
[15:15:46] scratch drive folders cleared before FROM (R-656): ['/srv/felhom-gate/hdd/userdata/media/books', '/srv/felhom-gate/import/calibre']
|
||||||
|
[15:15:46] MV-calibre-web: deploying calibre-web at FROM {'calibre-web': 'crocodilestick/calibre-web-automated:v4.0.6'}
|
||||||
|
[15:16:17] FROM settled=True in 30.8s :: {"calibre-web": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}}
|
||||||
|
[15:16:17] fixture: the BOX walk's own (CalibreWeb), through upgrade_boxport
|
||||||
|
[15:16:17] calibre-web: the generated admin password does not log in (opds http=401) — running the template's own after_install command (the app's CLI, as the product does after an install)
|
||||||
|
[15:16:20] calibre-web: after_install :: lse (Standard/LDAP login) Password doesn't comply with password validation rules
|
||||||
|
[15:16:20] INCONCLUSIVE — no non-browser seed route. Nothing was planted by hand.
|
||||||
|
{
|
||||||
|
"harness_version": 4,
|
||||||
|
"edge": "MV-calibre-web",
|
||||||
|
"app": "calibre-web",
|
||||||
|
"note": "night 2026-09-23 within-a-major move: calibre-web=crocodilestick/calibre-web-automated:v4.0.8",
|
||||||
|
"from": {
|
||||||
|
"calibre-web": "crocodilestick/calibre-web-automated:v4.0.6"
|
||||||
|
},
|
||||||
|
"to": {
|
||||||
|
"calibre-web": "crocodilestick/calibre-web-automated:v4.0.8"
|
||||||
|
},
|
||||||
|
"verdict": "inconclusive",
|
||||||
|
"seed_read_before": false,
|
||||||
|
"seed_read_after": false,
|
||||||
|
"healthy_after": false,
|
||||||
|
"migration_observed": null,
|
||||||
|
"abort": "not-attempted",
|
||||||
|
"abort_detail": "no non-browser seed route \u2014 tried: admin login after after_install -> 401",
|
||||||
|
"engine_state_after": null,
|
||||||
|
"memory": null,
|
||||||
|
"marks": [],
|
||||||
|
"duration_s": 34.0,
|
||||||
|
"measured_at": "2026-09-30T15:16:20Z",
|
||||||
|
"evidence": "evidence/MV-calibre-web",
|
||||||
|
"scratch_cleared": [
|
||||||
|
"/srv/felhom-gate/hdd/userdata/media/books",
|
||||||
|
"/srv/felhom-gate/import/calibre"
|
||||||
|
],
|
||||||
|
"total_s": 34.0
|
||||||
|
}
|
||||||
+119
@@ -0,0 +1,119 @@
|
|||||||
|
[15:59:10] scratch drive folders cleared before FROM (R-656): ['/srv/felhom-gate/import/calibre']
|
||||||
|
[15:59:10] MV-calibre-web: deploying calibre-web at FROM {'calibre-web': 'crocodilestick/calibre-web-automated:v4.0.6'}
|
||||||
|
[15:59:41] FROM settled=True in 30.8s :: {"calibre-web": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}}
|
||||||
|
[15:59:41] fixture: the BOX walk's own (CalibreWeb), through upgrade_boxport
|
||||||
|
[15:59:41] calibre-web: the generated admin password does not log in (opds http=401) — running the template's own after_install command (the app's CLI, as the product does after an install)
|
||||||
|
[15:59:44] calibre-web: after_install :: OKIE_SECURE set to False (Standard/LDAP login) Password for user 'admin' changed
|
||||||
|
[15:59:45] calibre-web: POST /upload http=200 {"location": "/tasks"}
|
||||||
|
[15:59:45] calibre-web: seeded book upg72a41d2a7698 is in the library
|
||||||
|
[15:59:51] calibre-web: readback — listed=True download_link=True book_content_served=True
|
||||||
|
[15:59:51] C1 (seed reads back BEFORE): True
|
||||||
|
[15:59:51] MV-calibre-web: swapping to TO {'calibre-web': 'crocodilestick/calibre-web-automated:v4.0.8'}
|
||||||
|
[16:00:28] TO up -d rc=0
|
||||||
|
[16:00:58] TO settled=True in 30.8s :: {"calibre-web": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}}
|
||||||
|
[16:00:59] migration lines observed: 6
|
||||||
|
[16:01:00] calibre-web: readback — listed=True download_link=True book_content_served=True
|
||||||
|
[16:01:00] RESULT (seed reads back AFTER): True
|
||||||
|
[16:01:00] files_may_change: the bind-mounted tree changed under ['/srv/felhom-gate/hdd/userdata/media/books']
|
||||||
|
[16:01:00] memory watch: 600s, 4 callers on 1 path(s) at 172.18.0.2:8083
|
||||||
|
[16:01:15] + 15s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=296
|
||||||
|
[16:01:31] + 30s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=592
|
||||||
|
[16:01:46] + 45s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=884
|
||||||
|
[16:02:01] + 60s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=1180
|
||||||
|
[16:02:16] + 76s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=1474
|
||||||
|
[16:02:31] + 91s calibre-web=237M/768M peak=299M kills=0 rs=0 reqs=1768
|
||||||
|
[16:02:46] + 106s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=2064
|
||||||
|
[16:03:01] + 121s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=2356
|
||||||
|
[16:03:16] + 136s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=2652
|
||||||
|
[16:03:31] + 151s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=2944
|
||||||
|
[16:03:47] + 166s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=3238
|
||||||
|
[16:04:02] + 181s calibre-web=237M/768M peak=299M kills=0 rs=0 reqs=3534
|
||||||
|
[16:04:17] + 196s calibre-web=237M/768M peak=299M kills=0 rs=0 reqs=3826
|
||||||
|
[16:04:32] + 212s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=4122
|
||||||
|
[16:04:47] + 227s calibre-web=237M/768M peak=299M kills=0 rs=0 reqs=4418
|
||||||
|
[16:05:02] + 242s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=4710
|
||||||
|
[16:05:17] + 257s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=5006
|
||||||
|
[16:05:32] + 272s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=5302
|
||||||
|
[16:05:48] + 287s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=5594
|
||||||
|
[16:06:03] + 302s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=5890
|
||||||
|
[16:06:18] + 318s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=6182
|
||||||
|
[16:06:33] + 333s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=6478
|
||||||
|
[16:06:48] + 348s calibre-web=205M/768M peak=299M kills=0 rs=0 reqs=6774
|
||||||
|
[16:07:03] + 363s calibre-web=193M/768M peak=299M kills=0 rs=0 reqs=7070
|
||||||
|
[16:07:18] + 378s calibre-web=192M/768M peak=299M kills=0 rs=0 reqs=7362
|
||||||
|
[16:07:33] + 393s calibre-web=191M/768M peak=299M kills=0 rs=0 reqs=7658
|
||||||
|
[16:07:49] + 408s calibre-web=191M/768M peak=299M kills=0 rs=0 reqs=7952
|
||||||
|
[16:08:04] + 423s calibre-web=184M/768M peak=299M kills=0 rs=0 reqs=8246
|
||||||
|
[16:08:19] + 438s calibre-web=179M/768M peak=299M kills=0 rs=0 reqs=8541
|
||||||
|
[16:08:34] + 454s calibre-web=181M/768M peak=299M kills=0 rs=0 reqs=8834
|
||||||
|
[16:08:49] + 469s calibre-web=180M/768M peak=299M kills=0 rs=0 reqs=9130
|
||||||
|
[16:09:04] + 484s calibre-web=180M/768M peak=299M kills=0 rs=0 reqs=9422
|
||||||
|
[16:09:19] + 499s calibre-web=180M/768M peak=299M kills=0 rs=0 reqs=9718
|
||||||
|
[16:09:34] + 514s calibre-web=181M/768M peak=299M kills=0 rs=0 reqs=10014
|
||||||
|
[16:09:49] + 529s calibre-web=180M/768M peak=299M kills=0 rs=0 reqs=10306
|
||||||
|
[16:10:05] + 544s calibre-web=181M/768M peak=299M kills=0 rs=0 reqs=10602
|
||||||
|
[16:10:20] + 559s calibre-web=180M/768M peak=299M kills=0 rs=0 reqs=10894
|
||||||
|
[16:10:35] + 575s calibre-web=181M/768M peak=299M kills=0 rs=0 reqs=11190
|
||||||
|
[16:10:50] + 590s calibre-web=181M/768M peak=299M kills=0 rs=0 reqs=11486
|
||||||
|
[16:11:05] + 605s calibre-web=181M/768M peak=299M kills=0 rs=0 reqs=11778
|
||||||
|
[16:11:05] memory watch: killed=False tight=[] requests=11778 codes={'302': 11778}
|
||||||
|
[16:11:05] MV-calibre-web: ABORT — putting the FROM images back
|
||||||
|
[16:11:42] calibre-web: readback — listed=True download_link=True book_content_served=True
|
||||||
|
[16:11:42] ABORT: app came back in 30.8s; data present=True
|
||||||
|
{
|
||||||
|
"harness_version": 4,
|
||||||
|
"edge": "MV-calibre-web",
|
||||||
|
"app": "calibre-web",
|
||||||
|
"note": "night 2026-09-23 within-a-major move: calibre-web=crocodilestick/calibre-web-automated:v4.0.8",
|
||||||
|
"from": {
|
||||||
|
"calibre-web": "crocodilestick/calibre-web-automated:v4.0.6"
|
||||||
|
},
|
||||||
|
"to": {
|
||||||
|
"calibre-web": "crocodilestick/calibre-web-automated:v4.0.8"
|
||||||
|
},
|
||||||
|
"verdict": "proven",
|
||||||
|
"seed_read_before": true,
|
||||||
|
"seed_read_after": true,
|
||||||
|
"healthy_after": true,
|
||||||
|
"migration_observed": "\u001b[2Kcalibre-web | [migrations] started",
|
||||||
|
"abort": "starts-and-serves",
|
||||||
|
"abort_detail": null,
|
||||||
|
"engine_state_after": null,
|
||||||
|
"memory": {
|
||||||
|
"soak_s": 605.0,
|
||||||
|
"requested_s": 600,
|
||||||
|
"requests": 11778,
|
||||||
|
"codes": {
|
||||||
|
"302": 11778
|
||||||
|
},
|
||||||
|
"first_kill": null,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"peak": 313589760,
|
||||||
|
"peak_pct": 0.389,
|
||||||
|
"anon_peak_sampled": 155197440,
|
||||||
|
"anon_peak_pct": 0.193,
|
||||||
|
"oom_kills": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"measured": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"unmeasured": [],
|
||||||
|
"load": "reached"
|
||||||
|
},
|
||||||
|
"marks": [
|
||||||
|
"files_may_change"
|
||||||
|
],
|
||||||
|
"duration_s": 30.8,
|
||||||
|
"measured_at": "2026-09-30T16:11:42Z",
|
||||||
|
"evidence": "evidence/MV-calibre-web",
|
||||||
|
"scratch_cleared": [
|
||||||
|
"/srv/felhom-gate/import/calibre"
|
||||||
|
],
|
||||||
|
"files_changed": [
|
||||||
|
"/srv/felhom-gate/hdd/userdata/media/books"
|
||||||
|
],
|
||||||
|
"total_s": 751.9
|
||||||
|
}
|
||||||
+194
@@ -0,0 +1,194 @@
|
|||||||
|
[2Kcalibre-web | [migrations] started
|
||||||
|
[2Kcalibre-web | [migrations] no migrations found
|
||||||
|
[2Kcalibre-web | ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | ,gggg, ,ggg, gg ,gg
|
||||||
|
[2Kcalibre-web | ,88"""Y8b, ,dPYb, ,dPYb, dP""Y8a 88 ,8P ,dPYb,
|
||||||
|
[2Kcalibre-web | d8" `Y8 IP'`Yb IP'`Yb Yb, `88 88 d8' IP'`Yb
|
||||||
|
[2Kcalibre-web | d8' 8b d8 I8 8I gg I8 8I `" 88 88 88 I8 8I
|
||||||
|
[2Kcalibre-web | ,8I "Y88P' I8 8' "" I8 8' 88 88 88 I8 8'
|
||||||
|
[2Kcalibre-web | I8' ,gggg,gg I8 dP gg I8 dP ,gggggg, ,ggg, aaaaaaaa 88 88 88 ,ggg, I8 dP
|
||||||
|
[2Kcalibre-web | d8 dP" "Y8I I8dP 88 I8dP 88gg dP""""8I i8" "8i """""""" 88 88 88 i8" "8i I8dP 88gg
|
||||||
|
[2Kcalibre-web | Y8, i8' ,8I I8P 88 I8P 8I ,8' 8I I8, ,8I Y8 ,88, 8P I8, ,8I I8P 8I
|
||||||
|
[2Kcalibre-web | `Yba,,_____, ,d8, ,d8b,,d8b,_ _,88,_,d8b, ,8I ,dP Y8, `YbadP' Yb,,d8""8b,,dP `YbadP' ,d8b, ,8I
|
||||||
|
[2Kcalibre-web | `"Y8888888 P"Y8888P"`Y88P'"Y888P""Y88P'"Y88P"' 8P `Y8888P"Y888 "88" "88" 888P"Y8888P'"Y88P"'
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | █████╗ ██╗ ██╗████████╗ ██████╗ ███╗ ███╗ █████╗ ████████╗███████╗██████╗
|
||||||
|
[2Kcalibre-web | ██╔══██╗██║ ██║╚══██╔══╝██╔═══██╗████╗ ████║██╔══██╗╚══██╔══╝██╔════╝██╔══██╗
|
||||||
|
[2Kcalibre-web | ███████║██║ ██║ ██║ ██║ ██║██╔████╔██║███████║ ██║ █████╗ ██║ ██║
|
||||||
|
[2Kcalibre-web | ██╔══██║██║ ██║ ██║ ██║ ██║██║╚██╔╝██║██╔══██║ ██║ ██╔══╝ ██║ ██║
|
||||||
|
[2Kcalibre-web | ██║ ██║╚██████╔╝ ██║ ╚██████╔╝██║ ╚═╝ ██║██║ ██║ ██║ ███████╗██████╔╝
|
||||||
|
[2Kcalibre-web | ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚══════╝╚═════╝
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | ~~~ Based on docker-calibre-web from linuxserver.io & Calibre-Web by janeczku ~~~
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | To support the app dev(s) visit:
|
||||||
|
[2Kcalibre-web | Calibre-Web Automated: https://ko-fi.com/crocodilestick/tip
|
||||||
|
[2Kcalibre-web | To support LSIO projects visit:
|
||||||
|
[2Kcalibre-web | https://www.linuxserver.io/donate/
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | ───────────────────────────────────────
|
||||||
|
[2Kcalibre-web | GID/UID
|
||||||
|
[2Kcalibre-web | ───────────────────────────────────────
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | User UID: 1000
|
||||||
|
[2Kcalibre-web | User GID: 1000
|
||||||
|
[2Kcalibre-web | ───────────────────────────────────────
|
||||||
|
[2Kcalibre-web | [cwa-init] Starting CWA initialization process...
|
||||||
|
[2Kcalibre-web | [cwa-init] Verifying essential directories...
|
||||||
|
[2Kcalibre-web | [cwa-init] Directory /app/calibre-web-automated verified
|
||||||
|
[2Kcalibre-web | [cwa-init] Directory /config verified
|
||||||
|
[2Kcalibre-web | [cwa-init] Directory /calibre-library verified
|
||||||
|
[2Kcalibre-web | [cwa-init] Directory /app/calibre verified
|
||||||
|
[2Kcalibre-web | [cwa-init] Verifying essential files...
|
||||||
|
[2Kcalibre-web | [cwa-init] File /app/CWA_RELEASE verified
|
||||||
|
[2Kcalibre-web | [cwa-init] File /CALIBRE_RELEASE verified
|
||||||
|
[2Kcalibre-web | [cwa-init] Environment verification complete
|
||||||
|
[2Kcalibre-web | [cwa-init] Setting up ImageMagick policy...
|
||||||
|
[2Kcalibre-web | First time run, creating app.db...
|
||||||
|
[2Kcalibre-web | Successfully set kepubify paths in '/config/app.db'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Checking for leftover lock files from previous instance...
|
||||||
|
[2Kcalibre-web | [cwa-init] No leftover lock files to remove. Ending service...
|
||||||
|
[2Kcalibre-web | [cwa-init] Checking for an existing app.db in /config...
|
||||||
|
[2Kcalibre-web | [cwa-init] Existing app.db found!
|
||||||
|
[2Kcalibre-web | [cwa-init] Setting binary paths in '/config/app.db' to the correct ones...
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set binary paths in '/config/app.db'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Enforcing dark theme in app.db (one-time migration)...
|
||||||
|
[2Kcalibre-web | [cwa-init] Dark theme enforcement completed.
|
||||||
|
[2Kcalibre-web | [cwa-init] CWA-init complete! Service exiting now...
|
||||||
|
[2Kcalibre-web | [cwa-init] No existing user_profiles.json found! Creating blank one...
|
||||||
|
[2Kcalibre-web | [cwa-init] Preparing to set ownership of everything in /config, /app/calibre-web-automated, /calibre-library, /cwa-book-ingest, /calibre-library, /config/.cwa_conversion_tmp to abc:abc...
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/config'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/app/calibre-web-automated'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/calibre-library'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/cwa-book-ingest'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/calibre-library'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/config/.cwa_conversion_tmp'!
|
||||||
|
[2Kcalibre-web | [cwa-init][qt6] Starting Qt6 compatibility check...
|
||||||
|
[2Kcalibre-web | [cwa-init][qt6] Host kernel 7.0.2-6-pve >= 6.0: leaving Qt6 libs intact for full functionality. (PDF/WebEngine features enabled)
|
||||||
|
[2Kcalibre-web | [cwa-init][qt6] Qt6 compatibility check completed.
|
||||||
|
[2Kcalibre-web | [cwa-init] Resolving CWA versions (installed + latest stable) ...
|
||||||
|
[2Kcalibre-web | [cwa-init] Installed version: v4.0.6
|
||||||
|
[2Kcalibre-web | [cwa-init] Attempting to fetch latest stable version from GitHub...
|
||||||
|
[2Kcalibre-web | [cwa-init] Using jq for JSON parsing...
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully fetched stable version via jq: v4.0.8
|
||||||
|
[2Kcalibre-web | [cwa-init] Valid stable version retrieved: v4.0.8
|
||||||
|
[2Kcalibre-web | [cwa-init] Stable version persisted to /app/CWA_STABLE_RELEASE
|
||||||
|
[2Kcalibre-web | [cwa-init] Versions resolved: INSTALLED=v4.0.6, STABLE=v4.0.8
|
||||||
|
[2Kcalibre-web | [cwa-auto-zipper] Starting CWA-Auto-Zipper service...
|
||||||
|
[2Kcalibre-web | [cwa-auto-zipper] Matching internal localtime & timezone with the one provided...
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Starting Calibre binaries setup...
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Starting process recovery and cleanup...
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Checking if Calibre is already installed...
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] ========== Starting Recovery Sequence ==========
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Cleaning up stale temporary files...
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Calibre version check timed out or failed, assuming not installed
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] USER NOTE: 'Ignore calibredb: command not found' above, nothing is wrong, this just indicates to CWA that Calibre still needs to be installed
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Installing Calibre version 9.1.0...
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] This may take several minutes, please wait...
|
||||||
|
[2Kcalibre-web | [cwa-auto-zipper] Zoneinfo for Europe/Budapest found. Setting /etc/localtime and /etc/timezone to match...
|
||||||
|
[2Kcalibre-web | [cwa-auto-zipper] Timezone & Localtime successfully set to Europe/Budapest. Initiating Auto-Zipper ...
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Cleaned up 6 stale temporary file(s)
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Checking processing status...
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] No processing status file found, creating with idle status
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Checking for orphaned CWA processes...
|
||||||
|
[2Kcalibre-web | [cwa-auto-zipper] Next run in 25206 seconds.
|
||||||
|
[2Kcalibre-web | [custom-init] No custom files found, skipping...
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] No orphaned CWA processes found
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] ========== Recovery Sequence Complete ==========
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Process recovery service finished successfully
|
||||||
|
[2Kcalibre-web | [cwa-auto-library]: No existing library found. Creating new library...
|
||||||
|
[2Kcalibre-web | [cwa-auto-library] Updating dirs.json with new library location...
|
||||||
|
[2Kcalibre-web | [cwa-auto-library]: Updating Settings Database with library location...
|
||||||
|
[2Kcalibre-web | [cwa-auto-library] Library location successfully set to: /calibre-library
|
||||||
|
[2Kcalibre-web | [cwa-auto-library] Service completed successfully! Ending service...
|
||||||
|
[2Kcalibre-web | xdg-desktop-menu: No writable system menu directory found.
|
||||||
|
[2Kcalibre-web | Creating symlinks...
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-device to /usr/bin/ebook-device
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-meta to /usr/bin/ebook-meta
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-convert to /usr/bin/ebook-convert
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-polish to /usr/bin/ebook-polish
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/markdown-calibre to /usr/bin/markdown-calibre
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/web2disk to /usr/bin/web2disk
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre-server to /usr/bin/calibre-server
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/lrf2lrs to /usr/bin/lrf2lrs
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/lrs2lrf to /usr/bin/lrs2lrf
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre-debug to /usr/bin/calibre-debug
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibredb to /usr/bin/calibredb
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre-parallel to /usr/bin/calibre-parallel
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre-customize to /usr/bin/calibre-customize
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/fetch-ebook-metadata to /usr/bin/fetch-ebook-metadata
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre-smtp to /usr/bin/calibre-smtp
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre to /usr/bin/calibre
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/lrfviewer to /usr/bin/lrfviewer
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-viewer to /usr/bin/ebook-viewer
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-edit to /usr/bin/ebook-edit
|
||||||
|
[2Kcalibre-web | Setting up command-line completion...
|
||||||
|
[2Kcalibre-web | Installing zsh completion to: /usr/share/zsh/vendor-completions/_calibre
|
||||||
|
[2Kcalibre-web | Failed to find directory to install bash completions, using default.
|
||||||
|
[2Kcalibre-web | Installing bash completion to: /usr/share/bash-completion/completions/
|
||||||
|
[2Kcalibre-web | Setting up desktop integration...
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | ____________________ WARNING ____________________
|
||||||
|
[2Kcalibre-web | Setting up desktop integration failed with error:
|
||||||
|
[2Kcalibre-web | __________________________________________________
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | Traceback (most recent call last):
|
||||||
|
[2Kcalibre-web | File "calibre/linux.py", line 858, in setup_desktop_integration
|
||||||
|
[2Kcalibre-web | File "calibre/linux.py", line 880, in do_setup_desktop_integration
|
||||||
|
[2Kcalibre-web | File "calibre/linux.py", line 960, in install_xdg_junk
|
||||||
|
[2Kcalibre-web | File "subprocess.py", line 419, in check_call
|
||||||
|
[2Kcalibre-web | subprocess.CalledProcessError: Command 'xdg-desktop-menu install --noupdate ./calibre-gui.desktop' returned non-zero exit status 3.
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | Creating un-installer: /usr/bin/calibre-uninstall
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | There were 1 warnings
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | * Setting up desktop integration failed with error:
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Calibre setup completed successfully!
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Installation verified: calibredb (calibre 9.1)
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Service completed successfully, exiting...
|
||||||
|
[2Kcalibre-web | [2026-09-30 16:58:58,769] INFO {cps:92} ProxyFix configured to trust 1 proxy(ies) for X-Forwarded-* headers
|
||||||
|
[2Kcalibre-web | [2026-09-30 16:58:59,017] INFO {cps.ub:1066} Migrating system magic shelves...
|
||||||
|
[2Kcalibre-web | [cwa-db]: No existing CWA settings detected, applying default CWA settings...
|
||||||
|
[2Kcalibre-web | [cwa-db] CWA Default Settings successfully applied!
|
||||||
|
[2Kcalibre-web | [2026-09-30 16:58:59,131] INFO {cps:140} SESSION_COOKIE_SECURE set to False (Standard/LDAP login)
|
||||||
|
[2Kcalibre-web | [2026-09-30 16:58:59,198] INFO {cps:197} Starting Calibre Web...
|
||||||
|
[2Kcalibre-web | [2026-09-30 16:59:00,002] INFO {cps.ub:1329} github Blueprint Created
|
||||||
|
[2Kcalibre-web | [2026-09-30 16:59:00,006] INFO {cps.ub:1329} google Blueprint Created
|
||||||
|
[2Kcalibre-web | [2026-09-30 16:59:00,018] INFO {cps:217} OAuth blueprints initialized successfully
|
||||||
|
[2Kcalibre-web | [2026-09-30 16:59:00,056] WARN {py.warnings:110} /lsiopy/lib/python3.13/site-packages/flask_limiter/extension.py:324: UserWarning: Using the in-memory storage for tracking rate limits as no storage was explicitly specified. This is not recommended for production use. See: https://flask-limiter.readthedocs.io#configuring-a-storage-backend for documentation about configuring the storage backend.
|
||||||
|
[2Kcalibre-web | warnings.warn(
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | [2026-09-30 16:59:00,339] INFO {apscheduler.scheduler:214} Scheduler started
|
||||||
|
[2Kcalibre-web | [2026-09-30 16:59:00,340] INFO {apscheduler.scheduler:1090} Added job "delete temp" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 16:59:00,340] INFO {apscheduler.scheduler:1090} Added job "delete superfluous book covers" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 16:59:00,340] INFO {apscheduler.scheduler:1090} Added job "generate book covers" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 16:59:00,852] INFO {apscheduler.scheduler:1090} Added job "end scheduled task" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 16:59:00,857] INFO {apscheduler.scheduler:1090} Added job "clean archived book references" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 16:59:00,858] INFO {cps.tasks.thumbnail_migration:87} Thumbnail migration: No old subdirectories found, skipping migration
|
||||||
|
[2Kcalibre-web | [2026-09-30 16:59:00,875] INFO {apscheduler.scheduler:1090} Added job "immediately delete temp" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 16:59:00,876] INFO {apscheduler.executors.default:129} Running job "immediately delete temp (trigger: date[2026-09-30 16:59:00 CEST], next run at: 2026-09-30 16:59:00 CEST)" (scheduled at 2026-09-30 16:59:00.875258+02:00)
|
||||||
|
[2Kcalibre-web | [2026-09-30 16:59:00,876] INFO {apscheduler.scheduler:728} Removed job fcaaf7105ea042ef86c5ceb77ab61bf3
|
||||||
|
[2Kcalibre-web | [2026-09-30 16:59:00,942] INFO {apscheduler.executors.default:156} Job "immediately delete temp (trigger: date[2026-09-30 16:59:00 CEST], next run at: 2026-09-30 16:59:00 CEST)" executed successfully
|
||||||
|
[2Kcalibre-web | [2026-09-30 16:59:01,723] INFO {cps.remotelogin:32} Magic Link QRCode is enabled
|
||||||
|
[2Kcalibre-web | [2026-09-30 16:59:01,887] INFO {cps.server:207} Starting Gevent server on [::]:8083
|
||||||
|
[2Kcalibre-web | Connection to localhost (::1) 8083 port [tcp/*] succeeded!
|
||||||
|
[2Kcalibre-web | ========== STARTING CWA-INGEST SERVICE ==========
|
||||||
|
[2Kcalibre-web | [cwa-checksum-backfill] Waiting for CWA service to be ready...
|
||||||
|
[2Kcalibre-web | ========== STARTING METADATA CHANGE DETECTOR ===========
|
||||||
|
[2Kcalibre-web | [metadata-change-detector] Watching folder: /app/calibre-web-automated/metadata_change_logs
|
||||||
|
[2Kcalibre-web | [cwa-ingest-service] Watching folder: /cwa-book-ingest
|
||||||
|
[2Kcalibre-web | Setting up watches.
|
||||||
|
[2Kcalibre-web | Watches established.
|
||||||
|
[2Kcalibre-web | Setting up watches. Beware: since -r was given, this may take a while!
|
||||||
|
[2Kcalibre-web | Watches established.
|
||||||
|
[2Kcalibre-web | [2026-09-30 16:59:19,079] WARN {cps.usermanagement:137} OPDS Login failed for user "admin" IP-address: ::ffff:172.18.0.1
|
||||||
|
[2Kcalibre-web | [2026-09-30 16:59:19,319] WARN {cps.usermanagement:137} OPDS Login failed for user "admin" IP-address: ::ffff:172.18.0.1
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
[14:58:47] scratch drive folders cleared before FROM (R-656): ['/srv/felhom-gate/import/calibre']
|
||||||
|
[14:58:47] MV-calibre-web: deploying calibre-web at FROM {'calibre-web': 'crocodilestick/calibre-web-automated:v4.0.6'}
|
||||||
|
[14:59:18] FROM settled=True in 30.8s :: {"calibre-web": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}}
|
||||||
|
[14:59:18] fixture: the BOX walk's own (CalibreWeb), through upgrade_boxport
|
||||||
|
[14:59:19] calibre-web: the generated admin password does not log in (opds http=401) — running the template's own after_install command (the app's CLI, as the product does after an install)
|
||||||
|
[14:59:19] calibre-web: after_install :: sh: 1: python3: not found
|
||||||
|
[14:59:19] INCONCLUSIVE — no non-browser seed route. Nothing was planted by hand.
|
||||||
+29
@@ -0,0 +1,29 @@
|
|||||||
|
{
|
||||||
|
"harness_version": 4,
|
||||||
|
"edge": "MV-calibre-web",
|
||||||
|
"app": "calibre-web",
|
||||||
|
"note": "night 2026-09-23 within-a-major move: calibre-web=crocodilestick/calibre-web-automated:v4.0.8",
|
||||||
|
"from": {
|
||||||
|
"calibre-web": "crocodilestick/calibre-web-automated:v4.0.6"
|
||||||
|
},
|
||||||
|
"to": {
|
||||||
|
"calibre-web": "crocodilestick/calibre-web-automated:v4.0.8"
|
||||||
|
},
|
||||||
|
"verdict": "inconclusive",
|
||||||
|
"seed_read_before": false,
|
||||||
|
"seed_read_after": false,
|
||||||
|
"healthy_after": false,
|
||||||
|
"migration_observed": null,
|
||||||
|
"abort": "not-attempted",
|
||||||
|
"abort_detail": "no non-browser seed route \u2014 tried: admin login after after_install -> 401",
|
||||||
|
"engine_state_after": null,
|
||||||
|
"memory": null,
|
||||||
|
"marks": [],
|
||||||
|
"duration_s": 31.8,
|
||||||
|
"measured_at": "2026-09-30T14:59:19Z",
|
||||||
|
"evidence": "evidence/MV-calibre-web",
|
||||||
|
"scratch_cleared": [
|
||||||
|
"/srv/felhom-gate/import/calibre"
|
||||||
|
],
|
||||||
|
"total_s": 31.8
|
||||||
|
}
|
||||||
+194
@@ -0,0 +1,194 @@
|
|||||||
|
[2Kcalibre-web | [migrations] started
|
||||||
|
[2Kcalibre-web | [migrations] no migrations found
|
||||||
|
[2Kcalibre-web | ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | ,gggg, ,ggg, gg ,gg
|
||||||
|
[2Kcalibre-web | ,88"""Y8b, ,dPYb, ,dPYb, dP""Y8a 88 ,8P ,dPYb,
|
||||||
|
[2Kcalibre-web | d8" `Y8 IP'`Yb IP'`Yb Yb, `88 88 d8' IP'`Yb
|
||||||
|
[2Kcalibre-web | d8' 8b d8 I8 8I gg I8 8I `" 88 88 88 I8 8I
|
||||||
|
[2Kcalibre-web | ,8I "Y88P' I8 8' "" I8 8' 88 88 88 I8 8'
|
||||||
|
[2Kcalibre-web | I8' ,gggg,gg I8 dP gg I8 dP ,gggggg, ,ggg, aaaaaaaa 88 88 88 ,ggg, I8 dP
|
||||||
|
[2Kcalibre-web | d8 dP" "Y8I I8dP 88 I8dP 88gg dP""""8I i8" "8i """""""" 88 88 88 i8" "8i I8dP 88gg
|
||||||
|
[2Kcalibre-web | Y8, i8' ,8I I8P 88 I8P 8I ,8' 8I I8, ,8I Y8 ,88, 8P I8, ,8I I8P 8I
|
||||||
|
[2Kcalibre-web | `Yba,,_____, ,d8, ,d8b,,d8b,_ _,88,_,d8b, ,8I ,dP Y8, `YbadP' Yb,,d8""8b,,dP `YbadP' ,d8b, ,8I
|
||||||
|
[2Kcalibre-web | `"Y8888888 P"Y8888P"`Y88P'"Y888P""Y88P'"Y88P"' 8P `Y8888P"Y888 "88" "88" 888P"Y8888P'"Y88P"'
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | █████╗ ██╗ ██╗████████╗ ██████╗ ███╗ ███╗ █████╗ ████████╗███████╗██████╗
|
||||||
|
[2Kcalibre-web | ██╔══██╗██║ ██║╚══██╔══╝██╔═══██╗████╗ ████║██╔══██╗╚══██╔══╝██╔════╝██╔══██╗
|
||||||
|
[2Kcalibre-web | ███████║██║ ██║ ██║ ██║ ██║██╔████╔██║███████║ ██║ █████╗ ██║ ██║
|
||||||
|
[2Kcalibre-web | ██╔══██║██║ ██║ ██║ ██║ ██║██║╚██╔╝██║██╔══██║ ██║ ██╔══╝ ██║ ██║
|
||||||
|
[2Kcalibre-web | ██║ ██║╚██████╔╝ ██║ ╚██████╔╝██║ ╚═╝ ██║██║ ██║ ██║ ███████╗██████╔╝
|
||||||
|
[2Kcalibre-web | ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚══════╝╚═════╝
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | ~~~ Based on docker-calibre-web from linuxserver.io & Calibre-Web by janeczku ~~~
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | To support the app dev(s) visit:
|
||||||
|
[2Kcalibre-web | Calibre-Web Automated: https://ko-fi.com/crocodilestick/tip
|
||||||
|
[2Kcalibre-web | To support LSIO projects visit:
|
||||||
|
[2Kcalibre-web | https://www.linuxserver.io/donate/
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | ───────────────────────────────────────
|
||||||
|
[2Kcalibre-web | GID/UID
|
||||||
|
[2Kcalibre-web | ───────────────────────────────────────
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | User UID: 1000
|
||||||
|
[2Kcalibre-web | User GID: 1000
|
||||||
|
[2Kcalibre-web | ───────────────────────────────────────
|
||||||
|
[2Kcalibre-web | [cwa-init] Starting CWA initialization process...
|
||||||
|
[2Kcalibre-web | [cwa-init] Verifying essential directories...
|
||||||
|
[2Kcalibre-web | [cwa-init] Directory /app/calibre-web-automated verified
|
||||||
|
[2Kcalibre-web | [cwa-init] Directory /config verified
|
||||||
|
[2Kcalibre-web | [cwa-init] Directory /calibre-library verified
|
||||||
|
[2Kcalibre-web | [cwa-init] Directory /app/calibre verified
|
||||||
|
[2Kcalibre-web | [cwa-init] Verifying essential files...
|
||||||
|
[2Kcalibre-web | [cwa-init] File /app/CWA_RELEASE verified
|
||||||
|
[2Kcalibre-web | [cwa-init] File /CALIBRE_RELEASE verified
|
||||||
|
[2Kcalibre-web | [cwa-init] Environment verification complete
|
||||||
|
[2Kcalibre-web | [cwa-init] Setting up ImageMagick policy...
|
||||||
|
[2Kcalibre-web | First time run, creating app.db...
|
||||||
|
[2Kcalibre-web | Successfully set kepubify paths in '/config/app.db'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Checking for leftover lock files from previous instance...
|
||||||
|
[2Kcalibre-web | [cwa-init] No leftover lock files to remove. Ending service...
|
||||||
|
[2Kcalibre-web | [cwa-init] Checking for an existing app.db in /config...
|
||||||
|
[2Kcalibre-web | [cwa-init] Existing app.db found!
|
||||||
|
[2Kcalibre-web | [cwa-init] Setting binary paths in '/config/app.db' to the correct ones...
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set binary paths in '/config/app.db'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Enforcing dark theme in app.db (one-time migration)...
|
||||||
|
[2Kcalibre-web | [cwa-init] Dark theme enforcement completed.
|
||||||
|
[2Kcalibre-web | [cwa-init] CWA-init complete! Service exiting now...
|
||||||
|
[2Kcalibre-web | [cwa-init] No existing user_profiles.json found! Creating blank one...
|
||||||
|
[2Kcalibre-web | [cwa-init] Preparing to set ownership of everything in /config, /app/calibre-web-automated, /calibre-library, /cwa-book-ingest, /calibre-library, /config/.cwa_conversion_tmp to abc:abc...
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/config'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/app/calibre-web-automated'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/calibre-library'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/cwa-book-ingest'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/calibre-library'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/config/.cwa_conversion_tmp'!
|
||||||
|
[2Kcalibre-web | [cwa-init][qt6] Starting Qt6 compatibility check...
|
||||||
|
[2Kcalibre-web | [cwa-init][qt6] Host kernel 7.0.2-6-pve >= 6.0: leaving Qt6 libs intact for full functionality. (PDF/WebEngine features enabled)
|
||||||
|
[2Kcalibre-web | [cwa-init][qt6] Qt6 compatibility check completed.
|
||||||
|
[2Kcalibre-web | [cwa-init] Resolving CWA versions (installed + latest stable) ...
|
||||||
|
[2Kcalibre-web | [cwa-init] Installed version: v4.0.6
|
||||||
|
[2Kcalibre-web | [cwa-init] Attempting to fetch latest stable version from GitHub...
|
||||||
|
[2Kcalibre-web | [cwa-init] Using jq for JSON parsing...
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully fetched stable version via jq: v4.0.8
|
||||||
|
[2Kcalibre-web | [cwa-init] Valid stable version retrieved: v4.0.8
|
||||||
|
[2Kcalibre-web | [cwa-init] Stable version persisted to /app/CWA_STABLE_RELEASE
|
||||||
|
[2Kcalibre-web | [cwa-init] Versions resolved: INSTALLED=v4.0.6, STABLE=v4.0.8
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Starting process recovery and cleanup...
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Starting Calibre binaries setup...
|
||||||
|
[2Kcalibre-web | [cwa-auto-zipper] Starting CWA-Auto-Zipper service...
|
||||||
|
[2Kcalibre-web | [cwa-auto-zipper] Matching internal localtime & timezone with the one provided...
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Checking if Calibre is already installed...
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] ========== Starting Recovery Sequence ==========
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Cleaning up stale temporary files...
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Calibre version check timed out or failed, assuming not installed
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] USER NOTE: 'Ignore calibredb: command not found' above, nothing is wrong, this just indicates to CWA that Calibre still needs to be installed
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Installing Calibre version 9.1.0...
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] This may take several minutes, please wait...
|
||||||
|
[2Kcalibre-web | [cwa-auto-zipper] Zoneinfo for Europe/Budapest found. Setting /etc/localtime and /etc/timezone to match...
|
||||||
|
[2Kcalibre-web | [cwa-auto-zipper] Timezone & Localtime successfully set to Europe/Budapest. Initiating Auto-Zipper ...
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Cleaned up 6 stale temporary file(s)
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Checking processing status...
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] No processing status file found, creating with idle status
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Checking for orphaned CWA processes...
|
||||||
|
[2Kcalibre-web | [cwa-auto-zipper] Next run in 24188 seconds.
|
||||||
|
[2Kcalibre-web | [custom-init] No custom files found, skipping...
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] No orphaned CWA processes found
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] ========== Recovery Sequence Complete ==========
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Process recovery service finished successfully
|
||||||
|
[2Kcalibre-web | [cwa-auto-library]: No existing library found. Creating new library...
|
||||||
|
[2Kcalibre-web | [cwa-auto-library] Updating dirs.json with new library location...
|
||||||
|
[2Kcalibre-web | [cwa-auto-library]: Updating Settings Database with library location...
|
||||||
|
[2Kcalibre-web | [cwa-auto-library] Library location successfully set to: /calibre-library
|
||||||
|
[2Kcalibre-web | [cwa-auto-library] Service completed successfully! Ending service...
|
||||||
|
[2Kcalibre-web | xdg-desktop-menu: No writable system menu directory found.
|
||||||
|
[2Kcalibre-web | Creating symlinks...
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-device to /usr/bin/ebook-device
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-meta to /usr/bin/ebook-meta
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-convert to /usr/bin/ebook-convert
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-polish to /usr/bin/ebook-polish
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/markdown-calibre to /usr/bin/markdown-calibre
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/web2disk to /usr/bin/web2disk
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre-server to /usr/bin/calibre-server
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/lrf2lrs to /usr/bin/lrf2lrs
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/lrs2lrf to /usr/bin/lrs2lrf
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre-debug to /usr/bin/calibre-debug
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibredb to /usr/bin/calibredb
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre-parallel to /usr/bin/calibre-parallel
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre-customize to /usr/bin/calibre-customize
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/fetch-ebook-metadata to /usr/bin/fetch-ebook-metadata
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre-smtp to /usr/bin/calibre-smtp
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre to /usr/bin/calibre
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/lrfviewer to /usr/bin/lrfviewer
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-viewer to /usr/bin/ebook-viewer
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-edit to /usr/bin/ebook-edit
|
||||||
|
[2Kcalibre-web | Setting up command-line completion...
|
||||||
|
[2Kcalibre-web | Installing zsh completion to: /usr/share/zsh/vendor-completions/_calibre
|
||||||
|
[2Kcalibre-web | Failed to find directory to install bash completions, using default.
|
||||||
|
[2Kcalibre-web | Installing bash completion to: /usr/share/bash-completion/completions/
|
||||||
|
[2Kcalibre-web | Setting up desktop integration...
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | ____________________ WARNING ____________________
|
||||||
|
[2Kcalibre-web | Setting up desktop integration failed with error:
|
||||||
|
[2Kcalibre-web | __________________________________________________
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | Traceback (most recent call last):
|
||||||
|
[2Kcalibre-web | File "calibre/linux.py", line 858, in setup_desktop_integration
|
||||||
|
[2Kcalibre-web | File "calibre/linux.py", line 880, in do_setup_desktop_integration
|
||||||
|
[2Kcalibre-web | File "calibre/linux.py", line 960, in install_xdg_junk
|
||||||
|
[2Kcalibre-web | File "subprocess.py", line 419, in check_call
|
||||||
|
[2Kcalibre-web | subprocess.CalledProcessError: Command 'xdg-desktop-menu install --noupdate ./calibre-gui.desktop' returned non-zero exit status 3.
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | Creating un-installer: /usr/bin/calibre-uninstall
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | There were 1 warnings
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | * Setting up desktop integration failed with error:
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Calibre setup completed successfully!
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Installation verified: calibredb (calibre 9.1)
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Service completed successfully, exiting...
|
||||||
|
[2Kcalibre-web | [2026-09-30 17:15:57,652] INFO {cps:92} ProxyFix configured to trust 1 proxy(ies) for X-Forwarded-* headers
|
||||||
|
[2Kcalibre-web | [2026-09-30 17:15:57,889] INFO {cps.ub:1066} Migrating system magic shelves...
|
||||||
|
[2Kcalibre-web | [cwa-db]: No existing CWA settings detected, applying default CWA settings...
|
||||||
|
[2Kcalibre-web | [cwa-db] CWA Default Settings successfully applied!
|
||||||
|
[2Kcalibre-web | [2026-09-30 17:15:58,001] INFO {cps:140} SESSION_COOKIE_SECURE set to False (Standard/LDAP login)
|
||||||
|
[2Kcalibre-web | [2026-09-30 17:15:58,067] INFO {cps:197} Starting Calibre Web...
|
||||||
|
[2Kcalibre-web | [2026-09-30 17:15:58,900] INFO {cps.ub:1329} github Blueprint Created
|
||||||
|
[2Kcalibre-web | [2026-09-30 17:15:58,904] INFO {cps.ub:1329} google Blueprint Created
|
||||||
|
[2Kcalibre-web | [2026-09-30 17:15:58,915] INFO {cps:217} OAuth blueprints initialized successfully
|
||||||
|
[2Kcalibre-web | [2026-09-30 17:15:58,946] WARN {py.warnings:110} /lsiopy/lib/python3.13/site-packages/flask_limiter/extension.py:324: UserWarning: Using the in-memory storage for tracking rate limits as no storage was explicitly specified. This is not recommended for production use. See: https://flask-limiter.readthedocs.io#configuring-a-storage-backend for documentation about configuring the storage backend.
|
||||||
|
[2Kcalibre-web | warnings.warn(
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | [2026-09-30 17:15:59,211] INFO {apscheduler.scheduler:214} Scheduler started
|
||||||
|
[2Kcalibre-web | [2026-09-30 17:15:59,212] INFO {apscheduler.scheduler:1090} Added job "delete temp" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 17:15:59,212] INFO {apscheduler.scheduler:1090} Added job "delete superfluous book covers" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 17:15:59,212] INFO {apscheduler.scheduler:1090} Added job "generate book covers" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 17:15:59,736] INFO {apscheduler.scheduler:1090} Added job "end scheduled task" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 17:15:59,741] INFO {apscheduler.scheduler:1090} Added job "clean archived book references" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 17:15:59,742] INFO {cps.tasks.thumbnail_migration:87} Thumbnail migration: No old subdirectories found, skipping migration
|
||||||
|
[2Kcalibre-web | [2026-09-30 17:15:59,760] INFO {apscheduler.scheduler:1090} Added job "immediately delete temp" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 17:15:59,778] INFO {apscheduler.executors.default:129} Running job "immediately delete temp (trigger: date[2026-09-30 17:15:59 CEST], next run at: 2026-09-30 17:15:59 CEST)" (scheduled at 2026-09-30 17:15:59.759992+02:00)
|
||||||
|
[2Kcalibre-web | [2026-09-30 17:15:59,778] INFO {apscheduler.scheduler:728} Removed job 38cabeea21b74d5cae806e8ceb6478d4
|
||||||
|
[2Kcalibre-web | [2026-09-30 17:15:59,779] INFO {apscheduler.executors.default:156} Job "immediately delete temp (trigger: date[2026-09-30 17:15:59 CEST], next run at: 2026-09-30 17:15:59 CEST)" executed successfully
|
||||||
|
[2Kcalibre-web | [2026-09-30 17:16:00,621] INFO {cps.remotelogin:32} Magic Link QRCode is enabled
|
||||||
|
[2Kcalibre-web | [2026-09-30 17:16:00,803] INFO {cps.server:207} Starting Gevent server on [::]:8083
|
||||||
|
[2Kcalibre-web | Connection to localhost (::1) 8083 port [tcp/*] succeeded!
|
||||||
|
[2Kcalibre-web | ========== STARTING METADATA CHANGE DETECTOR ===========
|
||||||
|
[2Kcalibre-web | ========== STARTING CWA-INGEST SERVICE ==========
|
||||||
|
[2Kcalibre-web | [cwa-checksum-backfill] Waiting for CWA service to be ready...
|
||||||
|
[2Kcalibre-web | [metadata-change-detector] Watching folder: /app/calibre-web-automated/metadata_change_logs
|
||||||
|
[2Kcalibre-web | [cwa-ingest-service] Watching folder: /cwa-book-ingest
|
||||||
|
[2Kcalibre-web | Setting up watches.
|
||||||
|
[2Kcalibre-web | Watches established.
|
||||||
|
[2Kcalibre-web | Setting up watches. Beware: since -r was given, this may take a while!
|
||||||
|
[2Kcalibre-web | Watches established.
|
||||||
|
[2Kcalibre-web | [2026-09-30 17:16:17,718] WARN {cps.usermanagement:137} OPDS Login failed for user "admin" IP-address: ::ffff:172.18.0.1
|
||||||
|
[2Kcalibre-web | [2026-09-30 17:16:20,259] WARN {cps.usermanagement:137} OPDS Login failed for user "admin" IP-address: ::ffff:172.18.0.1
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
[15:15:46] scratch drive folders cleared before FROM (R-656): ['/srv/felhom-gate/hdd/userdata/media/books', '/srv/felhom-gate/import/calibre']
|
||||||
|
[15:15:46] MV-calibre-web: deploying calibre-web at FROM {'calibre-web': 'crocodilestick/calibre-web-automated:v4.0.6'}
|
||||||
|
[15:16:17] FROM settled=True in 30.8s :: {"calibre-web": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}}
|
||||||
|
[15:16:17] fixture: the BOX walk's own (CalibreWeb), through upgrade_boxport
|
||||||
|
[15:16:17] calibre-web: the generated admin password does not log in (opds http=401) — running the template's own after_install command (the app's CLI, as the product does after an install)
|
||||||
|
[15:16:20] calibre-web: after_install :: lse (Standard/LDAP login) Password doesn't comply with password validation rules
|
||||||
|
[15:16:20] INCONCLUSIVE — no non-browser seed route. Nothing was planted by hand.
|
||||||
+30
@@ -0,0 +1,30 @@
|
|||||||
|
{
|
||||||
|
"harness_version": 4,
|
||||||
|
"edge": "MV-calibre-web",
|
||||||
|
"app": "calibre-web",
|
||||||
|
"note": "night 2026-09-23 within-a-major move: calibre-web=crocodilestick/calibre-web-automated:v4.0.8",
|
||||||
|
"from": {
|
||||||
|
"calibre-web": "crocodilestick/calibre-web-automated:v4.0.6"
|
||||||
|
},
|
||||||
|
"to": {
|
||||||
|
"calibre-web": "crocodilestick/calibre-web-automated:v4.0.8"
|
||||||
|
},
|
||||||
|
"verdict": "inconclusive",
|
||||||
|
"seed_read_before": false,
|
||||||
|
"seed_read_after": false,
|
||||||
|
"healthy_after": false,
|
||||||
|
"migration_observed": null,
|
||||||
|
"abort": "not-attempted",
|
||||||
|
"abort_detail": "no non-browser seed route \u2014 tried: admin login after after_install -> 401",
|
||||||
|
"engine_state_after": null,
|
||||||
|
"memory": null,
|
||||||
|
"marks": [],
|
||||||
|
"duration_s": 34.0,
|
||||||
|
"measured_at": "2026-09-30T15:16:20Z",
|
||||||
|
"evidence": "evidence/MV-calibre-web",
|
||||||
|
"scratch_cleared": [
|
||||||
|
"/srv/felhom-gate/hdd/userdata/media/books",
|
||||||
|
"/srv/felhom-gate/import/calibre"
|
||||||
|
],
|
||||||
|
"total_s": 34.0
|
||||||
|
}
|
||||||
+8
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"calibre-web": {
|
||||||
|
"status": "running",
|
||||||
|
"health": "healthy",
|
||||||
|
"restarts": 0,
|
||||||
|
"exit": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
+198
@@ -0,0 +1,198 @@
|
|||||||
|
[2Kcalibre-web | [migrations] started
|
||||||
|
[2Kcalibre-web | [migrations] no migrations found
|
||||||
|
[2Kcalibre-web | ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | ,gggg, ,ggg, gg ,gg
|
||||||
|
[2Kcalibre-web | ,88"""Y8b, ,dPYb, ,dPYb, dP""Y8a 88 ,8P ,dPYb,
|
||||||
|
[2Kcalibre-web | d8" `Y8 IP'`Yb IP'`Yb Yb, `88 88 d8' IP'`Yb
|
||||||
|
[2Kcalibre-web | d8' 8b d8 I8 8I gg I8 8I `" 88 88 88 I8 8I
|
||||||
|
[2Kcalibre-web | ,8I "Y88P' I8 8' "" I8 8' 88 88 88 I8 8'
|
||||||
|
[2Kcalibre-web | I8' ,gggg,gg I8 dP gg I8 dP ,gggggg, ,ggg, aaaaaaaa 88 88 88 ,ggg, I8 dP
|
||||||
|
[2Kcalibre-web | d8 dP" "Y8I I8dP 88 I8dP 88gg dP""""8I i8" "8i """""""" 88 88 88 i8" "8i I8dP 88gg
|
||||||
|
[2Kcalibre-web | Y8, i8' ,8I I8P 88 I8P 8I ,8' 8I I8, ,8I Y8 ,88, 8P I8, ,8I I8P 8I
|
||||||
|
[2Kcalibre-web | `Yba,,_____, ,d8, ,d8b,,d8b,_ _,88,_,d8b, ,8I ,dP Y8, `YbadP' Yb,,d8""8b,,dP `YbadP' ,d8b, ,8I
|
||||||
|
[2Kcalibre-web | `"Y8888888 P"Y8888P"`Y88P'"Y888P""Y88P'"Y88P"' 8P `Y8888P"Y888 "88" "88" 888P"Y8888P'"Y88P"'
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | █████╗ ██╗ ██╗████████╗ ██████╗ ███╗ ███╗ █████╗ ████████╗███████╗██████╗
|
||||||
|
[2Kcalibre-web | ██╔══██╗██║ ██║╚══██╔══╝██╔═══██╗████╗ ████║██╔══██╗╚══██╔══╝██╔════╝██╔══██╗
|
||||||
|
[2Kcalibre-web | ███████║██║ ██║ ██║ ██║ ██║██╔████╔██║███████║ ██║ █████╗ ██║ ██║
|
||||||
|
[2Kcalibre-web | ██╔══██║██║ ██║ ██║ ██║ ██║██║╚██╔╝██║██╔══██║ ██║ ██╔══╝ ██║ ██║
|
||||||
|
[2Kcalibre-web | ██║ ██║╚██████╔╝ ██║ ╚██████╔╝██║ ╚═╝ ██║██║ ██║ ██║ ███████╗██████╔╝
|
||||||
|
[2Kcalibre-web | ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚══════╝╚═════╝
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | ~~~ Based on docker-calibre-web from linuxserver.io & Calibre-Web by janeczku ~~~
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | To support the app dev(s) visit:
|
||||||
|
[2Kcalibre-web | Calibre-Web Automated: https://ko-fi.com/crocodilestick/tip
|
||||||
|
[2Kcalibre-web | To support LSIO projects visit:
|
||||||
|
[2Kcalibre-web | https://www.linuxserver.io/donate/
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | ───────────────────────────────────────
|
||||||
|
[2Kcalibre-web | GID/UID
|
||||||
|
[2Kcalibre-web | ───────────────────────────────────────
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | User UID: 1000
|
||||||
|
[2Kcalibre-web | User GID: 1000
|
||||||
|
[2Kcalibre-web | ───────────────────────────────────────
|
||||||
|
[2Kcalibre-web | [cwa-init] Starting CWA initialization process...
|
||||||
|
[2Kcalibre-web | [cwa-init] Verifying essential directories...
|
||||||
|
[2Kcalibre-web | [cwa-init] Directory /app/calibre-web-automated verified
|
||||||
|
[2Kcalibre-web | [cwa-init] Directory /config verified
|
||||||
|
[2Kcalibre-web | [cwa-init] Directory /calibre-library verified
|
||||||
|
[2Kcalibre-web | [cwa-init] Directory /app/calibre verified
|
||||||
|
[2Kcalibre-web | [cwa-init] Verifying essential files...
|
||||||
|
[2Kcalibre-web | [cwa-init] File /app/CWA_RELEASE verified
|
||||||
|
[2Kcalibre-web | [cwa-init] File /CALIBRE_RELEASE verified
|
||||||
|
[2Kcalibre-web | [cwa-init] Environment verification complete
|
||||||
|
[2Kcalibre-web | [cwa-init] Setting up ImageMagick policy...
|
||||||
|
[2Kcalibre-web | [cwa-init] Checking for leftover lock files from previous instance...
|
||||||
|
[2Kcalibre-web | [cwa-init] No leftover lock files to remove. Ending service...
|
||||||
|
[2Kcalibre-web | [cwa-init] Checking for an existing app.db in /config...
|
||||||
|
[2Kcalibre-web | [cwa-init] Existing app.db found!
|
||||||
|
[2Kcalibre-web | [cwa-init] Setting binary paths in '/config/app.db' to the correct ones...
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set binary paths in '/config/app.db'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Enforcing dark theme in app.db (one-time migration)...
|
||||||
|
[2Kcalibre-web | [cwa-init] Dark theme enforcement completed.
|
||||||
|
[2Kcalibre-web | [cwa-init] CWA-init complete! Service exiting now...
|
||||||
|
[2Kcalibre-web | [cwa-init] Existing user_profiles.json found!
|
||||||
|
[2Kcalibre-web | [cwa-init] Preparing to set ownership of everything in /config, /app/calibre-web-automated, /calibre-library, /cwa-book-ingest, /calibre-library, /config/.cwa_conversion_tmp to abc:abc...
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/config'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/app/calibre-web-automated'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/calibre-library'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/cwa-book-ingest'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/calibre-library'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/config/.cwa_conversion_tmp'!
|
||||||
|
[2Kcalibre-web | [cwa-init][qt6] Starting Qt6 compatibility check...
|
||||||
|
[2Kcalibre-web | [cwa-init][qt6] Host kernel 7.0.2-6-pve >= 6.0: leaving Qt6 libs intact for full functionality. (PDF/WebEngine features enabled)
|
||||||
|
[2Kcalibre-web | [cwa-init][qt6] Qt6 compatibility check completed.
|
||||||
|
[2Kcalibre-web | [cwa-init] Resolving CWA versions (installed + latest stable) ...
|
||||||
|
[2Kcalibre-web | [cwa-init] Installed version: v4.0.6
|
||||||
|
[2Kcalibre-web | [cwa-init] Attempting to fetch latest stable version from GitHub...
|
||||||
|
[2Kcalibre-web | [cwa-init] Using jq for JSON parsing...
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully fetched stable version via jq: v4.0.8
|
||||||
|
[2Kcalibre-web | [cwa-init] Valid stable version retrieved: v4.0.8
|
||||||
|
[2Kcalibre-web | [cwa-init] Stable version persisted to /app/CWA_STABLE_RELEASE
|
||||||
|
[2Kcalibre-web | [cwa-init] Versions resolved: INSTALLED=v4.0.6, STABLE=v4.0.8
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Starting process recovery and cleanup...
|
||||||
|
[2Kcalibre-web | [cwa-auto-zipper] Starting CWA-Auto-Zipper service...
|
||||||
|
[2Kcalibre-web | [cwa-auto-zipper] Matching internal localtime & timezone with the one provided...
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] ========== Starting Recovery Sequence ==========
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Cleaning up stale temporary files...
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Starting Calibre binaries setup...
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Checking if Calibre is already installed...
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Calibre version check timed out or failed, assuming not installed
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] USER NOTE: 'Ignore calibredb: command not found' above, nothing is wrong, this just indicates to CWA that Calibre still needs to be installed
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Installing Calibre version 9.1.0...
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] This may take several minutes, please wait...
|
||||||
|
[2Kcalibre-web | [cwa-auto-zipper] Zoneinfo for Europe/Budapest found. Setting /etc/localtime and /etc/timezone to match...
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Cleaned up 6 stale temporary file(s)
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Checking processing status...
|
||||||
|
[2Kcalibre-web | [cwa-auto-zipper] Timezone & Localtime successfully set to Europe/Budapest. Initiating Auto-Zipper ...
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Processing status is: idle
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Checking for orphaned CWA processes...
|
||||||
|
[2Kcalibre-web | [custom-init] No custom files found, skipping...
|
||||||
|
[2Kcalibre-web | [cwa-auto-zipper] Next run in 20866 seconds.
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] No orphaned CWA processes found
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] ========== Recovery Sequence Complete ==========
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Process recovery service finished successfully
|
||||||
|
[2Kcalibre-web | [cwa-auto-library]: Existing library found at /calibre-library, mounting now...
|
||||||
|
[2Kcalibre-web | [cwa-auto-library] Updating dirs.json with new library location...
|
||||||
|
[2Kcalibre-web | [cwa-auto-library]: Updating Settings Database with library location...
|
||||||
|
[2Kcalibre-web | [cwa-auto-library] Library location successfully set to: /calibre-library
|
||||||
|
[2Kcalibre-web | [cwa-auto-library] Service completed successfully! Ending service...
|
||||||
|
[2Kcalibre-web | xdg-desktop-menu: No writable system menu directory found.
|
||||||
|
[2Kcalibre-web | Creating symlinks...
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-device to /usr/bin/ebook-device
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-meta to /usr/bin/ebook-meta
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-convert to /usr/bin/ebook-convert
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-polish to /usr/bin/ebook-polish
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/markdown-calibre to /usr/bin/markdown-calibre
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/web2disk to /usr/bin/web2disk
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre-server to /usr/bin/calibre-server
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/lrf2lrs to /usr/bin/lrf2lrs
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/lrs2lrf to /usr/bin/lrs2lrf
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre-debug to /usr/bin/calibre-debug
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibredb to /usr/bin/calibredb
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre-parallel to /usr/bin/calibre-parallel
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre-customize to /usr/bin/calibre-customize
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/fetch-ebook-metadata to /usr/bin/fetch-ebook-metadata
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre-smtp to /usr/bin/calibre-smtp
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre to /usr/bin/calibre
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/lrfviewer to /usr/bin/lrfviewer
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-viewer to /usr/bin/ebook-viewer
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-edit to /usr/bin/ebook-edit
|
||||||
|
[2Kcalibre-web | Setting up command-line completion...
|
||||||
|
[2Kcalibre-web | Installing zsh completion to: /usr/share/zsh/vendor-completions/_calibre
|
||||||
|
[2Kcalibre-web | Failed to find directory to install bash completions, using default.
|
||||||
|
[2Kcalibre-web | Installing bash completion to: /usr/share/bash-completion/completions/
|
||||||
|
[2Kcalibre-web | Setting up desktop integration...
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | ____________________ WARNING ____________________
|
||||||
|
[2Kcalibre-web | Setting up desktop integration failed with error:
|
||||||
|
[2Kcalibre-web | __________________________________________________
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | Traceback (most recent call last):
|
||||||
|
[2Kcalibre-web | File "calibre/linux.py", line 858, in setup_desktop_integration
|
||||||
|
[2Kcalibre-web | File "calibre/linux.py", line 880, in do_setup_desktop_integration
|
||||||
|
[2Kcalibre-web | File "calibre/linux.py", line 960, in install_xdg_junk
|
||||||
|
[2Kcalibre-web | File "subprocess.py", line 419, in check_call
|
||||||
|
[2Kcalibre-web | subprocess.CalledProcessError: Command 'xdg-desktop-menu install --noupdate ./calibre-gui.desktop' returned non-zero exit status 3.
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | Creating un-installer: /usr/bin/calibre-uninstall
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | There were 1 warnings
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | * Setting up desktop integration failed with error:
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Calibre setup completed successfully!
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Installation verified: calibredb (calibre 9.1)
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Service completed successfully, exiting...
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:11:19,461] INFO {cps:92} ProxyFix configured to trust 1 proxy(ies) for X-Forwarded-* headers
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:11:19,540] INFO {cps.ub:1066} Migrating system magic shelves...
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:11:19,560] INFO {cps.ub:1119} System shelf migration complete: 1 old shelves removed, 0 new shelves created
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:11:19,651] INFO {cps:140} SESSION_COOKIE_SECURE set to False (Standard/LDAP login)
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:11:19,695] INFO {cps:197} Starting Calibre Web...
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:11:20,551] INFO {cps:217} OAuth blueprints initialized successfully
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:11:20,576] WARN {py.warnings:110} /lsiopy/lib/python3.13/site-packages/flask_limiter/extension.py:324: UserWarning: Using the in-memory storage for tracking rate limits as no storage was explicitly specified. This is not recommended for production use. See: https://flask-limiter.readthedocs.io#configuring-a-storage-backend for documentation about configuring the storage backend.
|
||||||
|
[2Kcalibre-web | warnings.warn(
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:11:20,832] INFO {apscheduler.scheduler:214} Scheduler started
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:11:20,833] INFO {apscheduler.scheduler:1090} Added job "delete temp" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:11:20,833] INFO {apscheduler.scheduler:1090} Added job "delete superfluous book covers" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:11:20,833] INFO {apscheduler.scheduler:1090} Added job "generate book covers" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:11:21,463] INFO {apscheduler.scheduler:1090} Added job "end scheduled task" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:11:21,468] INFO {apscheduler.scheduler:1090} Added job "clean archived book references" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:11:21,469] INFO {cps.tasks.thumbnail_migration:87} Thumbnail migration: No old subdirectories found, skipping migration
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:11:21,490] INFO {apscheduler.scheduler:1090} Added job "immediately delete temp" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:11:21,490] INFO {apscheduler.executors.default:129} Running job "immediately delete temp (trigger: date[2026-09-30 18:11:21 CEST], next run at: 2026-09-30 18:11:21 CEST)" (scheduled at 2026-09-30 18:11:21.489899+02:00)
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:11:21,491] INFO {apscheduler.scheduler:728} Removed job af2d019d2e1a406ab07f108ebaba83cd
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:11:21,576] INFO {apscheduler.executors.default:156} Job "immediately delete temp (trigger: date[2026-09-30 18:11:21 CEST], next run at: 2026-09-30 18:11:21 CEST)" executed successfully
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:11:22,456] INFO {cps.remotelogin:32} Magic Link QRCode is enabled
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:11:22,639] INFO {cps.server:207} Starting Gevent server on [::]:8083
|
||||||
|
[2Kcalibre-web | Connection to localhost (::1) 8083 port [tcp/*] succeeded!
|
||||||
|
[2Kcalibre-web | ========== STARTING METADATA CHANGE DETECTOR ===========
|
||||||
|
[2Kcalibre-web | [cwa-checksum-backfill] Waiting for CWA service to be ready...
|
||||||
|
[2Kcalibre-web | ========== STARTING CWA-INGEST SERVICE ==========
|
||||||
|
[2Kcalibre-web | [metadata-change-detector] Watching folder: /app/calibre-web-automated/metadata_change_logs
|
||||||
|
[2Kcalibre-web | [cwa-ingest-service] Watching folder: /cwa-book-ingest
|
||||||
|
[2Kcalibre-web | Setting up watches.
|
||||||
|
[2Kcalibre-web | Watches established.
|
||||||
|
[2Kcalibre-web | Setting up watches. Beware: since -r was given, this may take a while!
|
||||||
|
[2Kcalibre-web | Watches established.
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:11:41,223] WARN {cps.usermanagement:137} OPDS Login failed for user "admin" IP-address: ::ffff:172.18.0.1
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:11:42,336] INFO {cps.helper:1265} Renamed exported file to match expected name: upg72a41d2a7698 - Drill Author.epub
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:11:42,337] ERROR {cps.progress_syncing.checksums.manager:128} Failed to store checksum for book 2: (sqlite3.OperationalError) no such table: book_format_checksums
|
||||||
|
[2Kcalibre-web | [SQL:
|
||||||
|
[2Kcalibre-web | SELECT id FROM book_format_checksums
|
||||||
|
[2Kcalibre-web | WHERE book = ?
|
||||||
|
[2Kcalibre-web | AND format = ?
|
||||||
|
[2Kcalibre-web | AND checksum = ?
|
||||||
|
[2Kcalibre-web | ]
|
||||||
|
[2Kcalibre-web | [parameters: (2, 'EPUB', '7c1661fba0e6a4d56e89c7402f7d9f72')]
|
||||||
|
[2Kcalibre-web | (Background on this error at: https://sqlalche.me/e/20/e3q8)
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
null
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"/srv/felhom-gate/hdd/userdata/media/books": "46c3e8f91171f011c1adda3a9159b9c0266332b85cdc9d7a6743998cfc308e2a",
|
||||||
|
"/srv/felhom-gate/import/calibre": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||||
|
}
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"/srv/felhom-gate/hdd/userdata/media/books": "560b1d4c34cb8339249f388e10101001332a92291887b95029727251f986502b",
|
||||||
|
"/srv/felhom-gate/import/calibre": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||||
|
}
|
||||||
+682
@@ -0,0 +1,682 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 15.1,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 248193024,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 154927104,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 296
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 30.2,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 248201216,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 154972160,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 592
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 45.3,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 248369152,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155025408,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 884
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 60.4,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 248475648,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155066368,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 1180
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 75.6,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 248356864,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155111424,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 1474
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 90.7,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 248578048,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155144192,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 1768
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 105.8,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 248414208,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155176960,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 2064
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 120.9,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 248324096,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155181056,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 2356
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 136.0,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 248279040,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155189248,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 2652
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 151.2,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 248217600,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155176960,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 2944
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 166.3,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 248307712,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155176960,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 3238
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 181.4,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 248631296,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155176960,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 3534
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 196.5,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 248553472,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155181056,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 3826
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 211.6,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 248086528,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155181056,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 4122
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 226.8,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 248877056,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155176960,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 4418
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 241.9,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 248320000,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155181056,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 4710
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 257.0,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 248381440,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155185152,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 5006
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 272.1,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 248348672,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155181056,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 5302
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 287.2,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 248123392,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155185152,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 5594
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 302.4,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 248279040,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155189248,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 5890
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 317.5,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 248233984,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155181056,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 6182
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 332.6,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 247726080,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155181056,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 6478
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 347.8,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 215519232,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155181056,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 6774
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 362.9,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 202870784,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155181056,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 7070
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 378.0,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 201945088,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155176960,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 7362
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 393.1,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 201293824,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155181056,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 7658
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 408.3,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 201256960,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155181056,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 7952
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 423.4,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 193085440,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155181056,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 8246
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 438.5,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 187990016,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155185152,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 8541
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 453.6,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 190087168,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155176960,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 8834
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 468.7,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 189616128,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155189248,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 9130
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 483.8,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 189603840,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155176960,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 9422
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 499.0,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 189374464,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155193344,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 9718
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 514.1,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 189816832,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155185152,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 10014
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 529.2,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 189591552,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155193344,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 10306
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 544.3,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 189870080,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155189248,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 10602
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 559.4,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 189612032,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155189248,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 10894
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 574.6,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 189796352,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155197440,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 11190
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 589.7,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 190513152,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155197440,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 11486
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 604.8,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"current": 190492672,
|
||||||
|
"peak": 313589760,
|
||||||
|
"anon": 155197440,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 11778
|
||||||
|
}
|
||||||
|
]
|
||||||
+6
@@ -0,0 +1,6 @@
|
|||||||
|
[2Kcalibre-web | [migrations] started
|
||||||
|
[2Kcalibre-web | [migrations] no migrations found
|
||||||
|
[2Kcalibre-web | [cwa-init] Enforcing dark theme in app.db (one-time migration)...
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:00:37,594] INFO {cps.ub:1144} Migrating system magic shelves...
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:00:37,618] INFO {cps.ub:1197} System shelf migration complete: 0 old shelves removed, 1 new shelves created
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:00:39,359] INFO {cps.tasks.thumbnail_migration:87} Thumbnail migration: No old subdirectories found, skipping migration
|
||||||
+62
@@ -0,0 +1,62 @@
|
|||||||
|
[15:59:10] scratch drive folders cleared before FROM (R-656): ['/srv/felhom-gate/import/calibre']
|
||||||
|
[15:59:10] MV-calibre-web: deploying calibre-web at FROM {'calibre-web': 'crocodilestick/calibre-web-automated:v4.0.6'}
|
||||||
|
[15:59:41] FROM settled=True in 30.8s :: {"calibre-web": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}}
|
||||||
|
[15:59:41] fixture: the BOX walk's own (CalibreWeb), through upgrade_boxport
|
||||||
|
[15:59:41] calibre-web: the generated admin password does not log in (opds http=401) — running the template's own after_install command (the app's CLI, as the product does after an install)
|
||||||
|
[15:59:44] calibre-web: after_install :: OKIE_SECURE set to False (Standard/LDAP login) Password for user 'admin' changed
|
||||||
|
[15:59:45] calibre-web: POST /upload http=200 {"location": "/tasks"}
|
||||||
|
[15:59:45] calibre-web: seeded book upg72a41d2a7698 is in the library
|
||||||
|
[15:59:51] calibre-web: readback — listed=True download_link=True book_content_served=True
|
||||||
|
[15:59:51] C1 (seed reads back BEFORE): True
|
||||||
|
[15:59:51] MV-calibre-web: swapping to TO {'calibre-web': 'crocodilestick/calibre-web-automated:v4.0.8'}
|
||||||
|
[16:00:28] TO up -d rc=0
|
||||||
|
[16:00:58] TO settled=True in 30.8s :: {"calibre-web": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}}
|
||||||
|
[16:00:59] migration lines observed: 6
|
||||||
|
[16:01:00] calibre-web: readback — listed=True download_link=True book_content_served=True
|
||||||
|
[16:01:00] RESULT (seed reads back AFTER): True
|
||||||
|
[16:01:00] files_may_change: the bind-mounted tree changed under ['/srv/felhom-gate/hdd/userdata/media/books']
|
||||||
|
[16:01:00] memory watch: 600s, 4 callers on 1 path(s) at 172.18.0.2:8083
|
||||||
|
[16:01:15] + 15s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=296
|
||||||
|
[16:01:31] + 30s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=592
|
||||||
|
[16:01:46] + 45s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=884
|
||||||
|
[16:02:01] + 60s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=1180
|
||||||
|
[16:02:16] + 76s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=1474
|
||||||
|
[16:02:31] + 91s calibre-web=237M/768M peak=299M kills=0 rs=0 reqs=1768
|
||||||
|
[16:02:46] + 106s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=2064
|
||||||
|
[16:03:01] + 121s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=2356
|
||||||
|
[16:03:16] + 136s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=2652
|
||||||
|
[16:03:31] + 151s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=2944
|
||||||
|
[16:03:47] + 166s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=3238
|
||||||
|
[16:04:02] + 181s calibre-web=237M/768M peak=299M kills=0 rs=0 reqs=3534
|
||||||
|
[16:04:17] + 196s calibre-web=237M/768M peak=299M kills=0 rs=0 reqs=3826
|
||||||
|
[16:04:32] + 212s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=4122
|
||||||
|
[16:04:47] + 227s calibre-web=237M/768M peak=299M kills=0 rs=0 reqs=4418
|
||||||
|
[16:05:02] + 242s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=4710
|
||||||
|
[16:05:17] + 257s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=5006
|
||||||
|
[16:05:32] + 272s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=5302
|
||||||
|
[16:05:48] + 287s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=5594
|
||||||
|
[16:06:03] + 302s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=5890
|
||||||
|
[16:06:18] + 318s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=6182
|
||||||
|
[16:06:33] + 333s calibre-web=236M/768M peak=299M kills=0 rs=0 reqs=6478
|
||||||
|
[16:06:48] + 348s calibre-web=205M/768M peak=299M kills=0 rs=0 reqs=6774
|
||||||
|
[16:07:03] + 363s calibre-web=193M/768M peak=299M kills=0 rs=0 reqs=7070
|
||||||
|
[16:07:18] + 378s calibre-web=192M/768M peak=299M kills=0 rs=0 reqs=7362
|
||||||
|
[16:07:33] + 393s calibre-web=191M/768M peak=299M kills=0 rs=0 reqs=7658
|
||||||
|
[16:07:49] + 408s calibre-web=191M/768M peak=299M kills=0 rs=0 reqs=7952
|
||||||
|
[16:08:04] + 423s calibre-web=184M/768M peak=299M kills=0 rs=0 reqs=8246
|
||||||
|
[16:08:19] + 438s calibre-web=179M/768M peak=299M kills=0 rs=0 reqs=8541
|
||||||
|
[16:08:34] + 454s calibre-web=181M/768M peak=299M kills=0 rs=0 reqs=8834
|
||||||
|
[16:08:49] + 469s calibre-web=180M/768M peak=299M kills=0 rs=0 reqs=9130
|
||||||
|
[16:09:04] + 484s calibre-web=180M/768M peak=299M kills=0 rs=0 reqs=9422
|
||||||
|
[16:09:19] + 499s calibre-web=180M/768M peak=299M kills=0 rs=0 reqs=9718
|
||||||
|
[16:09:34] + 514s calibre-web=181M/768M peak=299M kills=0 rs=0 reqs=10014
|
||||||
|
[16:09:49] + 529s calibre-web=180M/768M peak=299M kills=0 rs=0 reqs=10306
|
||||||
|
[16:10:05] + 544s calibre-web=181M/768M peak=299M kills=0 rs=0 reqs=10602
|
||||||
|
[16:10:20] + 559s calibre-web=180M/768M peak=299M kills=0 rs=0 reqs=10894
|
||||||
|
[16:10:35] + 575s calibre-web=181M/768M peak=299M kills=0 rs=0 reqs=11190
|
||||||
|
[16:10:50] + 590s calibre-web=181M/768M peak=299M kills=0 rs=0 reqs=11486
|
||||||
|
[16:11:05] + 605s calibre-web=181M/768M peak=299M kills=0 rs=0 reqs=11778
|
||||||
|
[16:11:05] memory watch: killed=False tight=[] requests=11778 codes={'302': 11778}
|
||||||
|
[16:11:05] MV-calibre-web: ABORT — putting the FROM images back
|
||||||
|
[16:11:42] calibre-web: readback — listed=True download_link=True book_content_served=True
|
||||||
|
[16:11:42] ABORT: app came back in 30.8s; data present=True
|
||||||
+189
@@ -0,0 +1,189 @@
|
|||||||
|
[2Kcalibre-web | [migrations] started
|
||||||
|
[2Kcalibre-web | [migrations] no migrations found
|
||||||
|
[2Kcalibre-web | ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | ,gggg, ,ggg, gg ,gg
|
||||||
|
[2Kcalibre-web | ,88"""Y8b, ,dPYb, ,dPYb, dP""Y8a 88 ,8P ,dPYb,
|
||||||
|
[2Kcalibre-web | d8" `Y8 IP'`Yb IP'`Yb Yb, `88 88 d8' IP'`Yb
|
||||||
|
[2Kcalibre-web | d8' 8b d8 I8 8I gg I8 8I `" 88 88 88 I8 8I
|
||||||
|
[2Kcalibre-web | ,8I "Y88P' I8 8' "" I8 8' 88 88 88 I8 8'
|
||||||
|
[2Kcalibre-web | I8' ,gggg,gg I8 dP gg I8 dP ,gggggg, ,ggg, aaaaaaaa 88 88 88 ,ggg, I8 dP
|
||||||
|
[2Kcalibre-web | d8 dP" "Y8I I8dP 88 I8dP 88gg dP""""8I i8" "8i """""""" 88 88 88 i8" "8i I8dP 88gg
|
||||||
|
[2Kcalibre-web | Y8, i8' ,8I I8P 88 I8P 8I ,8' 8I I8, ,8I Y8 ,88, 8P I8, ,8I I8P 8I
|
||||||
|
[2Kcalibre-web | `Yba,,_____, ,d8, ,d8b,,d8b,_ _,88,_,d8b, ,8I ,dP Y8, `YbadP' Yb,,d8""8b,,dP `YbadP' ,d8b, ,8I
|
||||||
|
[2Kcalibre-web | `"Y8888888 P"Y8888P"`Y88P'"Y888P""Y88P'"Y88P"' 8P `Y8888P"Y888 "88" "88" 888P"Y8888P'"Y88P"'
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | █████╗ ██╗ ██╗████████╗ ██████╗ ███╗ ███╗ █████╗ ████████╗███████╗██████╗
|
||||||
|
[2Kcalibre-web | ██╔══██╗██║ ██║╚══██╔══╝██╔═══██╗████╗ ████║██╔══██╗╚══██╔══╝██╔════╝██╔══██╗
|
||||||
|
[2Kcalibre-web | ███████║██║ ██║ ██║ ██║ ██║██╔████╔██║███████║ ██║ █████╗ ██║ ██║
|
||||||
|
[2Kcalibre-web | ██╔══██║██║ ██║ ██║ ██║ ██║██║╚██╔╝██║██╔══██║ ██║ ██╔══╝ ██║ ██║
|
||||||
|
[2Kcalibre-web | ██║ ██║╚██████╔╝ ██║ ╚██████╔╝██║ ╚═╝ ██║██║ ██║ ██║ ███████╗██████╔╝
|
||||||
|
[2Kcalibre-web | ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚══════╝╚═════╝
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | ~~~ Based on docker-calibre-web from linuxserver.io & Calibre-Web by janeczku ~~~
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | To support the app dev(s) visit:
|
||||||
|
[2Kcalibre-web | Calibre-Web Automated: https://ko-fi.com/crocodilestick/tip
|
||||||
|
[2Kcalibre-web | To support LSIO projects visit:
|
||||||
|
[2Kcalibre-web | https://www.linuxserver.io/donate/
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | ───────────────────────────────────────
|
||||||
|
[2Kcalibre-web | GID/UID
|
||||||
|
[2Kcalibre-web | ───────────────────────────────────────
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | User UID: 1000
|
||||||
|
[2Kcalibre-web | User GID: 1000
|
||||||
|
[2Kcalibre-web | ───────────────────────────────────────
|
||||||
|
[2Kcalibre-web | [cwa-init] Starting CWA initialization process...
|
||||||
|
[2Kcalibre-web | [cwa-init] Verifying essential directories...
|
||||||
|
[2Kcalibre-web | [cwa-init] Directory /app/calibre-web-automated verified
|
||||||
|
[2Kcalibre-web | [cwa-init] Directory /config verified
|
||||||
|
[2Kcalibre-web | [cwa-init] Directory /calibre-library verified
|
||||||
|
[2Kcalibre-web | [cwa-init] Directory /app/calibre verified
|
||||||
|
[2Kcalibre-web | [cwa-init] Verifying essential files...
|
||||||
|
[2Kcalibre-web | [cwa-init] File /app/CWA_RELEASE verified
|
||||||
|
[2Kcalibre-web | [cwa-init] File /CALIBRE_RELEASE verified
|
||||||
|
[2Kcalibre-web | [cwa-init] Environment verification complete
|
||||||
|
[2Kcalibre-web | [cwa-init] Setting up ImageMagick policy...
|
||||||
|
[2Kcalibre-web | [cwa-init] Checking for leftover lock files from previous instance...
|
||||||
|
[2Kcalibre-web | [cwa-init] No leftover lock files to remove. Ending service...
|
||||||
|
[2Kcalibre-web | [cwa-init] Checking for an existing app.db in /config...
|
||||||
|
[2Kcalibre-web | [cwa-init] Existing app.db found!
|
||||||
|
[2Kcalibre-web | [cwa-init] Setting binary paths in '/config/app.db' to the correct ones...
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set binary paths in '/config/app.db'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Enforcing dark theme in app.db (one-time migration)...
|
||||||
|
[2Kcalibre-web | [cwa-init] Dark theme enforcement completed.
|
||||||
|
[2Kcalibre-web | [cwa-init] CWA-init complete! Service exiting now...
|
||||||
|
[2Kcalibre-web | [cwa-init] Existing user_profiles.json found!
|
||||||
|
[2Kcalibre-web | [cwa-init] Preparing to set ownership of everything in /config, /app/calibre-web-automated, /calibre-library, /cwa-book-ingest, /calibre-library, /config/.cwa_conversion_tmp to abc:abc...
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/config'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/app/calibre-web-automated'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/calibre-library'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/cwa-book-ingest'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/calibre-library'!
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully set permissions for '/config/.cwa_conversion_tmp'!
|
||||||
|
[2Kcalibre-web | [cwa-init][qt6] Starting Qt6 compatibility check...
|
||||||
|
[2Kcalibre-web | [cwa-init][qt6] Host kernel 7.0.2-6-pve >= 6.0: leaving Qt6 libs intact for full functionality. (PDF/WebEngine features enabled)
|
||||||
|
[2Kcalibre-web | [cwa-init][qt6] Qt6 compatibility check completed.
|
||||||
|
[2Kcalibre-web | [cwa-init] Resolving CWA versions (installed + latest stable) ...
|
||||||
|
[2Kcalibre-web | [cwa-init] Installed version: v4.0.8
|
||||||
|
[2Kcalibre-web | [cwa-init] Attempting to fetch latest stable version from GitHub...
|
||||||
|
[2Kcalibre-web | [cwa-init] Using jq for JSON parsing...
|
||||||
|
[2Kcalibre-web | [cwa-init] Successfully fetched stable version via jq: v4.0.8
|
||||||
|
[2Kcalibre-web | [cwa-init] Valid stable version retrieved: v4.0.8
|
||||||
|
[2Kcalibre-web | [cwa-init] Stable version persisted to /app/CWA_STABLE_RELEASE
|
||||||
|
[2Kcalibre-web | [cwa-init] Versions resolved: INSTALLED=v4.0.8, STABLE=v4.0.8
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Starting process recovery and cleanup...
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Starting Calibre binaries setup...
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Checking if Calibre is already installed...
|
||||||
|
[2Kcalibre-web | [cwa-auto-zipper] Starting CWA-Auto-Zipper service...
|
||||||
|
[2Kcalibre-web | [cwa-auto-zipper] Matching internal localtime & timezone with the one provided...
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] ========== Starting Recovery Sequence ==========
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Cleaning up stale temporary files...
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Calibre version check timed out or failed, assuming not installed
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] USER NOTE: 'Ignore calibredb: command not found' above, nothing is wrong, this just indicates to CWA that Calibre still needs to be installed
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Installing Calibre version 9.1.0...
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] This may take several minutes, please wait...
|
||||||
|
[2Kcalibre-web | [cwa-auto-zipper] Zoneinfo for Europe/Budapest found. Setting /etc/localtime and /etc/timezone to match...
|
||||||
|
[2Kcalibre-web | [cwa-auto-zipper] Timezone & Localtime successfully set to Europe/Budapest. Initiating Auto-Zipper ...
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Cleaned up 6 stale temporary file(s)
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Checking processing status...
|
||||||
|
[2Kcalibre-web | [cwa-auto-zipper] Next run in 21508 seconds.
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Processing status is: idle
|
||||||
|
[2Kcalibre-web | [custom-init] No custom files found, skipping...
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Checking for orphaned CWA processes...
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] No orphaned CWA processes found
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] ========== Recovery Sequence Complete ==========
|
||||||
|
[2Kcalibre-web | [cwa-process-recovery] Process recovery service finished successfully
|
||||||
|
[2Kcalibre-web | [cwa-auto-library]: Existing library found at /calibre-library, mounting now...
|
||||||
|
[2Kcalibre-web | [cwa-auto-library] Updating dirs.json with new library location...
|
||||||
|
[2Kcalibre-web | [cwa-auto-library]: Updating Settings Database with library location...
|
||||||
|
[2Kcalibre-web | [cwa-auto-library] Library location successfully set to: /calibre-library
|
||||||
|
[2Kcalibre-web | [cwa-auto-library] Service completed successfully! Ending service...
|
||||||
|
[2Kcalibre-web | xdg-desktop-menu: No writable system menu directory found.
|
||||||
|
[2Kcalibre-web | Creating symlinks...
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-device to /usr/bin/ebook-device
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-meta to /usr/bin/ebook-meta
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-convert to /usr/bin/ebook-convert
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-polish to /usr/bin/ebook-polish
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/markdown-calibre to /usr/bin/markdown-calibre
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/web2disk to /usr/bin/web2disk
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre-server to /usr/bin/calibre-server
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/lrf2lrs to /usr/bin/lrf2lrs
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/lrs2lrf to /usr/bin/lrs2lrf
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre-debug to /usr/bin/calibre-debug
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibredb to /usr/bin/calibredb
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre-parallel to /usr/bin/calibre-parallel
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre-customize to /usr/bin/calibre-customize
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/fetch-ebook-metadata to /usr/bin/fetch-ebook-metadata
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre-smtp to /usr/bin/calibre-smtp
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/calibre to /usr/bin/calibre
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/lrfviewer to /usr/bin/lrfviewer
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-viewer to /usr/bin/ebook-viewer
|
||||||
|
[2Kcalibre-web | Symlinking /app/calibre/ebook-edit to /usr/bin/ebook-edit
|
||||||
|
[2Kcalibre-web | Setting up command-line completion...
|
||||||
|
[2Kcalibre-web | Installing zsh completion to: /usr/share/zsh/vendor-completions/_calibre
|
||||||
|
[2Kcalibre-web | Failed to find directory to install bash completions, using default.
|
||||||
|
[2Kcalibre-web | Installing bash completion to: /usr/share/bash-completion/completions/
|
||||||
|
[2Kcalibre-web | Setting up desktop integration...
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | ____________________ WARNING ____________________
|
||||||
|
[2Kcalibre-web | Setting up desktop integration failed with error:
|
||||||
|
[2Kcalibre-web | __________________________________________________
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | Traceback (most recent call last):
|
||||||
|
[2Kcalibre-web | File "calibre/linux.py", line 858, in setup_desktop_integration
|
||||||
|
[2Kcalibre-web | File "calibre/linux.py", line 880, in do_setup_desktop_integration
|
||||||
|
[2Kcalibre-web | File "calibre/linux.py", line 960, in install_xdg_junk
|
||||||
|
[2Kcalibre-web | File "subprocess.py", line 419, in check_call
|
||||||
|
[2Kcalibre-web | subprocess.CalledProcessError: Command 'xdg-desktop-menu install --noupdate ./calibre-gui.desktop' returned non-zero exit status 3.
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | Creating un-installer: /usr/bin/calibre-uninstall
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | There were 1 warnings
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | * Setting up desktop integration failed with error:
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Calibre setup completed successfully!
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Installation verified: calibredb (calibre 9.1)
|
||||||
|
[2Kcalibre-web | [calibre-binaries-setup] Service completed successfully, exiting...
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:00:37,484] INFO {cps:93} ProxyFix configured to trust 1 proxy(ies) for X-Forwarded-* headers
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:00:37,594] INFO {cps.ub:1144} Migrating system magic shelves...
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:00:37,611] INFO {cps.magic_shelf:790} Created system magic shelf 'Currently Reading' for user 1
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:00:37,617] INFO {cps.magic_shelf:800} Successfully created 1 system magic shelves for user 1
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:00:37,618] INFO {cps.ub:1197} System shelf migration complete: 0 old shelves removed, 1 new shelves created
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:00:37,712] INFO {cps:141} SESSION_COOKIE_SECURE set to False (Standard/LDAP login)
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:00:37,752] INFO {cps:198} Starting Calibre Web...
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:00:38,274] INFO {cps:218} OAuth blueprints initialized successfully
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:00:38,302] WARN {py.warnings:110} /lsiopy/lib/python3.13/site-packages/flask_limiter/extension.py:324: UserWarning: Using the in-memory storage for tracking rate limits as no storage was explicitly specified. This is not recommended for production use. See: https://flask-limiter.readthedocs.io#configuring-a-storage-backend for documentation about configuring the storage backend.
|
||||||
|
[2Kcalibre-web | warnings.warn(
|
||||||
|
[2Kcalibre-web |
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:00:38,588] INFO {apscheduler.scheduler:214} Scheduler started
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:00:38,589] INFO {apscheduler.scheduler:1092} Added job "delete temp" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:00:38,589] INFO {apscheduler.scheduler:1092} Added job "delete superfluous book covers" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:00:38,589] INFO {apscheduler.scheduler:1092} Added job "generate book covers" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:00:39,351] INFO {apscheduler.scheduler:1092} Added job "end scheduled task" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:00:39,357] INFO {apscheduler.scheduler:1092} Added job "clean archived book references" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:00:39,359] INFO {cps.tasks.thumbnail_migration:87} Thumbnail migration: No old subdirectories found, skipping migration
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:00:39,382] INFO {apscheduler.scheduler:1092} Added job "immediately delete temp" to job store "default"
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:00:39,383] INFO {apscheduler.executors.default:129} Running job "immediately delete temp (trigger: date[2026-09-30 18:00:39 CEST], next run at: 2026-09-30 18:00:39 CEST)" (scheduled at 2026-09-30 18:00:39.382656+02:00)
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:00:39,383] INFO {apscheduler.scheduler:728} Removed job a947a9c34e0e4997b2116dbc91a8c1da
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:00:39,405] INFO {apscheduler.executors.default:156} Job "immediately delete temp (trigger: date[2026-09-30 18:00:39 CEST], next run at: 2026-09-30 18:00:39 CEST)" executed successfully
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:00:40,120] INFO {cps.remotelogin:32} Magic Link QRCode is enabled
|
||||||
|
[2Kcalibre-web | [2026-09-30 18:00:40,357] INFO {cps.server:207} Starting Gevent server on [::]:8083
|
||||||
|
[2Kcalibre-web | Connection to localhost (::1) 8083 port [tcp/*] succeeded!
|
||||||
|
[2Kcalibre-web | [cwa-checksum-backfill] Waiting for CWA service to be ready...
|
||||||
|
[2Kcalibre-web | ========== STARTING METADATA CHANGE DETECTOR ===========
|
||||||
|
[2Kcalibre-web | [metadata-change-detector] Watching folder: /app/calibre-web-automated/metadata_change_logs
|
||||||
|
[2Kcalibre-web | ========== STARTING CWA-INGEST SERVICE ==========
|
||||||
|
[2Kcalibre-web | Setting up watches.
|
||||||
|
[2Kcalibre-web | Watches established.
|
||||||
|
[2Kcalibre-web | [cwa-ingest-service] Watching folder: /cwa-book-ingest
|
||||||
|
[2Kcalibre-web | Setting up watches. Beware: since -r was given, this may take a while!
|
||||||
|
[2Kcalibre-web | Watches established.
|
||||||
+8
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"calibre-web": {
|
||||||
|
"status": "running",
|
||||||
|
"health": "healthy",
|
||||||
|
"restarts": 0,
|
||||||
|
"exit": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
+57
@@ -0,0 +1,57 @@
|
|||||||
|
{
|
||||||
|
"harness_version": 4,
|
||||||
|
"edge": "MV-calibre-web",
|
||||||
|
"app": "calibre-web",
|
||||||
|
"note": "night 2026-09-23 within-a-major move: calibre-web=crocodilestick/calibre-web-automated:v4.0.8",
|
||||||
|
"from": {
|
||||||
|
"calibre-web": "crocodilestick/calibre-web-automated:v4.0.6"
|
||||||
|
},
|
||||||
|
"to": {
|
||||||
|
"calibre-web": "crocodilestick/calibre-web-automated:v4.0.8"
|
||||||
|
},
|
||||||
|
"verdict": "proven",
|
||||||
|
"seed_read_before": true,
|
||||||
|
"seed_read_after": true,
|
||||||
|
"healthy_after": true,
|
||||||
|
"migration_observed": "\u001b[2Kcalibre-web | [migrations] started",
|
||||||
|
"abort": "starts-and-serves",
|
||||||
|
"abort_detail": null,
|
||||||
|
"engine_state_after": null,
|
||||||
|
"memory": {
|
||||||
|
"soak_s": 605.0,
|
||||||
|
"requested_s": 600,
|
||||||
|
"requests": 11778,
|
||||||
|
"codes": {
|
||||||
|
"302": 11778
|
||||||
|
},
|
||||||
|
"first_kill": null,
|
||||||
|
"containers": {
|
||||||
|
"calibre-web": {
|
||||||
|
"limit": 805306368,
|
||||||
|
"peak": 313589760,
|
||||||
|
"peak_pct": 0.389,
|
||||||
|
"anon_peak_sampled": 155197440,
|
||||||
|
"anon_peak_pct": 0.193,
|
||||||
|
"oom_kills": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"measured": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"unmeasured": [],
|
||||||
|
"load": "reached"
|
||||||
|
},
|
||||||
|
"marks": [
|
||||||
|
"files_may_change"
|
||||||
|
],
|
||||||
|
"duration_s": 30.8,
|
||||||
|
"measured_at": "2026-09-30T16:11:42Z",
|
||||||
|
"evidence": "evidence/MV-calibre-web",
|
||||||
|
"scratch_cleared": [
|
||||||
|
"/srv/felhom-gate/import/calibre"
|
||||||
|
],
|
||||||
|
"files_changed": [
|
||||||
|
"/srv/felhom-gate/hdd/userdata/media/books"
|
||||||
|
],
|
||||||
|
"total_s": 751.9
|
||||||
|
}
|
||||||
+109
@@ -0,0 +1,109 @@
|
|||||||
|
[16:25:23] scratch drive folders cleared before FROM (R-656): none existed
|
||||||
|
[16:25:23] MV-crafty-controller: deploying crafty-controller at FROM {'crafty-controller': 'registry.gitlab.com/crafty-controller/crafty-4:4.10.7'}
|
||||||
|
[16:25:54] FROM settled=True in 30.8s :: {"crafty-controller": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}}
|
||||||
|
[16:25:54] fixture: the BOX walk's own (Crafty), through upgrade_boxport
|
||||||
|
[16:25:54] crafty: POST /api/v2/roles http=200 {"status":"ok","data":{"role_id":1}}
|
||||||
|
[16:25:55] crafty: readback of the seeded role http=200 found=True (roles listed: 1)
|
||||||
|
[16:25:55] C1 (seed reads back BEFORE): True
|
||||||
|
[16:25:55] MV-crafty-controller: swapping to TO {'crafty-controller': 'registry.gitlab.com/crafty-controller/crafty-4:4.11.0'}
|
||||||
|
[16:26:46] TO up -d rc=0
|
||||||
|
[16:27:17] TO settled=True in 30.8s :: {"crafty-controller": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}}
|
||||||
|
[16:27:17] migration lines observed: 1
|
||||||
|
[16:27:17] crafty: readback of the seeded role http=200 found=True (roles listed: 1)
|
||||||
|
[16:27:17] RESULT (seed reads back AFTER): True
|
||||||
|
[16:27:17] memory watch: 600s, 4 callers on 1 path(s) at 172.18.0.2:8443
|
||||||
|
[16:27:32] + 15s crafty-controller=100M/2048M peak=164M kills=0 rs=0 reqs=236
|
||||||
|
[16:27:48] + 30s crafty-controller=100M/2048M peak=164M kills=0 rs=0 reqs=476
|
||||||
|
[16:28:03] + 45s crafty-controller=100M/2048M peak=164M kills=0 rs=0 reqs=716
|
||||||
|
[16:28:18] + 60s crafty-controller=100M/2048M peak=164M kills=0 rs=0 reqs=956
|
||||||
|
[16:28:33] + 76s crafty-controller=100M/2048M peak=164M kills=0 rs=0 reqs=1196
|
||||||
|
[16:28:48] + 91s crafty-controller=101M/2048M peak=164M kills=0 rs=0 reqs=1436
|
||||||
|
[16:29:03] + 106s crafty-controller=100M/2048M peak=164M kills=0 rs=0 reqs=1676
|
||||||
|
[16:29:18] + 121s crafty-controller=100M/2048M peak=164M kills=0 rs=0 reqs=1920
|
||||||
|
[16:29:33] + 136s crafty-controller=101M/2048M peak=164M kills=0 rs=0 reqs=2160
|
||||||
|
[16:29:49] + 151s crafty-controller=100M/2048M peak=164M kills=0 rs=0 reqs=2400
|
||||||
|
[16:30:04] + 166s crafty-controller=100M/2048M peak=164M kills=0 rs=0 reqs=2640
|
||||||
|
[16:30:19] + 182s crafty-controller=101M/2048M peak=164M kills=0 rs=0 reqs=2880
|
||||||
|
[16:30:34] + 197s crafty-controller=101M/2048M peak=164M kills=0 rs=0 reqs=3120
|
||||||
|
[16:30:49] + 212s crafty-controller=100M/2048M peak=164M kills=0 rs=0 reqs=3360
|
||||||
|
[16:31:04] + 227s crafty-controller=101M/2048M peak=164M kills=0 rs=0 reqs=3600
|
||||||
|
[16:31:19] + 242s crafty-controller=101M/2048M peak=164M kills=0 rs=0 reqs=3840
|
||||||
|
[16:31:34] + 257s crafty-controller=101M/2048M peak=164M kills=0 rs=0 reqs=4084
|
||||||
|
[16:31:50] + 272s crafty-controller=101M/2048M peak=164M kills=0 rs=0 reqs=4324
|
||||||
|
[16:32:05] + 287s crafty-controller=101M/2048M peak=164M kills=0 rs=0 reqs=4564
|
||||||
|
[16:32:20] + 302s crafty-controller=101M/2048M peak=164M kills=0 rs=0 reqs=4804
|
||||||
|
[16:32:35] + 318s crafty-controller=101M/2048M peak=164M kills=0 rs=0 reqs=5044
|
||||||
|
[16:32:50] + 333s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=5284
|
||||||
|
[16:33:05] + 348s crafty-controller=101M/2048M peak=164M kills=0 rs=0 reqs=5528
|
||||||
|
[16:33:20] + 363s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=5768
|
||||||
|
[16:33:35] + 378s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=6008
|
||||||
|
[16:33:51] + 393s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=6252
|
||||||
|
[16:34:06] + 408s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=6492
|
||||||
|
[16:34:21] + 423s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=6732
|
||||||
|
[16:34:36] + 439s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=6972
|
||||||
|
[16:34:51] + 454s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=7212
|
||||||
|
[16:35:06] + 469s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=7452
|
||||||
|
[16:35:21] + 484s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=7696
|
||||||
|
[16:35:36] + 499s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=7936
|
||||||
|
[16:35:51] + 514s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=8172
|
||||||
|
[16:36:07] + 529s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=8416
|
||||||
|
[16:36:22] + 544s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=8656
|
||||||
|
[16:36:37] + 560s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=8896
|
||||||
|
[16:36:52] + 575s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=9136
|
||||||
|
[16:37:07] + 590s crafty-controller=103M/2048M peak=164M kills=0 rs=0 reqs=9376
|
||||||
|
[16:37:22] + 605s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=9620
|
||||||
|
[16:37:22] memory watch: killed=False tight=[] requests=9620 codes={'302': 9620}
|
||||||
|
[16:37:22] MV-crafty-controller: ABORT — putting the FROM images back
|
||||||
|
[16:37:55] crafty: readback of the seeded role http=200 found=True (roles listed: 1)
|
||||||
|
[16:37:55] ABORT: app came back in 30.8s; data present=True
|
||||||
|
{
|
||||||
|
"harness_version": 4,
|
||||||
|
"edge": "MV-crafty-controller",
|
||||||
|
"app": "crafty-controller",
|
||||||
|
"note": "night 2026-09-23 within-a-major move: crafty-controller=registry.gitlab.com/crafty-controller/crafty-4:4.11.0",
|
||||||
|
"from": {
|
||||||
|
"crafty-controller": "registry.gitlab.com/crafty-controller/crafty-4:4.10.7"
|
||||||
|
},
|
||||||
|
"to": {
|
||||||
|
"crafty-controller": "registry.gitlab.com/crafty-controller/crafty-4:4.11.0"
|
||||||
|
},
|
||||||
|
"verdict": "proven",
|
||||||
|
"seed_read_before": true,
|
||||||
|
"seed_read_after": true,
|
||||||
|
"healthy_after": true,
|
||||||
|
"migration_observed": "\u001b[2Kcrafty-controller | [+] Crafty: 09/30/26 18:26:47 - INFO:\tStarting migrations",
|
||||||
|
"abort": "starts-and-serves",
|
||||||
|
"abort_detail": null,
|
||||||
|
"engine_state_after": null,
|
||||||
|
"memory": {
|
||||||
|
"soak_s": 605.2,
|
||||||
|
"requested_s": 600,
|
||||||
|
"requests": 9620,
|
||||||
|
"codes": {
|
||||||
|
"302": 9620
|
||||||
|
},
|
||||||
|
"first_kill": null,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"peak": 172363776,
|
||||||
|
"peak_pct": 0.08,
|
||||||
|
"anon_peak_sampled": 56918016,
|
||||||
|
"anon_peak_pct": 0.027,
|
||||||
|
"oom_kills": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"measured": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"unmeasured": [],
|
||||||
|
"load": "reached"
|
||||||
|
},
|
||||||
|
"marks": [],
|
||||||
|
"duration_s": 30.8,
|
||||||
|
"measured_at": "2026-09-30T16:37:55Z",
|
||||||
|
"evidence": "evidence/MV-crafty-controller",
|
||||||
|
"scratch_cleared": [],
|
||||||
|
"files_changed": [],
|
||||||
|
"total_s": 752.7
|
||||||
|
}
|
||||||
+8
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"crafty-controller": {
|
||||||
|
"status": "running",
|
||||||
|
"health": "healthy",
|
||||||
|
"restarts": 0,
|
||||||
|
"exit": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
+40
@@ -0,0 +1,40 @@
|
|||||||
|
[2Kcrafty-controller | [36mWrapper | [32m🚂✅ SteamCMD dependencies are available in this image![0m
|
||||||
|
[2Kcrafty-controller | [36mWrapper | [32m🚀 Launching crafty with [[34m-d -i[32m][0m
|
||||||
|
[2Kcrafty-controller | Logging set to: 0
|
||||||
|
[2Kcrafty-controller |
|
||||||
|
[2Kcrafty-controller | ///////////////////////////////////////////////////////////////////////////
|
||||||
|
[2Kcrafty-controller | # Welcome to Crafty Controller - v.4.10.7 #
|
||||||
|
[2Kcrafty-controller | ///////////////////////////////////////////////////////////////////////////
|
||||||
|
[2Kcrafty-controller | # Server Manager / Web Portal for your Minecraft server #
|
||||||
|
[2Kcrafty-controller | # Homepage: www.craftycontrol.com #
|
||||||
|
[2Kcrafty-controller | ///////////////////////////////////////////////////////////////////////////
|
||||||
|
[2Kcrafty-controller |
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:37:25 - INFO: Starting migrations
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:37:25 - INFO: There is nothing to migrate
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:37:25 - INFO: Checking for reset secret flag
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:37:25 - INFO: No flag found. Secrets are staying
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:37:25 - INFO: Checking for remote changes to config.json
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:37:25 - INFO: Remote change complete.
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:37:25 - INFO: Initializing all servers defined
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:37:25 - INFO: Crafty started in daemon mode, no shell will be printed
|
||||||
|
[2Kcrafty-controller |
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:37:25 - INFO: Setting up Crafty's internal components...
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:37:25 - INFO: https://172.18.0.2:8443 is up and ready for connections.
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:37:25 - INFO: Server Init Complete: Listening For Connections!
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:37:27 - INFO: Stats collection frequency set to 30 seconds
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:37:28 - INFO: Launching Scheduler Thread...
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:37:28 - INFO: Launching command thread...
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:37:28 - INFO: Launching log watcher...
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:37:28 - INFO: Launching realtime thread...
|
||||||
|
[2Kcrafty-controller |
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:37:29 - INFO: Checking Internet. This may take a minute.
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:37:31 - INFO: Execution Mode: Non-interactive (e.g. 'python main.py')
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:37:31 - INFO: Application path: '/crafty'
|
||||||
|
[2Kcrafty-controller |
|
||||||
|
[2Kcrafty-controller | A new version of Crafty is available!
|
||||||
|
[2Kcrafty-controller | /////////////////////////////////////
|
||||||
|
[2Kcrafty-controller | New version available: 4.11.0
|
||||||
|
[2Kcrafty-controller | Current version: 4.10.7
|
||||||
|
[2Kcrafty-controller | /////////////////////////////////////
|
||||||
|
[2Kcrafty-controller |
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:37:32 - INFO: Crafty has fully started and is now ready for use!
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
null
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
+682
@@ -0,0 +1,682 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 15.1,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 105312256,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56700928,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 236
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 30.2,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 105357312,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56729600,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 476
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 45.4,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 105492480,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56778752,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 716
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 60.5,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 105582592,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56827904,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 956
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 75.6,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 104898560,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56848384,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 1196
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 90.7,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 106020864,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56877056,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 1436
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 105.9,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 105840640,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56877056,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 1676
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 121.0,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 105611264,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56885248,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 1920
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 136.1,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 105947136,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56885248,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 2160
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 151.2,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 105480192,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56885248,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 2400
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 166.3,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 105287680,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56885248,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 2640
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 181.5,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 106373120,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56901632,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 2880
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 196.6,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 106201088,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56909824,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 3120
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 211.7,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 105754624,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56909824,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 3360
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 226.8,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 106061824,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56909824,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 3600
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 241.9,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 106090496,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56909824,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 3840
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 257.1,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 106430464,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56909824,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 4084
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 272.2,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 106471424,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56909824,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 4324
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 287.3,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 106389504,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56913920,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 4564
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 302.4,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 106688512,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56913920,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 4804
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 317.6,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 106598400,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56913920,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 5044
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 332.7,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 107180032,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56913920,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 5284
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 347.8,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 106786816,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56913920,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 5528
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 362.9,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 107282432,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56913920,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 5768
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 378.1,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 107274240,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56913920,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 6008
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 393.2,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 107290624,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56913920,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 6252
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 408.3,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 107085824,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56913920,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 6492
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 423.4,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 107388928,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56913920,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 6732
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 438.6,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 107462656,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56913920,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 6972
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 453.7,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 107040768,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56913920,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 7212
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 468.8,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 107601920,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56913920,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 7452
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 483.9,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 107421696,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56913920,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 7696
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 499.0,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 107712512,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56913920,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 7936
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 514.2,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 107483136,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56913920,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 8172
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 529.3,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 107814912,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56913920,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 8416
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 544.4,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 107880448,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56913920,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 8656
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 559.5,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 107663360,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56913920,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 8896
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 574.6,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 107483136,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56918016,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 9136
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 589.8,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 108068864,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56918016,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 9376
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 604.9,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 107638784,
|
||||||
|
"peak": 172363776,
|
||||||
|
"anon": 56918016,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 9620
|
||||||
|
}
|
||||||
|
]
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:26:47 - INFO: Starting migrations
|
||||||
+58
@@ -0,0 +1,58 @@
|
|||||||
|
[16:25:23] scratch drive folders cleared before FROM (R-656): none existed
|
||||||
|
[16:25:23] MV-crafty-controller: deploying crafty-controller at FROM {'crafty-controller': 'registry.gitlab.com/crafty-controller/crafty-4:4.10.7'}
|
||||||
|
[16:25:54] FROM settled=True in 30.8s :: {"crafty-controller": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}}
|
||||||
|
[16:25:54] fixture: the BOX walk's own (Crafty), through upgrade_boxport
|
||||||
|
[16:25:54] crafty: POST /api/v2/roles http=200 {"status":"ok","data":{"role_id":1}}
|
||||||
|
[16:25:55] crafty: readback of the seeded role http=200 found=True (roles listed: 1)
|
||||||
|
[16:25:55] C1 (seed reads back BEFORE): True
|
||||||
|
[16:25:55] MV-crafty-controller: swapping to TO {'crafty-controller': 'registry.gitlab.com/crafty-controller/crafty-4:4.11.0'}
|
||||||
|
[16:26:46] TO up -d rc=0
|
||||||
|
[16:27:17] TO settled=True in 30.8s :: {"crafty-controller": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}}
|
||||||
|
[16:27:17] migration lines observed: 1
|
||||||
|
[16:27:17] crafty: readback of the seeded role http=200 found=True (roles listed: 1)
|
||||||
|
[16:27:17] RESULT (seed reads back AFTER): True
|
||||||
|
[16:27:17] memory watch: 600s, 4 callers on 1 path(s) at 172.18.0.2:8443
|
||||||
|
[16:27:32] + 15s crafty-controller=100M/2048M peak=164M kills=0 rs=0 reqs=236
|
||||||
|
[16:27:48] + 30s crafty-controller=100M/2048M peak=164M kills=0 rs=0 reqs=476
|
||||||
|
[16:28:03] + 45s crafty-controller=100M/2048M peak=164M kills=0 rs=0 reqs=716
|
||||||
|
[16:28:18] + 60s crafty-controller=100M/2048M peak=164M kills=0 rs=0 reqs=956
|
||||||
|
[16:28:33] + 76s crafty-controller=100M/2048M peak=164M kills=0 rs=0 reqs=1196
|
||||||
|
[16:28:48] + 91s crafty-controller=101M/2048M peak=164M kills=0 rs=0 reqs=1436
|
||||||
|
[16:29:03] + 106s crafty-controller=100M/2048M peak=164M kills=0 rs=0 reqs=1676
|
||||||
|
[16:29:18] + 121s crafty-controller=100M/2048M peak=164M kills=0 rs=0 reqs=1920
|
||||||
|
[16:29:33] + 136s crafty-controller=101M/2048M peak=164M kills=0 rs=0 reqs=2160
|
||||||
|
[16:29:49] + 151s crafty-controller=100M/2048M peak=164M kills=0 rs=0 reqs=2400
|
||||||
|
[16:30:04] + 166s crafty-controller=100M/2048M peak=164M kills=0 rs=0 reqs=2640
|
||||||
|
[16:30:19] + 182s crafty-controller=101M/2048M peak=164M kills=0 rs=0 reqs=2880
|
||||||
|
[16:30:34] + 197s crafty-controller=101M/2048M peak=164M kills=0 rs=0 reqs=3120
|
||||||
|
[16:30:49] + 212s crafty-controller=100M/2048M peak=164M kills=0 rs=0 reqs=3360
|
||||||
|
[16:31:04] + 227s crafty-controller=101M/2048M peak=164M kills=0 rs=0 reqs=3600
|
||||||
|
[16:31:19] + 242s crafty-controller=101M/2048M peak=164M kills=0 rs=0 reqs=3840
|
||||||
|
[16:31:34] + 257s crafty-controller=101M/2048M peak=164M kills=0 rs=0 reqs=4084
|
||||||
|
[16:31:50] + 272s crafty-controller=101M/2048M peak=164M kills=0 rs=0 reqs=4324
|
||||||
|
[16:32:05] + 287s crafty-controller=101M/2048M peak=164M kills=0 rs=0 reqs=4564
|
||||||
|
[16:32:20] + 302s crafty-controller=101M/2048M peak=164M kills=0 rs=0 reqs=4804
|
||||||
|
[16:32:35] + 318s crafty-controller=101M/2048M peak=164M kills=0 rs=0 reqs=5044
|
||||||
|
[16:32:50] + 333s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=5284
|
||||||
|
[16:33:05] + 348s crafty-controller=101M/2048M peak=164M kills=0 rs=0 reqs=5528
|
||||||
|
[16:33:20] + 363s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=5768
|
||||||
|
[16:33:35] + 378s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=6008
|
||||||
|
[16:33:51] + 393s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=6252
|
||||||
|
[16:34:06] + 408s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=6492
|
||||||
|
[16:34:21] + 423s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=6732
|
||||||
|
[16:34:36] + 439s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=6972
|
||||||
|
[16:34:51] + 454s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=7212
|
||||||
|
[16:35:06] + 469s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=7452
|
||||||
|
[16:35:21] + 484s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=7696
|
||||||
|
[16:35:36] + 499s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=7936
|
||||||
|
[16:35:51] + 514s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=8172
|
||||||
|
[16:36:07] + 529s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=8416
|
||||||
|
[16:36:22] + 544s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=8656
|
||||||
|
[16:36:37] + 560s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=8896
|
||||||
|
[16:36:52] + 575s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=9136
|
||||||
|
[16:37:07] + 590s crafty-controller=103M/2048M peak=164M kills=0 rs=0 reqs=9376
|
||||||
|
[16:37:22] + 605s crafty-controller=102M/2048M peak=164M kills=0 rs=0 reqs=9620
|
||||||
|
[16:37:22] memory watch: killed=False tight=[] requests=9620 codes={'302': 9620}
|
||||||
|
[16:37:22] MV-crafty-controller: ABORT — putting the FROM images back
|
||||||
|
[16:37:55] crafty: readback of the seeded role http=200 found=True (roles listed: 1)
|
||||||
|
[16:37:55] ABORT: app came back in 30.8s; data present=True
|
||||||
+32
@@ -0,0 +1,32 @@
|
|||||||
|
[2Kcrafty-controller | [36mWrapper | [32m🚂✅ SteamCMD dependencies are available in this image![0m
|
||||||
|
[2Kcrafty-controller | [36mWrapper | [32m🚀 Launching crafty with [[34m-d -i[32m][0m
|
||||||
|
[2Kcrafty-controller | Logging set to: 0
|
||||||
|
[2Kcrafty-controller |
|
||||||
|
[2Kcrafty-controller | ///////////////////////////////////////////////////////////////////////////
|
||||||
|
[2Kcrafty-controller | # Welcome to Crafty Controller - v.4.11.0 #
|
||||||
|
[2Kcrafty-controller | ///////////////////////////////////////////////////////////////////////////
|
||||||
|
[2Kcrafty-controller | # Server Manager / Web Portal for your Minecraft server #
|
||||||
|
[2Kcrafty-controller | # Homepage: www.craftycontrol.com #
|
||||||
|
[2Kcrafty-controller | ///////////////////////////////////////////////////////////////////////////
|
||||||
|
[2Kcrafty-controller |
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:26:47 - INFO: Starting migrations
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:26:47 - INFO: Checking for reset secret flag
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:26:47 - INFO: No flag found. Secrets are staying
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:26:47 - INFO: Checking for remote changes to config.json
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:26:47 - INFO: Remote change complete.
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:26:47 - INFO: Initializing all servers defined
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:26:47 - INFO: Crafty started in daemon mode, no shell will be printed
|
||||||
|
[2Kcrafty-controller |
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:26:47 - INFO: Setting up Crafty's internal components...
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:26:47 - INFO: https://172.18.0.2:8443 is up and ready for connections.
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:26:47 - INFO: Server Init Complete: Listening For Connections!
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:26:49 - INFO: Stats collection frequency set to 30 seconds
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:26:50 - INFO: Launching Scheduler Thread...
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:26:50 - INFO: Launching command thread...
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:26:50 - INFO: Launching log watcher...
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:26:50 - INFO: Launching realtime thread...
|
||||||
|
[2Kcrafty-controller |
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:26:51 - INFO: Checking Internet. This may take a minute.
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:26:53 - INFO: Execution Mode: Non-interactive (e.g. 'python main.py')
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:26:53 - INFO: Application path: '/crafty'
|
||||||
|
[2Kcrafty-controller | [+] Crafty: 09/30/26 18:26:54 - INFO: Crafty has fully started and is now ready for use!
|
||||||
+8
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"crafty-controller": {
|
||||||
|
"status": "running",
|
||||||
|
"health": "healthy",
|
||||||
|
"restarts": 0,
|
||||||
|
"exit": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
+51
@@ -0,0 +1,51 @@
|
|||||||
|
{
|
||||||
|
"harness_version": 4,
|
||||||
|
"edge": "MV-crafty-controller",
|
||||||
|
"app": "crafty-controller",
|
||||||
|
"note": "night 2026-09-23 within-a-major move: crafty-controller=registry.gitlab.com/crafty-controller/crafty-4:4.11.0",
|
||||||
|
"from": {
|
||||||
|
"crafty-controller": "registry.gitlab.com/crafty-controller/crafty-4:4.10.7"
|
||||||
|
},
|
||||||
|
"to": {
|
||||||
|
"crafty-controller": "registry.gitlab.com/crafty-controller/crafty-4:4.11.0"
|
||||||
|
},
|
||||||
|
"verdict": "proven",
|
||||||
|
"seed_read_before": true,
|
||||||
|
"seed_read_after": true,
|
||||||
|
"healthy_after": true,
|
||||||
|
"migration_observed": "\u001b[2Kcrafty-controller | [+] Crafty: 09/30/26 18:26:47 - INFO:\tStarting migrations",
|
||||||
|
"abort": "starts-and-serves",
|
||||||
|
"abort_detail": null,
|
||||||
|
"engine_state_after": null,
|
||||||
|
"memory": {
|
||||||
|
"soak_s": 605.2,
|
||||||
|
"requested_s": 600,
|
||||||
|
"requests": 9620,
|
||||||
|
"codes": {
|
||||||
|
"302": 9620
|
||||||
|
},
|
||||||
|
"first_kill": null,
|
||||||
|
"containers": {
|
||||||
|
"crafty-controller": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"peak": 172363776,
|
||||||
|
"peak_pct": 0.08,
|
||||||
|
"anon_peak_sampled": 56918016,
|
||||||
|
"anon_peak_pct": 0.027,
|
||||||
|
"oom_kills": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"measured": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"unmeasured": [],
|
||||||
|
"load": "reached"
|
||||||
|
},
|
||||||
|
"marks": [],
|
||||||
|
"duration_s": 30.8,
|
||||||
|
"measured_at": "2026-09-30T16:37:55Z",
|
||||||
|
"evidence": "evidence/MV-crafty-controller",
|
||||||
|
"scratch_cleared": [],
|
||||||
|
"files_changed": [],
|
||||||
|
"total_s": 752.7
|
||||||
|
}
|
||||||
@@ -0,0 +1,111 @@
|
|||||||
|
[15:16:39] scratch drive folders cleared before FROM (R-656): ['/srv/felhom-gate/hdd/userdata/media']
|
||||||
|
[15:16:39] MV-emby: deploying emby at FROM {'emby': 'emby/embyserver:4.11.0.3'}
|
||||||
|
[15:17:29] FROM settled=True in 30.8s :: {"emby": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}}
|
||||||
|
[15:17:29] fixture: the BOX walk's own (Emby), through upgrade_boxport
|
||||||
|
[15:17:29] emby: seeded first user drillde12c4fd
|
||||||
|
[15:17:29] emby: readback found=True (http 200, control passed)
|
||||||
|
[15:17:29] C1 (seed reads back BEFORE): True
|
||||||
|
[15:17:29] MV-emby: swapping to TO {'emby': 'emby/embyserver:4.11.0.4'}
|
||||||
|
[15:17:49] TO up -d rc=0
|
||||||
|
[15:18:20] TO settled=True in 30.8s :: {"emby": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}}
|
||||||
|
[15:18:20] migration lines observed: 3
|
||||||
|
[15:18:20] emby: readback found=True (http 200, control passed)
|
||||||
|
[15:18:20] RESULT (seed reads back AFTER): True
|
||||||
|
[15:18:21] memory watch: 600s, 4 callers on 1 path(s) at 172.18.0.2:8096
|
||||||
|
[15:18:36] + 15s emby=148M/2048M peak=150M kills=0 rs=0 reqs=300
|
||||||
|
[15:18:51] + 30s emby=146M/2048M peak=150M kills=0 rs=0 reqs=600
|
||||||
|
[15:19:06] + 45s emby=147M/2048M peak=150M kills=0 rs=0 reqs=900
|
||||||
|
[15:19:21] + 60s emby=147M/2048M peak=150M kills=0 rs=0 reqs=1200
|
||||||
|
[15:19:36] + 76s emby=146M/2048M peak=150M kills=0 rs=0 reqs=1500
|
||||||
|
[15:19:51] + 91s emby=146M/2048M peak=150M kills=0 rs=0 reqs=1800
|
||||||
|
[15:20:06] + 106s emby=147M/2048M peak=150M kills=0 rs=0 reqs=2100
|
||||||
|
[15:20:22] + 121s emby=147M/2048M peak=150M kills=0 rs=0 reqs=2400
|
||||||
|
[15:20:37] + 136s emby=147M/2048M peak=150M kills=0 rs=0 reqs=2700
|
||||||
|
[15:20:52] + 151s emby=144M/2048M peak=150M kills=0 rs=0 reqs=3001
|
||||||
|
[15:21:07] + 166s emby=144M/2048M peak=150M kills=0 rs=0 reqs=3301
|
||||||
|
[15:21:22] + 181s emby=144M/2048M peak=150M kills=0 rs=0 reqs=3601
|
||||||
|
[15:21:37] + 196s emby=144M/2048M peak=150M kills=0 rs=0 reqs=3901
|
||||||
|
[15:21:52] + 212s emby=144M/2048M peak=150M kills=0 rs=0 reqs=4199
|
||||||
|
[15:22:07] + 227s emby=144M/2048M peak=150M kills=0 rs=0 reqs=4499
|
||||||
|
[15:22:23] + 242s emby=144M/2048M peak=150M kills=0 rs=0 reqs=4799
|
||||||
|
[15:22:38] + 257s emby=145M/2048M peak=150M kills=0 rs=0 reqs=5099
|
||||||
|
[15:22:53] + 272s emby=144M/2048M peak=150M kills=0 rs=0 reqs=5402
|
||||||
|
[15:23:08] + 287s emby=147M/2048M peak=150M kills=0 rs=0 reqs=5702
|
||||||
|
[15:23:23] + 302s emby=144M/2048M peak=150M kills=0 rs=0 reqs=6002
|
||||||
|
[15:23:38] + 318s emby=144M/2048M peak=150M kills=0 rs=0 reqs=6302
|
||||||
|
[15:23:53] + 333s emby=144M/2048M peak=150M kills=0 rs=0 reqs=6602
|
||||||
|
[15:24:08] + 348s emby=145M/2048M peak=150M kills=0 rs=0 reqs=6902
|
||||||
|
[15:24:24] + 363s emby=144M/2048M peak=150M kills=0 rs=0 reqs=7200
|
||||||
|
[15:24:39] + 378s emby=145M/2048M peak=150M kills=0 rs=0 reqs=7500
|
||||||
|
[15:24:54] + 393s emby=146M/2048M peak=150M kills=0 rs=0 reqs=7800
|
||||||
|
[15:25:09] + 408s emby=146M/2048M peak=150M kills=0 rs=0 reqs=8100
|
||||||
|
[15:25:24] + 423s emby=146M/2048M peak=150M kills=0 rs=0 reqs=8396
|
||||||
|
[15:25:39] + 438s emby=145M/2048M peak=150M kills=0 rs=0 reqs=8696
|
||||||
|
[15:25:54] + 454s emby=146M/2048M peak=150M kills=0 rs=0 reqs=8996
|
||||||
|
[15:26:09] + 469s emby=146M/2048M peak=150M kills=0 rs=0 reqs=9296
|
||||||
|
[15:26:24] + 484s emby=146M/2048M peak=150M kills=0 rs=0 reqs=9596
|
||||||
|
[15:26:40] + 499s emby=146M/2048M peak=150M kills=0 rs=0 reqs=9896
|
||||||
|
[15:26:55] + 514s emby=146M/2048M peak=150M kills=0 rs=0 reqs=10196
|
||||||
|
[15:27:10] + 529s emby=146M/2048M peak=150M kills=0 rs=0 reqs=10496
|
||||||
|
[15:27:25] + 544s emby=146M/2048M peak=150M kills=0 rs=0 reqs=10796
|
||||||
|
[15:27:40] + 559s emby=146M/2048M peak=150M kills=0 rs=0 reqs=11096
|
||||||
|
[15:27:55] + 574s emby=145M/2048M peak=150M kills=0 rs=0 reqs=11394
|
||||||
|
[15:28:10] + 590s emby=146M/2048M peak=150M kills=0 rs=0 reqs=11694
|
||||||
|
[15:28:25] + 605s emby=146M/2048M peak=150M kills=0 rs=0 reqs=11992
|
||||||
|
[15:28:26] memory watch: killed=False tight=[] requests=11992 codes={'302': 11992}
|
||||||
|
[15:28:26] MV-emby: ABORT — putting the FROM images back
|
||||||
|
[15:28:57] emby: readback found=True (http 200, control passed)
|
||||||
|
[15:28:57] ABORT: app came back in 30.8s; data present=True
|
||||||
|
{
|
||||||
|
"harness_version": 4,
|
||||||
|
"edge": "MV-emby",
|
||||||
|
"app": "emby",
|
||||||
|
"note": "night 2026-09-23 within-a-major move: emby=emby/embyserver:4.11.0.4",
|
||||||
|
"from": {
|
||||||
|
"emby": "emby/embyserver:4.11.0.3"
|
||||||
|
},
|
||||||
|
"to": {
|
||||||
|
"emby": "emby/embyserver:4.11.0.4"
|
||||||
|
},
|
||||||
|
"verdict": "proven",
|
||||||
|
"seed_read_before": true,
|
||||||
|
"seed_read_after": true,
|
||||||
|
"healthy_after": true,
|
||||||
|
"migration_observed": "\u001b[2Kemby | Info SqliteUserRepository: Sqlite compiler options: ATOMIC_INTRINSICS=1,COMPILER=gcc-13.4.0,DEFAULT_AUTOVACUUM,DEFAULT_CACHE_SIZE=-2000,DEFAULT_FILE_FORMAT=4,DEFAULT_JOURNAL_SIZE_LIMIT=-1,DEFAULT_MMAP_SIZE=0,DEFAULT_PAGE_SIZE=4096,DEFAULT_PCACHE_INITSZ=20,DEFAULT_RECURSIVE_TRIGGERS,DEFAULT_SECTOR_SIZE=4096,DEFAULT_SYNCHRONOUS=2,DEFAULT_WAL_AUTOCHECKPOINT=1000,DEFAULT_WAL_SYNCHRONOUS=2,DEFAULT_WORKER_THREADS=0,DIRECT_OVERFLOW_READ,ENABLE_COLUMN_METADATA,ENABLE_FTS3_PARENTHESIS,ENABLE_FTS3_TOKENIZER,ENABLE_FTS5,ENABLE_MATH_FUNCTIONS,ENABLE_PERCENTILE,ENABLE_UPDATE_DELETE_LIMIT,LIKE_DOESNT_MATCH_BLOBS,MALLOC_SOFT_LIMIT=1024,MAX_ATTACHED=10,MAX_COLUMN=2000,MAX_COMPOUND_SELECT=500,MAX_DEFAULT_PAGE_SIZE=8192,MAX_EXPR_DEPTH=1000,MAX_FUNCTION_ARG=1000,MAX_LENGTH=1000000000,MAX_LIKE_PATTERN_LENGTH=50000,MAX_MMAP_SIZE=0x7fff0000,MAX_PAGE_COUNT=0xfffffffe,MAX_PAGE_SIZE=65536,MAX_SCHEMA_RETRY=25,MAX_SQL_LENGTH=1000000000,MAX_TRIGGER_DEPTH=1000,MAX_VARIABLE_NUMBER=250000,MAX_VDBE_OP=250000000,MAX_WORKER_THREADS=8,MUTEX_PTHREADS,OMIT_LOOKASIDE,OMIT_SHARED_CACHE,SYSTEM_MALLOC,TEMP_STORE=1,THREADSAFE=1",
|
||||||
|
"abort": "starts-and-serves",
|
||||||
|
"abort_detail": null,
|
||||||
|
"engine_state_after": null,
|
||||||
|
"memory": {
|
||||||
|
"soak_s": 604.9,
|
||||||
|
"requested_s": 600,
|
||||||
|
"requests": 11992,
|
||||||
|
"codes": {
|
||||||
|
"302": 11992
|
||||||
|
},
|
||||||
|
"first_kill": null,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"peak": 157536256,
|
||||||
|
"peak_pct": 0.073,
|
||||||
|
"anon_peak_sampled": 101310464,
|
||||||
|
"anon_peak_pct": 0.047,
|
||||||
|
"oom_kills": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"measured": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"unmeasured": [],
|
||||||
|
"load": "reached"
|
||||||
|
},
|
||||||
|
"marks": [],
|
||||||
|
"duration_s": 30.8,
|
||||||
|
"measured_at": "2026-09-30T15:28:57Z",
|
||||||
|
"evidence": "evidence/MV-emby",
|
||||||
|
"scratch_cleared": [
|
||||||
|
"/srv/felhom-gate/hdd/userdata/media"
|
||||||
|
],
|
||||||
|
"files_changed": [],
|
||||||
|
"total_s": 738.0
|
||||||
|
}
|
||||||
+8
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"emby": {
|
||||||
|
"status": "running",
|
||||||
|
"health": "healthy",
|
||||||
|
"restarts": 0,
|
||||||
|
"exit": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
+259
@@ -0,0 +1,259 @@
|
|||||||
|
[2Kemby | s6-rc: info: service s6rc-oneshot-runner: starting
|
||||||
|
[2Kemby | s6-rc: info: service s6rc-oneshot-runner successfully started
|
||||||
|
[2Kemby | s6-rc: info: service fix-attrs: starting
|
||||||
|
[2Kemby | s6-rc: info: service fix-attrs successfully started
|
||||||
|
[2Kemby | s6-rc: info: service legacy-cont-init: starting
|
||||||
|
[2Kemby | s6-rc: info: service legacy-cont-init successfully started
|
||||||
|
[2Kemby | s6-rc: info: service emby-server: starting
|
||||||
|
[2Kemby | s6-rc: info: service emby-server successfully started
|
||||||
|
[2Kemby | s6-rc: info: service legacy-services: starting
|
||||||
|
[2Kemby | s6-rc: info: service legacy-services successfully started
|
||||||
|
[2Kemby | Info Main: Application path: /system/EmbyServer.dll
|
||||||
|
[2Kemby | Info NetworkManager: Adding event handler for NetworkChange.NetworkAddressChanged
|
||||||
|
[2Kemby | Info App: Setting default culture to en-us
|
||||||
|
[2Kemby | Info Main: Emby Server 4.11.0.3
|
||||||
|
[2Kemby | Command line: /system/EmbyServer.dll -programdata /config -ffdetect /bin/ffdetect -ffmpeg /bin/ffmpeg -ffprobe /bin/ffprobe -restartexitcode 3
|
||||||
|
[2Kemby | Operating system: Linux version 7.0.2-6-pve (build@proxmox) (gcc (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44) #1 SMP PREEMPT_DYNAMIC PMX 7.0.2-6 (2
|
||||||
|
[2Kemby | OS/Process: x64/x64
|
||||||
|
[2Kemby | Framework: .NET 8.0.28
|
||||||
|
[2Kemby | Runtime: system/System.Private.CoreLib.dll
|
||||||
|
[2Kemby | Processor count: 6
|
||||||
|
[2Kemby | Data path: /config
|
||||||
|
[2Kemby | Application path: /system
|
||||||
|
[2Kemby | Info Main: Logs path: /config/logs
|
||||||
|
[2Kemby | Info Main: Cache path: /config/cache
|
||||||
|
[2Kemby | Info Main: Internal metadata path: /config/metadata
|
||||||
|
[2Kemby | Info Main: DefaultThreadCurrentCulture: en-US
|
||||||
|
[2Kemby | Info Main: DefaultThreadCurrentUICulture: en-US
|
||||||
|
[2Kemby | Info Main: DefaultThreadCurrentUICulture: en-US
|
||||||
|
[2Kemby | Info Main: Server Friendly Name: 0e007414cdff
|
||||||
|
[2Kemby | Info Main: Local time: 09/30/2026 17:28:27 +02:00
|
||||||
|
[2Kemby | Info App: Emby Server Version: 4.11.0.3
|
||||||
|
[2Kemby | Info App: Loading assemblies
|
||||||
|
[2Kemby | Info App: Updating pre-installed plugins due to server rollback. Last server version: 4.11.0.4. Current server version: 4.11.0.3
|
||||||
|
[2Kemby | Info App: Any manually installed plugins will need to be reverted to compatible versions. Please use the Emby plugin catalog to install compatible versions of your plugins.
|
||||||
|
[2Kemby | Info App: Why did you roll back your server version? If you did so because of a problem, please make sure to report it to the Emby team.
|
||||||
|
[2Kemby | Info App: Copying plugin from /system/plugins/Emby.M3UTuner.dll to /config/plugins/Emby.M3UTuner.dll
|
||||||
|
[2Kemby | Info App: Copying plugin from /system/plugins/Emby.Dlna.dll to /config/plugins/Emby.Dlna.dll
|
||||||
|
[2Kemby | Info App: Copying plugin from /system/plugins/MBBackup.dll to /config/plugins/MBBackup.dll
|
||||||
|
[2Kemby | Info App: Copying plugin from /system/plugins/Emby.Server.CinemaMode.dll to /config/plugins/Emby.Server.CinemaMode.dll
|
||||||
|
[2Kemby | Info App: Copying plugin from /system/plugins/Emby.PortMapper.dll to /config/plugins/Emby.PortMapper.dll
|
||||||
|
[2Kemby | Info App: Copying plugin from /system/plugins/AudioDb.dll to /config/plugins/AudioDb.dll
|
||||||
|
[2Kemby | Info App: Copying plugin from /system/plugins/DvdMounter.dll to /config/plugins/DvdMounter.dll
|
||||||
|
[2Kemby | Info App: Copying plugin from /system/plugins/Emby.XmlTV.dll to /config/plugins/Emby.XmlTV.dll
|
||||||
|
[2Kemby | Info App: Copying plugin from /system/plugins/MusicBrainz.dll to /config/plugins/MusicBrainz.dll
|
||||||
|
[2Kemby | Info App: Copying plugin from /system/plugins/OMDb.dll to /config/plugins/OMDb.dll
|
||||||
|
[2Kemby | Info App: Copying plugin from /system/plugins/Emby.Webhooks.dll to /config/plugins/Emby.Webhooks.dll
|
||||||
|
[2Kemby | Info App: Copying plugin from /system/plugins/NfoMetadata.dll to /config/plugins/NfoMetadata.dll
|
||||||
|
[2Kemby | Info App: Copying plugin from /system/plugins/Fanart.dll to /config/plugins/Fanart.dll
|
||||||
|
[2Kemby | Info App: Copying plugin from /system/plugins/BlurayMounter.dll to /config/plugins/BlurayMounter.dll
|
||||||
|
[2Kemby | Info App: Copying plugin from /system/plugins/EmbyGuideData.dll to /config/plugins/EmbyGuideData.dll
|
||||||
|
[2Kemby | Info App: Copying plugin from /system/plugins/MovieDb.dll to /config/plugins/MovieDb.dll
|
||||||
|
[2Kemby | Info App: Copying plugin from /system/plugins/StudioImages.dll to /config/plugins/StudioImages.dll
|
||||||
|
[2Kemby | Info App: Copying plugin from /system/plugins/Tvdb.dll to /config/plugins/Tvdb.dll
|
||||||
|
[2Kemby | Info App: Copying plugin from /system/plugins/OpenSubtitles.dll to /config/plugins/OpenSubtitles.dll
|
||||||
|
[2Kemby | Info App: Loading Emby.Api, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading Emby.Web, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading MediaBrowser.Model, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading MediaBrowser.Common, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading MediaBrowser.Controller, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading Emby.Providers, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading Emby.Photos, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading Emby.Server.Implementations, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading Emby.LiveTV, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading Emby.ActivityLog, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading Emby.Server.MediaEncoding, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading Emby.LocalMetadata, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading Emby.Notifications, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading Emby.Web.GenericUI, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading Emby.Codecs.Dxva, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading Emby.Codecs, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading Emby.Server.Connect, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading Emby.Server.Sync, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading EmbyServer, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading Emby.M3UTuner, Version=1.0.46.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Emby.M3UTuner.dll
|
||||||
|
[2Kemby | Info App: Loading Emby.Dlna, Version=1.5.7.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Emby.Dlna.dll
|
||||||
|
[2Kemby | Info App: Loading MBBackup, Version=1.8.6.0, Culture=neutral, PublicKeyToken=null from /config/plugins/MBBackup.dll
|
||||||
|
[2Kemby | Info App: Loading Emby.Server.CinemaMode, Version=1.0.52.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Emby.Server.CinemaMode.dll
|
||||||
|
[2Kemby | Info App: Loading Emby.PortMapper, Version=1.3.0.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Emby.PortMapper.dll
|
||||||
|
[2Kemby | Info App: Loading AudioDb, Version=1.0.21.0, Culture=neutral, PublicKeyToken=null from /config/plugins/AudioDb.dll
|
||||||
|
[2Kemby | Info App: Loading DvdMounter, Version=1.0.2.0, Culture=neutral, PublicKeyToken=null from /config/plugins/DvdMounter.dll
|
||||||
|
[2Kemby | Info App: Loading Emby.XmlTV, Version=1.2.2.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Emby.XmlTV.dll
|
||||||
|
[2Kemby | Info App: Loading MusicBrainz, Version=1.0.30.0, Culture=neutral, PublicKeyToken=null from /config/plugins/MusicBrainz.dll
|
||||||
|
[2Kemby | Info App: Loading OMDb, Version=1.0.23.0, Culture=neutral, PublicKeyToken=null from /config/plugins/OMDb.dll
|
||||||
|
[2Kemby | Info App: Loading Emby.Webhooks, Version=1.0.38.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Emby.Webhooks.dll
|
||||||
|
[2Kemby | Info App: Loading NfoMetadata, Version=1.0.86.0, Culture=neutral, PublicKeyToken=null from /config/plugins/NfoMetadata.dll
|
||||||
|
[2Kemby | Info App: Loading Fanart, Version=1.0.18.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Fanart.dll
|
||||||
|
[2Kemby | Info App: Loading BlurayMounter, Version=1.0.5.0, Culture=neutral, PublicKeyToken=null from /config/plugins/BlurayMounter.dll
|
||||||
|
[2Kemby | Info App: Loading EmbyGuideData, Version=1.0.21.0, Culture=neutral, PublicKeyToken=null from /config/plugins/EmbyGuideData.dll
|
||||||
|
[2Kemby | Info App: Loading MovieDb, Version=1.9.5.0, Culture=neutral, PublicKeyToken=null from /config/plugins/MovieDb.dll
|
||||||
|
[2Kemby | Info App: Loading StudioImages, Version=1.0.3.0, Culture=neutral, PublicKeyToken=null from /config/plugins/StudioImages.dll
|
||||||
|
[2Kemby | Info App: Loading Tvdb, Version=1.6.6.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Tvdb.dll
|
||||||
|
[2Kemby | Info App: Loading OpenSubtitles, Version=1.0.69.0, Culture=neutral, PublicKeyToken=null from /config/plugins/OpenSubtitles.dll
|
||||||
|
[2Kemby | Info SqliteUserRepository: Initializing PooledDatabaseConnectionManager with pool size: 3
|
||||||
|
[2Kemby | Info SqliteUserRepository: Sqlite version: 3.53.4
|
||||||
|
[2Kemby | Info SqliteUserRepository: Sqlite compiler options: ATOMIC_INTRINSICS=1,COMPILER=gcc-13.4.0,DEFAULT_AUTOVACUUM,DEFAULT_CACHE_SIZE=-2000,DEFAULT_FILE_FORMAT=4,DEFAULT_JOURNAL_SIZE_LIMIT=-1,DEFAULT_MMAP_SIZE=0,DEFAULT_PAGE_SIZE=4096,DEFAULT_PCACHE_INITSZ=20,DEFAULT_RECURSIVE_TRIGGERS,DEFAULT_SECTOR_SIZE=4096,DEFAULT_SYNCHRONOUS=2,DEFAULT_WAL_AUTOCHECKPOINT=1000,DEFAULT_WAL_SYNCHRONOUS=2,DEFAULT_WORKER_THREADS=0,DIRECT_OVERFLOW_READ,ENABLE_COLUMN_METADATA,ENABLE_FTS3_PARENTHESIS,ENABLE_FTS3_TOKENIZER,ENABLE_FTS5,ENABLE_MATH_FUNCTIONS,ENABLE_PERCENTILE,ENABLE_UPDATE_DELETE_LIMIT,LIKE_DOESNT_MATCH_BLOBS,MALLOC_SOFT_LIMIT=1024,MAX_ATTACHED=10,MAX_COLUMN=2000,MAX_COMPOUND_SELECT=500,MAX_DEFAULT_PAGE_SIZE=8192,MAX_EXPR_DEPTH=1000,MAX_FUNCTION_ARG=1000,MAX_LENGTH=1000000000,MAX_LIKE_PATTERN_LENGTH=50000,MAX_MMAP_SIZE=0x7fff0000,MAX_PAGE_COUNT=0xfffffffe,MAX_PAGE_SIZE=65536,MAX_SCHEMA_RETRY=25,MAX_SQL_LENGTH=1000000000,MAX_TRIGGER_DEPTH=1000,MAX_VARIABLE_NUMBER=250000,MAX_VDBE_OP=250000000,MAX_WORKER_THREADS=8,MUTEX_PTHREADS,OMIT_LOOKASIDE,OMIT_SHARED_CACHE,SYSTEM_MALLOC,TEMP_STORE=1,THREADSAFE=1
|
||||||
|
[2Kemby | Info SqliteUserRepository: Sqlite ThreadSafe: 1
|
||||||
|
[2Kemby | Info SqliteUserRepository: Sqlite ThreadingMode: MultiThreaded
|
||||||
|
[2Kemby | Info SqliteUserRepository: Opening sqlite connection to /config/data/users.db. isReadOnly: False
|
||||||
|
[2Kemby | Info SqliteUserRepository: Default journal_mode for /config/data/users.db is wal
|
||||||
|
[2Kemby | Info SqliteUserRepository: PRAGMA cache_size=-65536
|
||||||
|
[2Kemby | Info SqliteUserRepository: PRAGMA page_size=4096
|
||||||
|
[2Kemby | Info SqliteUserRepository: PRAGMA foreign_keys=1
|
||||||
|
[2Kemby | Info SqliteUserRepository: PRAGMA SECURE_DELETE=0
|
||||||
|
[2Kemby | Info SqliteUserRepository: Result of setting SQLITE_DBCONFIG_DQS_DDL to 0 is 0
|
||||||
|
[2Kemby | Info SqliteUserRepository: Result of setting SQLITE_DBCONFIG_DQS_DML to 0 is 0
|
||||||
|
[2Kemby | Info SqliteItemRepository: Initializing PooledDatabaseConnectionManager with pool size: 5
|
||||||
|
[2Kemby | Info AuthenticationRepository: Initializing PooledDatabaseConnectionManager with pool size: 5
|
||||||
|
[2Kemby | Info ActivityRepository: Initializing PooledDatabaseConnectionManager with pool size: 3
|
||||||
|
[2Kemby | Info ActivityRepository: Opening sqlite connection to /config/data/activitylog.db. isReadOnly: False
|
||||||
|
[2Kemby | Info ActivityRepository: Default journal_mode for /config/data/activitylog.db is wal
|
||||||
|
[2Kemby | Info ActivityRepository: PRAGMA cache_size=-65536
|
||||||
|
[2Kemby | Info ActivityRepository: PRAGMA page_size=4096
|
||||||
|
[2Kemby | Info ActivityRepository: PRAGMA foreign_keys=1
|
||||||
|
[2Kemby | Info ActivityRepository: PRAGMA SECURE_DELETE=0
|
||||||
|
[2Kemby | Info ActivityRepository: Result of setting SQLITE_DBCONFIG_DQS_DDL to 0 is 0
|
||||||
|
[2Kemby | Info ActivityRepository: Result of setting SQLITE_DBCONFIG_DQS_DML to 0 is 0
|
||||||
|
[2Kemby | Info NetworkManager: Detecting local network addresses
|
||||||
|
[2Kemby | Info NetworkManager: networkInterface: Ethernet eth0, Speed: 10000000000, Description: eth0
|
||||||
|
[2Kemby | Info NetworkManager: GatewayAddresses: 172.18.0.1
|
||||||
|
[2Kemby | Info NetworkManager: UnicastAddresses: 172.18.0.2
|
||||||
|
[2Kemby | Info NetworkManager: networkInterface: Loopback lo, Speed: -1, Description: lo
|
||||||
|
[2Kemby | Info NetworkManager: GatewayAddresses:
|
||||||
|
[2Kemby | Info NetworkManager: UnicastAddresses: 127.0.0.1,::1
|
||||||
|
[2Kemby | Info NetworkManager: Detected local ip addresses: [{"IPAddress":"172.18.0.2","HasGateWayAddress":true,"PrefixLength":16,"IPv4Mask":"255.255.0.0","BroadcastAddress":"172.18.255.255"},{"IPAddress":"127.0.0.1","HasGateWayAddress":false,"PrefixLength":8,"IPv4Mask":"255.0.0.0","BroadcastAddress":"127.255.255.255"},{"IPAddress":"::1","HasGateWayAddress":false,"PrefixLength":128}]
|
||||||
|
[2Kemby | Info App: Adding HttpListener prefix http://+:8096/
|
||||||
|
[2Kemby | Info AuthenticationRepository: Opening sqlite connection to /config/data/authentication.db. isReadOnly: False
|
||||||
|
[2Kemby | Info AuthenticationRepository: Default journal_mode for /config/data/authentication.db is wal
|
||||||
|
[2Kemby | Info AuthenticationRepository: PRAGMA cache_size=-65536
|
||||||
|
[2Kemby | Info AuthenticationRepository: PRAGMA page_size=4096
|
||||||
|
[2Kemby | Info AuthenticationRepository: PRAGMA foreign_keys=1
|
||||||
|
[2Kemby | Info AuthenticationRepository: PRAGMA SECURE_DELETE=0
|
||||||
|
[2Kemby | Info AuthenticationRepository: Result of setting SQLITE_DBCONFIG_DQS_DDL to 0 is 0
|
||||||
|
[2Kemby | Info AuthenticationRepository: Result of setting SQLITE_DBCONFIG_DQS_DML to 0 is 0
|
||||||
|
[2Kemby | Info SqliteItemRepository: Opening sqlite connection to /config/data/library.db. isReadOnly: False
|
||||||
|
[2Kemby | Info SqliteItemRepository: Default journal_mode for /config/data/library.db is wal
|
||||||
|
[2Kemby | Info SqliteItemRepository: PRAGMA cache_size=-131072
|
||||||
|
[2Kemby | Info SqliteItemRepository: PRAGMA page_size=4096
|
||||||
|
[2Kemby | Info SqliteItemRepository: PRAGMA foreign_keys=1
|
||||||
|
[2Kemby | Info SqliteItemRepository: PRAGMA SECURE_DELETE=0
|
||||||
|
[2Kemby | Info SqliteItemRepository: Result of setting SQLITE_DBCONFIG_DQS_DDL to 0 is 0
|
||||||
|
[2Kemby | Info SqliteItemRepository: Result of setting SQLITE_DBCONFIG_DQS_DML to 0 is 0
|
||||||
|
[2Kemby | Info SqliteItemRepository: Init Complete
|
||||||
|
[2Kemby | Info SqliteItemRepository: Opening sqlite connection to /config/data/library.db. isReadOnly: True
|
||||||
|
[2Kemby | Info SqliteItemRepository: PRAGMA cache_size=-131072
|
||||||
|
[2Kemby | Info SqliteItemRepository: PRAGMA page_size=4096
|
||||||
|
[2Kemby | Info SqliteItemRepository: PRAGMA foreign_keys=1
|
||||||
|
[2Kemby | Info SqliteItemRepository: PRAGMA SECURE_DELETE=0
|
||||||
|
[2Kemby | Info SqliteItemRepository: Result of setting SQLITE_DBCONFIG_DQS_DDL to 0 is 0
|
||||||
|
[2Kemby | Info SqliteItemRepository: Result of setting SQLITE_DBCONFIG_DQS_DML to 0 is 0
|
||||||
|
[2Kemby | Info SqliteUserRepository: Opening sqlite connection to /config/data/users.db. isReadOnly: True
|
||||||
|
[2Kemby | Info SqliteUserRepository: PRAGMA cache_size=-65536
|
||||||
|
[2Kemby | Info SqliteUserRepository: PRAGMA page_size=4096
|
||||||
|
[2Kemby | Info SqliteUserRepository: PRAGMA foreign_keys=1
|
||||||
|
[2Kemby | Info SqliteUserRepository: PRAGMA SECURE_DELETE=0
|
||||||
|
[2Kemby | Info SqliteUserRepository: Result of setting SQLITE_DBCONFIG_DQS_DDL to 0 is 0
|
||||||
|
[2Kemby | Info SqliteUserRepository: Result of setting SQLITE_DBCONFIG_DQS_DML to 0 is 0
|
||||||
|
[2Kemby | Info App: Emby Server 4.11.0.3
|
||||||
|
[2Kemby | Command line: /system/EmbyServer.dll -programdata /config -ffdetect /bin/ffdetect -ffmpeg /bin/ffmpeg -ffprobe /bin/ffprobe -restartexitcode 3
|
||||||
|
[2Kemby | Operating system: Linux version 7.0.2-6-pve (build@proxmox) (gcc (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44) #1 SMP PREEMPT_DYNAMIC PMX 7.0.2-6 (2
|
||||||
|
[2Kemby | OS/Process: x64/x64
|
||||||
|
[2Kemby | Framework: .NET 8.0.28
|
||||||
|
[2Kemby | Runtime: system/System.Private.CoreLib.dll
|
||||||
|
[2Kemby | Processor count: 6
|
||||||
|
[2Kemby | Data path: /config
|
||||||
|
[2Kemby | Application path: /system
|
||||||
|
[2Kemby | Info App: Logs path: /config/logs
|
||||||
|
[2Kemby | Info App: Cache path: /config/cache
|
||||||
|
[2Kemby | Info App: Internal metadata path: /config/metadata
|
||||||
|
[2Kemby | Info App: Transcoding temporary files path: /config/transcoding-temp
|
||||||
|
[2Kemby | Info App: DefaultThreadCurrentCulture: en-US
|
||||||
|
[2Kemby | Info App: DefaultThreadCurrentUICulture: en-US
|
||||||
|
[2Kemby | Info App: DefaultThreadCurrentUICulture: en-US
|
||||||
|
[2Kemby | Info App: Server Friendly Name: 0e007414cdff
|
||||||
|
[2Kemby | Info App: Local time: 09/30/2026 17:28:28 +02:00
|
||||||
|
[2Kemby | Info FfmpegManager: FFMpeg: /bin/ffmpeg
|
||||||
|
[2Kemby | Info FfmpegManager: FFProbe: /bin/ffprobe
|
||||||
|
[2Kemby | Info FfmpegManager: FFDetect: /bin/ffdetect
|
||||||
|
[2Kemby | Info Skia: SkiaSharp version: 2.88.0.0
|
||||||
|
[2Kemby | Info libvips: NetVips version: 3.0.0.0
|
||||||
|
[2Kemby | Info ImageProcessor: Adding image processor Skia
|
||||||
|
[2Kemby | Info ImageProcessor: Adding image processor libvips
|
||||||
|
[2Kemby | Info TaskManager: Daily trigger for Video preview thumbnail extraction set to fire at 10/01/2026 02:00:00, which is 511.5091529933333 minutes from now.
|
||||||
|
[2Kemby | Info TaskManager: Daily trigger for Rotate log file set to fire at 10/01/2026 00:00:00, which is 391.5087986016667 minutes from now.
|
||||||
|
[2Kemby | Info TaskManager: Queueing task HardwareDetectionScheduledTask
|
||||||
|
[2Kemby | Info TaskManager: Executing Hardware Detection
|
||||||
|
[2Kemby | Info TaskManager: Daily trigger for Emby Server Backup set to fire at 10/01/2026 00:10:00, which is 401.5086428266667 minutes from now.
|
||||||
|
[2Kemby | Info App: ServerId: d21d02efaa4f4b778f0e53cb03473983
|
||||||
|
[2Kemby | Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -version' Execute: /bin/ffmpeg -hide_banner -version
|
||||||
|
[2Kemby | Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -version' Process exited with code 0
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Implementations.Networking.RemoteAddressEntryPoint
|
||||||
|
[2Kemby | Info App: Loading data from /config/data/wan.dat
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Implementations.Networking.RemoteAddressEntryPoint. Duration: 0.001921 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Connect.ConnectEntryPoint
|
||||||
|
[2Kemby | Info App: Loading data from /config/data/connect.txt
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Connect.ConnectEntryPoint. Duration: 0.0015847 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Dlna.Main.DlnaEntryPoint
|
||||||
|
[2Kemby | Info FfmpegManager: FfmpegValidator.Validate complete
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Dlna.Main.DlnaEntryPoint. Duration: 0.0609371 seconds
|
||||||
|
[2Kemby | Info App: Core startup complete
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Implementations.Udp.UdpServerEntryPoint
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Implementations.Udp.UdpServerEntryPoint. Duration: 0.0012559 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Implementations.Session.PartyEventNotifier
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Implementations.Session.PartyEventNotifier. Duration: 0.0016069 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Implementations.Playlists.PlaylistUpgradeEntryPoint
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Implementations.Playlists.PlaylistUpgradeEntryPoint. Duration: 0.0017783 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Implementations.Library.DeviceAccessEntryPoint
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Implementations.Library.DeviceAccessEntryPoint. Duration: 0.0004194 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Implementations.IO.LibraryMonitorStartup
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Implementations.IO.LibraryMonitorStartup. Duration: 0.0210797 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Implementations.EntryPoints.AutomaticRestartEntryPoint
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.AutomaticRestartEntryPoint. Duration: 0.0004955 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Implementations.EntryPoints.KeepServerAwake
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.KeepServerAwake. Duration: 0.0001802 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Implementations.EntryPoints.LibraryChangedNotifier
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.LibraryChangedNotifier. Duration: 0.0008391 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Implementations.EntryPoints.LogLibrariesEntryPoint
|
||||||
|
[2Kemby | Info App: Libraries
|
||||||
|
[2Kemby | Server Configuration: CollapseVideoFolders: False
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.LogLibrariesEntryPoint. Duration: 0.0009445 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Implementations.EntryPoints.ServerEventNotifier
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.ServerEventNotifier. Duration: 0.0018201 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Implementations.EntryPoints.StartupWizard
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.StartupWizard. Duration: 0.0004152 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Implementations.EntryPoints.SystemEvents
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.SystemEvents. Duration: 0.0002895 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Implementations.EntryPoints.UserDataChangeNotifier
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.UserDataChangeNotifier. Duration: 0.000353 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Implementations.Channels.ChannelsEntryPoint
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Implementations.Channels.ChannelsEntryPoint. Duration: 0.0026736 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.LiveTV.EntryPoint
|
||||||
|
[2Kemby | Info LiveTV: Loading live tv data from /config/data/livetv/timers
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.LiveTV.EntryPoint. Duration: 0.0026515 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.LiveTV.RecordingNotifier
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.LiveTV.RecordingNotifier. Duration: 0.0010971 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.MediaEncoding.Api.EncodingManagerEntryPoint
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.MediaEncoding.Api.EncodingManagerEntryPoint. Duration: 0.000754 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Notifications.NotificationManagerEntryPoint
|
||||||
|
[2Kemby | Info Notifications: Registering event nofitier Activity Log
|
||||||
|
[2Kemby | Info Notifications: Registering event nofitier Emby Server User Notifications
|
||||||
|
[2Kemby | Info Notifications: Registering event factory CoreNotificationTypeFactory
|
||||||
|
[2Kemby | Info Notifications: Registering event factory BackupNotificationTypeFactory
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Notifications.NotificationManagerEntryPoint. Duration: 0.0236164 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Sync.SyncNotificationEntryPoint
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Sync.SyncNotificationEntryPoint. Duration: 0.0010252 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point EmbyServer.Windows.LoopUtilEntryPoint
|
||||||
|
[2Kemby | Info App: Entry point completed: EmbyServer.Windows.LoopUtilEntryPoint. Duration: 6.39E-05 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point MBBackup.ServerEntryPoint
|
||||||
|
[2Kemby | Info App: Entry point completed: MBBackup.ServerEntryPoint. Duration: 4.93E-05 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Security.PluginSecurityManager
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Security.PluginSecurityManager. Duration: 3.32E-05 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.CinemaMode.IntrosEntryPoint
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.CinemaMode.IntrosEntryPoint. Duration: 0.0001156 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.PortMapper.ExternalPortForwarding
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.PortMapper.ExternalPortForwarding. Duration: 0.001073 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point NfoMetadata.EntryPoint
|
||||||
|
[2Kemby | Info App: Entry point completed: NfoMetadata.EntryPoint. Duration: 0.000118 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Tvdb.EntryPoint
|
||||||
|
[2Kemby | Info App: Entry point completed: Tvdb.EntryPoint. Duration: 3.49E-05 seconds
|
||||||
|
[2Kemby | Info App: All entry points have started
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
null
|
||||||
+3
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"/srv/felhom-gate/hdd/userdata/media": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||||
|
}
|
||||||
+3
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"/srv/felhom-gate/hdd/userdata/media": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||||
|
}
|
||||||
+682
@@ -0,0 +1,682 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 15.1,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 156217344,
|
||||||
|
"peak": 157429760,
|
||||||
|
"anon": 101310464,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 300
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 30.2,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 154136576,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 99250176,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 600
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 45.3,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 154468352,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 99201024,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 900
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 60.4,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 154693632,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 99196928,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 1200
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 75.6,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 154054656,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 99139584,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 1500
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 90.7,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 154042368,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 99147776,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 1800
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 105.8,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 154378240,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 99176448,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 2100
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 120.9,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 154411008,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 99229696,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 2400
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 136.0,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 154640384,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 99229696,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 2700
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 151.1,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 151437312,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 96231424,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 3001
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 166.2,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 151207936,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 96276480,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 3301
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 181.4,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 152010752,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 96288768,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 3601
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 196.5,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 151928832,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 96251904,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 3901
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 211.6,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 151961600,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 96759808,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 4199
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 226.7,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 151851008,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 96849920,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 4499
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 241.8,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 151855104,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 96854016,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 4799
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 256.9,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 152092672,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 96849920,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 5099
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 272.1,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 151904256,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 96849920,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 5402
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 287.2,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 154804224,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 99713024,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 5702
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 302.3,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 151896064,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 96526336,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 6002
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 317.5,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 151539712,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 96497664,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 6302
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 332.6,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 152031232,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 96681984,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 6602
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 347.7,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 152801280,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 96944128,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 6902
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 362.8,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 151846912,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 96948224,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 7200
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 377.9,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 152330240,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 96948224,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 7500
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 393.0,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 153792512,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 97878016,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 7800
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 408.2,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 153501696,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 97869824,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 8100
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 423.3,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 153280512,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 97873920,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 8396
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 438.4,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 153022464,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 97890304,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 8696
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 453.5,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 153305088,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 97890304,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 8996
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 468.6,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 153513984,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 97890304,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 9296
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 483.7,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 153382912,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 97890304,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 9596
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 498.9,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 153264128,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 97890304,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 9896
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 514.0,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 153776128,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 97894400,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 10196
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 529.1,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 153600000,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 97906688,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 10496
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 544.2,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 153337856,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 97906688,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 10796
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 559.4,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 153845760,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 97886208,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 11096
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 574.5,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 153067520,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 97886208,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 11394
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 589.6,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 153624576,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 97906688,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 11694
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 604.7,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"current": 153108480,
|
||||||
|
"peak": 157536256,
|
||||||
|
"anon": 97906688,
|
||||||
|
"oom_kill": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"status": "running",
|
||||||
|
"cgroup": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requests": 11992
|
||||||
|
}
|
||||||
|
]
|
||||||
+3
@@ -0,0 +1,3 @@
|
|||||||
|
[2Kemby | Info SqliteUserRepository: Sqlite compiler options: ATOMIC_INTRINSICS=1,COMPILER=gcc-13.4.0,DEFAULT_AUTOVACUUM,DEFAULT_CACHE_SIZE=-2000,DEFAULT_FILE_FORMAT=4,DEFAULT_JOURNAL_SIZE_LIMIT=-1,DEFAULT_MMAP_SIZE=0,DEFAULT_PAGE_SIZE=4096,DEFAULT_PCACHE_INITSZ=20,DEFAULT_RECURSIVE_TRIGGERS,DEFAULT_SECTOR_SIZE=4096,DEFAULT_SYNCHRONOUS=2,DEFAULT_WAL_AUTOCHECKPOINT=1000,DEFAULT_WAL_SYNCHRONOUS=2,DEFAULT_WORKER_THREADS=0,DIRECT_OVERFLOW_READ,ENABLE_COLUMN_METADATA,ENABLE_FTS3_PARENTHESIS,ENABLE_FTS3_TOKENIZER,ENABLE_FTS5,ENABLE_MATH_FUNCTIONS,ENABLE_PERCENTILE,ENABLE_UPDATE_DELETE_LIMIT,LIKE_DOESNT_MATCH_BLOBS,MALLOC_SOFT_LIMIT=1024,MAX_ATTACHED=10,MAX_COLUMN=2000,MAX_COMPOUND_SELECT=500,MAX_DEFAULT_PAGE_SIZE=8192,MAX_EXPR_DEPTH=1000,MAX_FUNCTION_ARG=1000,MAX_LENGTH=1000000000,MAX_LIKE_PATTERN_LENGTH=50000,MAX_MMAP_SIZE=0x7fff0000,MAX_PAGE_COUNT=0xfffffffe,MAX_PAGE_SIZE=65536,MAX_SCHEMA_RETRY=25,MAX_SQL_LENGTH=1000000000,MAX_TRIGGER_DEPTH=1000,MAX_VARIABLE_NUMBER=250000,MAX_VDBE_OP=250000000,MAX_WORKER_THREADS=8,MUTEX_PTHREADS,OMIT_LOOKASIDE,OMIT_SHARED_CACHE,SYSTEM_MALLOC,TEMP_STORE=1,THREADSAFE=1
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Implementations.Playlists.PlaylistUpgradeEntryPoint
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Implementations.Playlists.PlaylistUpgradeEntryPoint. Duration: 0.0012941 seconds
|
||||||
+58
@@ -0,0 +1,58 @@
|
|||||||
|
[15:16:39] scratch drive folders cleared before FROM (R-656): ['/srv/felhom-gate/hdd/userdata/media']
|
||||||
|
[15:16:39] MV-emby: deploying emby at FROM {'emby': 'emby/embyserver:4.11.0.3'}
|
||||||
|
[15:17:29] FROM settled=True in 30.8s :: {"emby": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}}
|
||||||
|
[15:17:29] fixture: the BOX walk's own (Emby), through upgrade_boxport
|
||||||
|
[15:17:29] emby: seeded first user drillde12c4fd
|
||||||
|
[15:17:29] emby: readback found=True (http 200, control passed)
|
||||||
|
[15:17:29] C1 (seed reads back BEFORE): True
|
||||||
|
[15:17:29] MV-emby: swapping to TO {'emby': 'emby/embyserver:4.11.0.4'}
|
||||||
|
[15:17:49] TO up -d rc=0
|
||||||
|
[15:18:20] TO settled=True in 30.8s :: {"emby": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}}
|
||||||
|
[15:18:20] migration lines observed: 3
|
||||||
|
[15:18:20] emby: readback found=True (http 200, control passed)
|
||||||
|
[15:18:20] RESULT (seed reads back AFTER): True
|
||||||
|
[15:18:21] memory watch: 600s, 4 callers on 1 path(s) at 172.18.0.2:8096
|
||||||
|
[15:18:36] + 15s emby=148M/2048M peak=150M kills=0 rs=0 reqs=300
|
||||||
|
[15:18:51] + 30s emby=146M/2048M peak=150M kills=0 rs=0 reqs=600
|
||||||
|
[15:19:06] + 45s emby=147M/2048M peak=150M kills=0 rs=0 reqs=900
|
||||||
|
[15:19:21] + 60s emby=147M/2048M peak=150M kills=0 rs=0 reqs=1200
|
||||||
|
[15:19:36] + 76s emby=146M/2048M peak=150M kills=0 rs=0 reqs=1500
|
||||||
|
[15:19:51] + 91s emby=146M/2048M peak=150M kills=0 rs=0 reqs=1800
|
||||||
|
[15:20:06] + 106s emby=147M/2048M peak=150M kills=0 rs=0 reqs=2100
|
||||||
|
[15:20:22] + 121s emby=147M/2048M peak=150M kills=0 rs=0 reqs=2400
|
||||||
|
[15:20:37] + 136s emby=147M/2048M peak=150M kills=0 rs=0 reqs=2700
|
||||||
|
[15:20:52] + 151s emby=144M/2048M peak=150M kills=0 rs=0 reqs=3001
|
||||||
|
[15:21:07] + 166s emby=144M/2048M peak=150M kills=0 rs=0 reqs=3301
|
||||||
|
[15:21:22] + 181s emby=144M/2048M peak=150M kills=0 rs=0 reqs=3601
|
||||||
|
[15:21:37] + 196s emby=144M/2048M peak=150M kills=0 rs=0 reqs=3901
|
||||||
|
[15:21:52] + 212s emby=144M/2048M peak=150M kills=0 rs=0 reqs=4199
|
||||||
|
[15:22:07] + 227s emby=144M/2048M peak=150M kills=0 rs=0 reqs=4499
|
||||||
|
[15:22:23] + 242s emby=144M/2048M peak=150M kills=0 rs=0 reqs=4799
|
||||||
|
[15:22:38] + 257s emby=145M/2048M peak=150M kills=0 rs=0 reqs=5099
|
||||||
|
[15:22:53] + 272s emby=144M/2048M peak=150M kills=0 rs=0 reqs=5402
|
||||||
|
[15:23:08] + 287s emby=147M/2048M peak=150M kills=0 rs=0 reqs=5702
|
||||||
|
[15:23:23] + 302s emby=144M/2048M peak=150M kills=0 rs=0 reqs=6002
|
||||||
|
[15:23:38] + 318s emby=144M/2048M peak=150M kills=0 rs=0 reqs=6302
|
||||||
|
[15:23:53] + 333s emby=144M/2048M peak=150M kills=0 rs=0 reqs=6602
|
||||||
|
[15:24:08] + 348s emby=145M/2048M peak=150M kills=0 rs=0 reqs=6902
|
||||||
|
[15:24:24] + 363s emby=144M/2048M peak=150M kills=0 rs=0 reqs=7200
|
||||||
|
[15:24:39] + 378s emby=145M/2048M peak=150M kills=0 rs=0 reqs=7500
|
||||||
|
[15:24:54] + 393s emby=146M/2048M peak=150M kills=0 rs=0 reqs=7800
|
||||||
|
[15:25:09] + 408s emby=146M/2048M peak=150M kills=0 rs=0 reqs=8100
|
||||||
|
[15:25:24] + 423s emby=146M/2048M peak=150M kills=0 rs=0 reqs=8396
|
||||||
|
[15:25:39] + 438s emby=145M/2048M peak=150M kills=0 rs=0 reqs=8696
|
||||||
|
[15:25:54] + 454s emby=146M/2048M peak=150M kills=0 rs=0 reqs=8996
|
||||||
|
[15:26:09] + 469s emby=146M/2048M peak=150M kills=0 rs=0 reqs=9296
|
||||||
|
[15:26:24] + 484s emby=146M/2048M peak=150M kills=0 rs=0 reqs=9596
|
||||||
|
[15:26:40] + 499s emby=146M/2048M peak=150M kills=0 rs=0 reqs=9896
|
||||||
|
[15:26:55] + 514s emby=146M/2048M peak=150M kills=0 rs=0 reqs=10196
|
||||||
|
[15:27:10] + 529s emby=146M/2048M peak=150M kills=0 rs=0 reqs=10496
|
||||||
|
[15:27:25] + 544s emby=146M/2048M peak=150M kills=0 rs=0 reqs=10796
|
||||||
|
[15:27:40] + 559s emby=146M/2048M peak=150M kills=0 rs=0 reqs=11096
|
||||||
|
[15:27:55] + 574s emby=145M/2048M peak=150M kills=0 rs=0 reqs=11394
|
||||||
|
[15:28:10] + 590s emby=146M/2048M peak=150M kills=0 rs=0 reqs=11694
|
||||||
|
[15:28:25] + 605s emby=146M/2048M peak=150M kills=0 rs=0 reqs=11992
|
||||||
|
[15:28:26] memory watch: killed=False tight=[] requests=11992 codes={'302': 11992}
|
||||||
|
[15:28:26] MV-emby: ABORT — putting the FROM images back
|
||||||
|
[15:28:57] emby: readback found=True (http 200, control passed)
|
||||||
|
[15:28:57] ABORT: app came back in 30.8s; data present=True
|
||||||
+285
@@ -0,0 +1,285 @@
|
|||||||
|
[2Kemby | s6-rc: info: service s6rc-oneshot-runner: starting
|
||||||
|
[2Kemby | s6-rc: info: service s6rc-oneshot-runner successfully started
|
||||||
|
[2Kemby | s6-rc: info: service fix-attrs: starting
|
||||||
|
[2Kemby | s6-rc: info: service fix-attrs successfully started
|
||||||
|
[2Kemby | s6-rc: info: service legacy-cont-init: starting
|
||||||
|
[2Kemby | s6-rc: info: service legacy-cont-init successfully started
|
||||||
|
[2Kemby | s6-rc: info: service emby-server: starting
|
||||||
|
[2Kemby | s6-rc: info: service emby-server successfully started
|
||||||
|
[2Kemby | s6-rc: info: service legacy-services: starting
|
||||||
|
[2Kemby | s6-rc: info: service legacy-services successfully started
|
||||||
|
[2Kemby | Info Main: Application path: /system/EmbyServer.dll
|
||||||
|
[2Kemby | Info NetworkManager: Adding event handler for NetworkChange.NetworkAddressChanged
|
||||||
|
[2Kemby | Info App: Setting default culture to en-us
|
||||||
|
[2Kemby | Info Main: Emby Server 4.11.0.4
|
||||||
|
[2Kemby | Command line: /system/EmbyServer.dll -programdata /config -ffdetect /bin/ffdetect -ffmpeg /bin/ffmpeg -ffprobe /bin/ffprobe -restartexitcode 3
|
||||||
|
[2Kemby | Operating system: Linux version 7.0.2-6-pve (build@proxmox) (gcc (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44) #1 SMP PREEMPT_DYNAMIC PMX 7.0.2-6 (2
|
||||||
|
[2Kemby | OS/Process: x64/x64
|
||||||
|
[2Kemby | Framework: .NET 8.0.28
|
||||||
|
[2Kemby | Runtime: system/System.Private.CoreLib.dll
|
||||||
|
[2Kemby | Processor count: 6
|
||||||
|
[2Kemby | Data path: /config
|
||||||
|
[2Kemby | Application path: /system
|
||||||
|
[2Kemby | Info Main: Logs path: /config/logs
|
||||||
|
[2Kemby | Info Main: Cache path: /config/cache
|
||||||
|
[2Kemby | Info Main: Internal metadata path: /config/metadata
|
||||||
|
[2Kemby | Info Main: DefaultThreadCurrentCulture: en-US
|
||||||
|
[2Kemby | Info Main: DefaultThreadCurrentUICulture: en-US
|
||||||
|
[2Kemby | Info Main: DefaultThreadCurrentUICulture: en-US
|
||||||
|
[2Kemby | Info Main: Server Friendly Name: 311c00602fa0
|
||||||
|
[2Kemby | Info Main: Local time: 09/30/2026 17:17:50 +02:00
|
||||||
|
[2Kemby | Info App: Emby Server Version: 4.11.0.4
|
||||||
|
[2Kemby | Info App: Loading assemblies
|
||||||
|
[2Kemby | Info App: File /config/plugins/Emby.M3UTuner.dll has version 1.0.46.0
|
||||||
|
[2Kemby | Info App: File /system/plugins/Emby.M3UTuner.dll has version 1.0.46.0
|
||||||
|
[2Kemby | Info App: File /config/plugins/Emby.Dlna.dll has version 1.5.7.0
|
||||||
|
[2Kemby | Info App: File /system/plugins/Emby.Dlna.dll has version 1.5.7.0
|
||||||
|
[2Kemby | Info App: File /config/plugins/MBBackup.dll has version 1.8.6.0
|
||||||
|
[2Kemby | Info App: File /system/plugins/MBBackup.dll has version 1.8.6.0
|
||||||
|
[2Kemby | Info App: File /config/plugins/Emby.Server.CinemaMode.dll has version 1.0.53.0
|
||||||
|
[2Kemby | Info App: File /system/plugins/Emby.Server.CinemaMode.dll has version 1.0.53.0
|
||||||
|
[2Kemby | Info App: File /config/plugins/Emby.PortMapper.dll has version 1.3.0.0
|
||||||
|
[2Kemby | Info App: File /system/plugins/Emby.PortMapper.dll has version 1.3.0.0
|
||||||
|
[2Kemby | Info App: File /config/plugins/AudioDb.dll has version 1.0.22.0
|
||||||
|
[2Kemby | Info App: File /system/plugins/AudioDb.dll has version 1.0.21.0
|
||||||
|
[2Kemby | Info App: File /config/plugins/DvdMounter.dll has version 1.0.2.0
|
||||||
|
[2Kemby | Info App: File /system/plugins/DvdMounter.dll has version 1.0.2.0
|
||||||
|
[2Kemby | Info App: File /config/plugins/Emby.XmlTV.dll has version 1.2.2.0
|
||||||
|
[2Kemby | Info App: File /system/plugins/Emby.XmlTV.dll has version 1.2.2.0
|
||||||
|
[2Kemby | Info App: File /config/plugins/MusicBrainz.dll has version 1.0.32.0
|
||||||
|
[2Kemby | Info App: File /system/plugins/MusicBrainz.dll has version 1.0.32.0
|
||||||
|
[2Kemby | Info App: File /config/plugins/OMDb.dll has version 1.0.23.0
|
||||||
|
[2Kemby | Info App: File /system/plugins/OMDb.dll has version 1.0.23.0
|
||||||
|
[2Kemby | Info App: File /config/plugins/Emby.Webhooks.dll has version 1.0.38.0
|
||||||
|
[2Kemby | Info App: File /system/plugins/Emby.Webhooks.dll has version 1.0.38.0
|
||||||
|
[2Kemby | Info App: File /config/plugins/NfoMetadata.dll has version 1.0.86.0
|
||||||
|
[2Kemby | Info App: File /system/plugins/NfoMetadata.dll has version 1.0.86.0
|
||||||
|
[2Kemby | Info App: File /config/plugins/Fanart.dll has version 1.0.18.0
|
||||||
|
[2Kemby | Info App: File /system/plugins/Fanart.dll has version 1.0.18.0
|
||||||
|
[2Kemby | Info App: File /config/plugins/BlurayMounter.dll has version 1.0.5.0
|
||||||
|
[2Kemby | Info App: File /system/plugins/BlurayMounter.dll has version 1.0.5.0
|
||||||
|
[2Kemby | Info App: File /config/plugins/EmbyGuideData.dll has version 1.0.21.0
|
||||||
|
[2Kemby | Info App: File /system/plugins/EmbyGuideData.dll has version 1.0.21.0
|
||||||
|
[2Kemby | Info App: File /config/plugins/MovieDb.dll has version 1.9.5.0
|
||||||
|
[2Kemby | Info App: File /system/plugins/MovieDb.dll has version 1.9.5.0
|
||||||
|
[2Kemby | Info App: File /config/plugins/StudioImages.dll has version 1.0.3.0
|
||||||
|
[2Kemby | Info App: File /system/plugins/StudioImages.dll has version 1.0.3.0
|
||||||
|
[2Kemby | Info App: File /config/plugins/Tvdb.dll has version 1.6.7.0
|
||||||
|
[2Kemby | Info App: File /system/plugins/Tvdb.dll has version 1.6.6.0
|
||||||
|
[2Kemby | Info App: File /config/plugins/OpenSubtitles.dll has version 1.0.69.0
|
||||||
|
[2Kemby | Info App: File /system/plugins/OpenSubtitles.dll has version 1.0.69.0
|
||||||
|
[2Kemby | Info App: Loading Emby.Api, Version=4.11.0.4, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading Emby.Web, Version=4.11.0.4, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading MediaBrowser.Model, Version=4.11.0.4, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading MediaBrowser.Common, Version=4.11.0.4, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading MediaBrowser.Controller, Version=4.11.0.4, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading Emby.Providers, Version=4.11.0.4, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading Emby.Photos, Version=4.11.0.4, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading Emby.Server.Implementations, Version=4.11.0.4, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading Emby.LiveTV, Version=4.11.0.4, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading Emby.ActivityLog, Version=4.11.0.4, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading Emby.Server.MediaEncoding, Version=4.11.0.4, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading Emby.LocalMetadata, Version=4.11.0.4, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading Emby.Notifications, Version=4.11.0.4, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading Emby.Web.GenericUI, Version=4.11.0.4, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading Emby.Codecs.Dxva, Version=4.11.0.4, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading Emby.Codecs, Version=4.11.0.4, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading Emby.Server.Connect, Version=4.11.0.4, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading Emby.Server.Sync, Version=4.11.0.4, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading EmbyServer, Version=4.11.0.4, Culture=neutral, PublicKeyToken=null
|
||||||
|
[2Kemby | Info App: Loading Emby.M3UTuner, Version=1.0.46.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Emby.M3UTuner.dll
|
||||||
|
[2Kemby | Info App: Loading Emby.Dlna, Version=1.5.7.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Emby.Dlna.dll
|
||||||
|
[2Kemby | Info App: Loading MBBackup, Version=1.8.6.0, Culture=neutral, PublicKeyToken=null from /config/plugins/MBBackup.dll
|
||||||
|
[2Kemby | Info App: Loading Emby.Server.CinemaMode, Version=1.0.53.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Emby.Server.CinemaMode.dll
|
||||||
|
[2Kemby | Info App: Loading Emby.PortMapper, Version=1.3.0.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Emby.PortMapper.dll
|
||||||
|
[2Kemby | Info App: Loading AudioDb, Version=1.0.22.0, Culture=neutral, PublicKeyToken=null from /config/plugins/AudioDb.dll
|
||||||
|
[2Kemby | Info App: Loading DvdMounter, Version=1.0.2.0, Culture=neutral, PublicKeyToken=null from /config/plugins/DvdMounter.dll
|
||||||
|
[2Kemby | Info App: Loading Emby.XmlTV, Version=1.2.2.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Emby.XmlTV.dll
|
||||||
|
[2Kemby | Info App: Loading MusicBrainz, Version=1.0.32.0, Culture=neutral, PublicKeyToken=null from /config/plugins/MusicBrainz.dll
|
||||||
|
[2Kemby | Info App: Loading OMDb, Version=1.0.23.0, Culture=neutral, PublicKeyToken=null from /config/plugins/OMDb.dll
|
||||||
|
[2Kemby | Info App: Loading Emby.Webhooks, Version=1.0.38.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Emby.Webhooks.dll
|
||||||
|
[2Kemby | Info App: Loading NfoMetadata, Version=1.0.86.0, Culture=neutral, PublicKeyToken=null from /config/plugins/NfoMetadata.dll
|
||||||
|
[2Kemby | Info App: Loading Fanart, Version=1.0.18.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Fanart.dll
|
||||||
|
[2Kemby | Info App: Loading BlurayMounter, Version=1.0.5.0, Culture=neutral, PublicKeyToken=null from /config/plugins/BlurayMounter.dll
|
||||||
|
[2Kemby | Info App: Loading EmbyGuideData, Version=1.0.21.0, Culture=neutral, PublicKeyToken=null from /config/plugins/EmbyGuideData.dll
|
||||||
|
[2Kemby | Info App: Loading MovieDb, Version=1.9.5.0, Culture=neutral, PublicKeyToken=null from /config/plugins/MovieDb.dll
|
||||||
|
[2Kemby | Info App: Loading StudioImages, Version=1.0.3.0, Culture=neutral, PublicKeyToken=null from /config/plugins/StudioImages.dll
|
||||||
|
[2Kemby | Info App: Loading Tvdb, Version=1.6.7.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Tvdb.dll
|
||||||
|
[2Kemby | Info App: Loading OpenSubtitles, Version=1.0.69.0, Culture=neutral, PublicKeyToken=null from /config/plugins/OpenSubtitles.dll
|
||||||
|
[2Kemby | Info SqliteUserRepository: Initializing PooledDatabaseConnectionManager with pool size: 3
|
||||||
|
[2Kemby | Info SqliteUserRepository: Sqlite version: 3.53.4
|
||||||
|
[2Kemby | Info SqliteUserRepository: Sqlite compiler options: ATOMIC_INTRINSICS=1,COMPILER=gcc-13.4.0,DEFAULT_AUTOVACUUM,DEFAULT_CACHE_SIZE=-2000,DEFAULT_FILE_FORMAT=4,DEFAULT_JOURNAL_SIZE_LIMIT=-1,DEFAULT_MMAP_SIZE=0,DEFAULT_PAGE_SIZE=4096,DEFAULT_PCACHE_INITSZ=20,DEFAULT_RECURSIVE_TRIGGERS,DEFAULT_SECTOR_SIZE=4096,DEFAULT_SYNCHRONOUS=2,DEFAULT_WAL_AUTOCHECKPOINT=1000,DEFAULT_WAL_SYNCHRONOUS=2,DEFAULT_WORKER_THREADS=0,DIRECT_OVERFLOW_READ,ENABLE_COLUMN_METADATA,ENABLE_FTS3_PARENTHESIS,ENABLE_FTS3_TOKENIZER,ENABLE_FTS5,ENABLE_MATH_FUNCTIONS,ENABLE_PERCENTILE,ENABLE_UPDATE_DELETE_LIMIT,LIKE_DOESNT_MATCH_BLOBS,MALLOC_SOFT_LIMIT=1024,MAX_ATTACHED=10,MAX_COLUMN=2000,MAX_COMPOUND_SELECT=500,MAX_DEFAULT_PAGE_SIZE=8192,MAX_EXPR_DEPTH=1000,MAX_FUNCTION_ARG=1000,MAX_LENGTH=1000000000,MAX_LIKE_PATTERN_LENGTH=50000,MAX_MMAP_SIZE=0x7fff0000,MAX_PAGE_COUNT=0xfffffffe,MAX_PAGE_SIZE=65536,MAX_SCHEMA_RETRY=25,MAX_SQL_LENGTH=1000000000,MAX_TRIGGER_DEPTH=1000,MAX_VARIABLE_NUMBER=250000,MAX_VDBE_OP=250000000,MAX_WORKER_THREADS=8,MUTEX_PTHREADS,OMIT_LOOKASIDE,OMIT_SHARED_CACHE,SYSTEM_MALLOC,TEMP_STORE=1,THREADSAFE=1
|
||||||
|
[2Kemby | Info SqliteUserRepository: Sqlite ThreadSafe: 1
|
||||||
|
[2Kemby | Info SqliteUserRepository: Sqlite ThreadingMode: MultiThreaded
|
||||||
|
[2Kemby | Info SqliteUserRepository: Opening sqlite connection to /config/data/users.db. isReadOnly: False
|
||||||
|
[2Kemby | Info SqliteUserRepository: Default journal_mode for /config/data/users.db is wal
|
||||||
|
[2Kemby | Info SqliteUserRepository: PRAGMA cache_size=-65536
|
||||||
|
[2Kemby | Info SqliteUserRepository: PRAGMA page_size=4096
|
||||||
|
[2Kemby | Info SqliteUserRepository: PRAGMA foreign_keys=1
|
||||||
|
[2Kemby | Info SqliteUserRepository: PRAGMA SECURE_DELETE=0
|
||||||
|
[2Kemby | Info SqliteUserRepository: Result of setting SQLITE_DBCONFIG_DQS_DDL to 0 is 0
|
||||||
|
[2Kemby | Info SqliteUserRepository: Result of setting SQLITE_DBCONFIG_DQS_DML to 0 is 0
|
||||||
|
[2Kemby | Info SqliteItemRepository: Initializing PooledDatabaseConnectionManager with pool size: 5
|
||||||
|
[2Kemby | Info AuthenticationRepository: Initializing PooledDatabaseConnectionManager with pool size: 5
|
||||||
|
[2Kemby | Info ActivityRepository: Initializing PooledDatabaseConnectionManager with pool size: 3
|
||||||
|
[2Kemby | Info ActivityRepository: Opening sqlite connection to /config/data/activitylog.db. isReadOnly: False
|
||||||
|
[2Kemby | Info ActivityRepository: Default journal_mode for /config/data/activitylog.db is wal
|
||||||
|
[2Kemby | Info ActivityRepository: PRAGMA cache_size=-65536
|
||||||
|
[2Kemby | Info ActivityRepository: PRAGMA page_size=4096
|
||||||
|
[2Kemby | Info ActivityRepository: PRAGMA foreign_keys=1
|
||||||
|
[2Kemby | Info ActivityRepository: PRAGMA SECURE_DELETE=0
|
||||||
|
[2Kemby | Info ActivityRepository: Result of setting SQLITE_DBCONFIG_DQS_DDL to 0 is 0
|
||||||
|
[2Kemby | Info ActivityRepository: Result of setting SQLITE_DBCONFIG_DQS_DML to 0 is 0
|
||||||
|
[2Kemby | Info NetworkManager: Detecting local network addresses
|
||||||
|
[2Kemby | Info NetworkManager: networkInterface: Ethernet eth0, Speed: 10000000000, Description: eth0
|
||||||
|
[2Kemby | Info NetworkManager: GatewayAddresses: 172.18.0.1
|
||||||
|
[2Kemby | Info NetworkManager: UnicastAddresses: 172.18.0.2
|
||||||
|
[2Kemby | Info NetworkManager: networkInterface: Loopback lo, Speed: -1, Description: lo
|
||||||
|
[2Kemby | Info NetworkManager: GatewayAddresses:
|
||||||
|
[2Kemby | Info NetworkManager: UnicastAddresses: 127.0.0.1,::1
|
||||||
|
[2Kemby | Info NetworkManager: Detected local ip addresses: [{"IPAddress":"172.18.0.2","HasGateWayAddress":true,"PrefixLength":16,"IPv4Mask":"255.255.0.0","BroadcastAddress":"172.18.255.255"},{"IPAddress":"127.0.0.1","HasGateWayAddress":false,"PrefixLength":8,"IPv4Mask":"255.0.0.0","BroadcastAddress":"127.255.255.255"},{"IPAddress":"::1","HasGateWayAddress":false,"PrefixLength":128}]
|
||||||
|
[2Kemby | Info App: Adding HttpListener prefix http://+:8096/
|
||||||
|
[2Kemby | Info AuthenticationRepository: Opening sqlite connection to /config/data/authentication.db. isReadOnly: False
|
||||||
|
[2Kemby | Info AuthenticationRepository: Default journal_mode for /config/data/authentication.db is wal
|
||||||
|
[2Kemby | Info AuthenticationRepository: PRAGMA cache_size=-65536
|
||||||
|
[2Kemby | Info AuthenticationRepository: PRAGMA page_size=4096
|
||||||
|
[2Kemby | Info AuthenticationRepository: PRAGMA foreign_keys=1
|
||||||
|
[2Kemby | Info AuthenticationRepository: PRAGMA SECURE_DELETE=0
|
||||||
|
[2Kemby | Info AuthenticationRepository: Result of setting SQLITE_DBCONFIG_DQS_DDL to 0 is 0
|
||||||
|
[2Kemby | Info AuthenticationRepository: Result of setting SQLITE_DBCONFIG_DQS_DML to 0 is 0
|
||||||
|
[2Kemby | Info SqliteItemRepository: Opening sqlite connection to /config/data/library.db. isReadOnly: False
|
||||||
|
[2Kemby | Info SqliteItemRepository: Default journal_mode for /config/data/library.db is wal
|
||||||
|
[2Kemby | Info SqliteItemRepository: PRAGMA cache_size=-131072
|
||||||
|
[2Kemby | Info SqliteItemRepository: PRAGMA page_size=4096
|
||||||
|
[2Kemby | Info SqliteItemRepository: PRAGMA foreign_keys=1
|
||||||
|
[2Kemby | Info SqliteItemRepository: PRAGMA SECURE_DELETE=0
|
||||||
|
[2Kemby | Info SqliteItemRepository: Result of setting SQLITE_DBCONFIG_DQS_DDL to 0 is 0
|
||||||
|
[2Kemby | Info SqliteItemRepository: Result of setting SQLITE_DBCONFIG_DQS_DML to 0 is 0
|
||||||
|
[2Kemby | Info SqliteItemRepository: Init Complete
|
||||||
|
[2Kemby | Info SqliteItemRepository: Opening sqlite connection to /config/data/library.db. isReadOnly: True
|
||||||
|
[2Kemby | Info SqliteItemRepository: PRAGMA cache_size=-131072
|
||||||
|
[2Kemby | Info SqliteItemRepository: PRAGMA page_size=4096
|
||||||
|
[2Kemby | Info SqliteItemRepository: PRAGMA foreign_keys=1
|
||||||
|
[2Kemby | Info SqliteItemRepository: PRAGMA SECURE_DELETE=0
|
||||||
|
[2Kemby | Info SqliteItemRepository: Result of setting SQLITE_DBCONFIG_DQS_DDL to 0 is 0
|
||||||
|
[2Kemby | Info SqliteItemRepository: Result of setting SQLITE_DBCONFIG_DQS_DML to 0 is 0
|
||||||
|
[2Kemby | Info SqliteUserRepository: Opening sqlite connection to /config/data/users.db. isReadOnly: True
|
||||||
|
[2Kemby | Info SqliteUserRepository: PRAGMA cache_size=-65536
|
||||||
|
[2Kemby | Info SqliteUserRepository: PRAGMA page_size=4096
|
||||||
|
[2Kemby | Info SqliteUserRepository: PRAGMA foreign_keys=1
|
||||||
|
[2Kemby | Info SqliteUserRepository: PRAGMA SECURE_DELETE=0
|
||||||
|
[2Kemby | Info SqliteUserRepository: Result of setting SQLITE_DBCONFIG_DQS_DDL to 0 is 0
|
||||||
|
[2Kemby | Info SqliteUserRepository: Result of setting SQLITE_DBCONFIG_DQS_DML to 0 is 0
|
||||||
|
[2Kemby | Info App: Emby Server 4.11.0.4
|
||||||
|
[2Kemby | Command line: /system/EmbyServer.dll -programdata /config -ffdetect /bin/ffdetect -ffmpeg /bin/ffmpeg -ffprobe /bin/ffprobe -restartexitcode 3
|
||||||
|
[2Kemby | Operating system: Linux version 7.0.2-6-pve (build@proxmox) (gcc (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44) #1 SMP PREEMPT_DYNAMIC PMX 7.0.2-6 (2
|
||||||
|
[2Kemby | OS/Process: x64/x64
|
||||||
|
[2Kemby | Framework: .NET 8.0.28
|
||||||
|
[2Kemby | Runtime: system/System.Private.CoreLib.dll
|
||||||
|
[2Kemby | Processor count: 6
|
||||||
|
[2Kemby | Data path: /config
|
||||||
|
[2Kemby | Application path: /system
|
||||||
|
[2Kemby | Info App: Logs path: /config/logs
|
||||||
|
[2Kemby | Info App: Cache path: /config/cache
|
||||||
|
[2Kemby | Info App: Internal metadata path: /config/metadata
|
||||||
|
[2Kemby | Info App: Transcoding temporary files path: /config/transcoding-temp
|
||||||
|
[2Kemby | Info App: DefaultThreadCurrentCulture: en-US
|
||||||
|
[2Kemby | Info App: DefaultThreadCurrentUICulture: en-US
|
||||||
|
[2Kemby | Info App: DefaultThreadCurrentUICulture: en-US
|
||||||
|
[2Kemby | Info App: Server Friendly Name: 311c00602fa0
|
||||||
|
[2Kemby | Info App: Local time: 09/30/2026 17:17:50 +02:00
|
||||||
|
[2Kemby | Info FfmpegManager: FFMpeg: /bin/ffmpeg
|
||||||
|
[2Kemby | Info FfmpegManager: FFProbe: /bin/ffprobe
|
||||||
|
[2Kemby | Info FfmpegManager: FFDetect: /bin/ffdetect
|
||||||
|
[2Kemby | Info Skia: SkiaSharp version: 2.88.0.0
|
||||||
|
[2Kemby | Info libvips: NetVips version: 3.0.0.0
|
||||||
|
[2Kemby | Info ImageProcessor: Adding image processor Skia
|
||||||
|
[2Kemby | Info ImageProcessor: Adding image processor libvips
|
||||||
|
[2Kemby | Info TaskManager: Daily trigger for Video preview thumbnail extraction set to fire at 10/01/2026 02:00:00, which is 522.1334624716667 minutes from now.
|
||||||
|
[2Kemby | Info TaskManager: Daily trigger for Rotate log file set to fire at 10/01/2026 00:00:00, which is 402.13306065166665 minutes from now.
|
||||||
|
[2Kemby | Info TaskManager: Queueing task HardwareDetectionScheduledTask
|
||||||
|
[2Kemby | Info TaskManager: Executing Hardware Detection
|
||||||
|
[2Kemby | Info TaskManager: Daily trigger for Emby Server Backup set to fire at 10/01/2026 00:10:00, which is 412.1328347983333 minutes from now.
|
||||||
|
[2Kemby | Info App: ServerId: d21d02efaa4f4b778f0e53cb03473983
|
||||||
|
[2Kemby | Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -version' Execute: /bin/ffmpeg -hide_banner -version
|
||||||
|
[2Kemby | Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -version' Process exited with code 0
|
||||||
|
[2Kemby | Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -decoders' Execute: /bin/ffmpeg -hide_banner -decoders
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Implementations.Networking.RemoteAddressEntryPoint
|
||||||
|
[2Kemby | Info App: Loading data from /config/data/wan.dat
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Implementations.Networking.RemoteAddressEntryPoint. Duration: 0.003612 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Connect.ConnectEntryPoint
|
||||||
|
[2Kemby | Info App: Loading data from /config/data/connect.txt
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Connect.ConnectEntryPoint. Duration: 0.0019533 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Dlna.Main.DlnaEntryPoint
|
||||||
|
[2Kemby | Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -decoders' Process exited with code 0
|
||||||
|
[2Kemby | Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -encoders' Execute: /bin/ffmpeg -hide_banner -encoders
|
||||||
|
[2Kemby | Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -encoders' Process exited with code 0
|
||||||
|
[2Kemby | Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -hwaccels' Execute: /bin/ffmpeg -hide_banner -hwaccels
|
||||||
|
[2Kemby | Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -hwaccels' Process exited with code 0
|
||||||
|
[2Kemby | Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -protocols' Execute: /bin/ffmpeg -hide_banner -protocols
|
||||||
|
[2Kemby | Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -protocols' Process exited with code 0
|
||||||
|
[2Kemby | Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -filters' Execute: /bin/ffmpeg -hide_banner -filters
|
||||||
|
[2Kemby | Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -filters' Process exited with code 0
|
||||||
|
[2Kemby | Info FfmpegManager: FfmpegValidator.Validate complete
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Dlna.Main.DlnaEntryPoint. Duration: 0.0814284 seconds
|
||||||
|
[2Kemby | Info App: Core startup complete
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Implementations.Udp.UdpServerEntryPoint
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Implementations.Udp.UdpServerEntryPoint. Duration: 0.0012685 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Implementations.Session.PartyEventNotifier
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Implementations.Session.PartyEventNotifier. Duration: 0.0011552 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Implementations.Playlists.PlaylistUpgradeEntryPoint
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Implementations.Playlists.PlaylistUpgradeEntryPoint. Duration: 0.0012941 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Implementations.Library.DeviceAccessEntryPoint
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Implementations.Library.DeviceAccessEntryPoint. Duration: 0.0008418 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Implementations.IO.LibraryMonitorStartup
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Implementations.IO.LibraryMonitorStartup. Duration: 0.0157845 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Implementations.EntryPoints.AutomaticRestartEntryPoint
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.AutomaticRestartEntryPoint. Duration: 0.0004845 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Implementations.EntryPoints.KeepServerAwake
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.KeepServerAwake. Duration: 0.0001246 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Implementations.EntryPoints.LibraryChangedNotifier
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.LibraryChangedNotifier. Duration: 0.0006646 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Implementations.EntryPoints.LogLibrariesEntryPoint
|
||||||
|
[2Kemby | Info App: Libraries
|
||||||
|
[2Kemby | Server Configuration: CollapseVideoFolders: False
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.LogLibrariesEntryPoint. Duration: 0.0007897 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Implementations.EntryPoints.ServerEventNotifier
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.ServerEventNotifier. Duration: 0.001685 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Implementations.EntryPoints.StartupWizard
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.StartupWizard. Duration: 0.0002719 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Implementations.EntryPoints.SystemEvents
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.SystemEvents. Duration: 0.0002289 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Implementations.EntryPoints.UserDataChangeNotifier
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.UserDataChangeNotifier. Duration: 0.0002808 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Implementations.Channels.ChannelsEntryPoint
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Implementations.Channels.ChannelsEntryPoint. Duration: 0.0019908 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.LiveTV.EntryPoint
|
||||||
|
[2Kemby | Info LiveTV: Loading live tv data from /config/data/livetv/timers
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.LiveTV.EntryPoint. Duration: 0.0019397 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.LiveTV.RecordingNotifier
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.LiveTV.RecordingNotifier. Duration: 0.0010347 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.MediaEncoding.Api.EncodingManagerEntryPoint
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.MediaEncoding.Api.EncodingManagerEntryPoint. Duration: 0.0008181 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Notifications.NotificationManagerEntryPoint
|
||||||
|
[2Kemby | Info Notifications: Registering event nofitier Activity Log
|
||||||
|
[2Kemby | Info Notifications: Registering event nofitier Emby Server User Notifications
|
||||||
|
[2Kemby | Info Notifications: Registering event factory CoreNotificationTypeFactory
|
||||||
|
[2Kemby | Info Notifications: Registering event factory BackupNotificationTypeFactory
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Notifications.NotificationManagerEntryPoint. Duration: 0.0207902 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.Sync.SyncNotificationEntryPoint
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.Sync.SyncNotificationEntryPoint. Duration: 0.0010305 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point EmbyServer.Windows.LoopUtilEntryPoint
|
||||||
|
[2Kemby | Info App: Entry point completed: EmbyServer.Windows.LoopUtilEntryPoint. Duration: 8.16E-05 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point MBBackup.ServerEntryPoint
|
||||||
|
[2Kemby | Info App: Entry point completed: MBBackup.ServerEntryPoint. Duration: 8.44E-05 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Security.PluginSecurityManager
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Security.PluginSecurityManager. Duration: 3.85E-05 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.Server.CinemaMode.IntrosEntryPoint
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.Server.CinemaMode.IntrosEntryPoint. Duration: 0.0001348 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Emby.PortMapper.ExternalPortForwarding
|
||||||
|
[2Kemby | Info App: Entry point completed: Emby.PortMapper.ExternalPortForwarding. Duration: 0.0012258 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point NfoMetadata.EntryPoint
|
||||||
|
[2Kemby | Info App: Entry point completed: NfoMetadata.EntryPoint. Duration: 0.0001927 seconds
|
||||||
|
[2Kemby | Info App: Starting entry point Tvdb.EntryPoint
|
||||||
|
[2Kemby | Info App: Entry point completed: Tvdb.EntryPoint. Duration: 4.17E-05 seconds
|
||||||
|
[2Kemby | Info App: All entry points have started
|
||||||
+8
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"emby": {
|
||||||
|
"status": "running",
|
||||||
|
"health": "healthy",
|
||||||
|
"restarts": 0,
|
||||||
|
"exit": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
+53
@@ -0,0 +1,53 @@
|
|||||||
|
{
|
||||||
|
"harness_version": 4,
|
||||||
|
"edge": "MV-emby",
|
||||||
|
"app": "emby",
|
||||||
|
"note": "night 2026-09-23 within-a-major move: emby=emby/embyserver:4.11.0.4",
|
||||||
|
"from": {
|
||||||
|
"emby": "emby/embyserver:4.11.0.3"
|
||||||
|
},
|
||||||
|
"to": {
|
||||||
|
"emby": "emby/embyserver:4.11.0.4"
|
||||||
|
},
|
||||||
|
"verdict": "proven",
|
||||||
|
"seed_read_before": true,
|
||||||
|
"seed_read_after": true,
|
||||||
|
"healthy_after": true,
|
||||||
|
"migration_observed": "\u001b[2Kemby | Info SqliteUserRepository: Sqlite compiler options: ATOMIC_INTRINSICS=1,COMPILER=gcc-13.4.0,DEFAULT_AUTOVACUUM,DEFAULT_CACHE_SIZE=-2000,DEFAULT_FILE_FORMAT=4,DEFAULT_JOURNAL_SIZE_LIMIT=-1,DEFAULT_MMAP_SIZE=0,DEFAULT_PAGE_SIZE=4096,DEFAULT_PCACHE_INITSZ=20,DEFAULT_RECURSIVE_TRIGGERS,DEFAULT_SECTOR_SIZE=4096,DEFAULT_SYNCHRONOUS=2,DEFAULT_WAL_AUTOCHECKPOINT=1000,DEFAULT_WAL_SYNCHRONOUS=2,DEFAULT_WORKER_THREADS=0,DIRECT_OVERFLOW_READ,ENABLE_COLUMN_METADATA,ENABLE_FTS3_PARENTHESIS,ENABLE_FTS3_TOKENIZER,ENABLE_FTS5,ENABLE_MATH_FUNCTIONS,ENABLE_PERCENTILE,ENABLE_UPDATE_DELETE_LIMIT,LIKE_DOESNT_MATCH_BLOBS,MALLOC_SOFT_LIMIT=1024,MAX_ATTACHED=10,MAX_COLUMN=2000,MAX_COMPOUND_SELECT=500,MAX_DEFAULT_PAGE_SIZE=8192,MAX_EXPR_DEPTH=1000,MAX_FUNCTION_ARG=1000,MAX_LENGTH=1000000000,MAX_LIKE_PATTERN_LENGTH=50000,MAX_MMAP_SIZE=0x7fff0000,MAX_PAGE_COUNT=0xfffffffe,MAX_PAGE_SIZE=65536,MAX_SCHEMA_RETRY=25,MAX_SQL_LENGTH=1000000000,MAX_TRIGGER_DEPTH=1000,MAX_VARIABLE_NUMBER=250000,MAX_VDBE_OP=250000000,MAX_WORKER_THREADS=8,MUTEX_PTHREADS,OMIT_LOOKASIDE,OMIT_SHARED_CACHE,SYSTEM_MALLOC,TEMP_STORE=1,THREADSAFE=1",
|
||||||
|
"abort": "starts-and-serves",
|
||||||
|
"abort_detail": null,
|
||||||
|
"engine_state_after": null,
|
||||||
|
"memory": {
|
||||||
|
"soak_s": 604.9,
|
||||||
|
"requested_s": 600,
|
||||||
|
"requests": 11992,
|
||||||
|
"codes": {
|
||||||
|
"302": 11992
|
||||||
|
},
|
||||||
|
"first_kill": null,
|
||||||
|
"containers": {
|
||||||
|
"emby": {
|
||||||
|
"limit": 2147483648,
|
||||||
|
"peak": 157536256,
|
||||||
|
"peak_pct": 0.073,
|
||||||
|
"anon_peak_sampled": 101310464,
|
||||||
|
"anon_peak_pct": 0.047,
|
||||||
|
"oom_kills": 0,
|
||||||
|
"restarts": 0,
|
||||||
|
"oomkilled_flag": false,
|
||||||
|
"measured": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"unmeasured": [],
|
||||||
|
"load": "reached"
|
||||||
|
},
|
||||||
|
"marks": [],
|
||||||
|
"duration_s": 30.8,
|
||||||
|
"measured_at": "2026-09-30T15:28:57Z",
|
||||||
|
"evidence": "evidence/MV-emby",
|
||||||
|
"scratch_cleared": [
|
||||||
|
"/srv/felhom-gate/hdd/userdata/media"
|
||||||
|
],
|
||||||
|
"files_changed": [],
|
||||||
|
"total_s": 738.0
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user