 Container grimmory  Started
grimmory healthy after 76 s, rs=0
grimmory 345.5MiB / 1GiB
grimmory-db 110.1MiB / 384MiB
GET /api/v1/healthcheck -> 200 {"data":{"status":"UP","message":"Application is running smoothly.","timestamp":"2026-10-01T18:40:34.522827573","version":"v3.4.1"},"message":"Pong","
GET /api/v1/setup -> 405 {"message":"Method 'GET' is not supported.","status":405,"timestamp":"2026-10-01T18:40:34.562353319"}
GET /api/v1/setup/status -> 200 {"data":false,"message":"Initial setup is pending. No users have been created yet.","status":200,"timestamp":"2026-10-01T18:40:34.620685371"}
GET /api/v1/public-settings -> 200 {"oidcEnabled":false,"remoteAuthEnabled":false,"oidcProviderDetails":null,"oidcForceOnlyMode":false}
GET /api/v1/auth/status -> 401 {"timestamp":"2026-10-01T16:40:34.703Z","status":401,"error":"Unauthorized","path":"/api/v1/auth/status"}
GET / -> 200 <!doctype html> <html lang="en">  <head>   <meta charset="utf-8">   <title>Grimmory</title>   <base href="/">   <meta name="viewport" content="width=d
hdd/appdata/grimmory/data:
total 8
drwxr-xr-x 2 1000 1000 4096 Oct  1 16:39 .
drwxr-xr-x 3 root root 4096 Oct  1 16:39 ..

hdd/userdata/media/grimmory:
total 8
drwxr-xr-x 2 1000 1000 4096 Oct  1 16:39 .
drwxr-xr-x 3 root root 4096 Oct  1 16:39 ..
2026-10-01T18:39:28.741+02:00  INFO 1 --- [booklore-api] [           main] org.booklore.BookloreApplication         : Starting BookloreApplication v3.4.1 using Java 25.0.4 with PID 1 (/app/app.jar started by booklore in /)
2026-10-01T18:39:34.424+02:00  INFO 1 --- [booklore-api] [           main] o.s.boot.tomcat.TomcatWebServer          : Tomcat initialized with port 6060 (http)
2026-10-01T18:39:41.294+02:00  INFO 1 --- [booklore-api] [           main] o.f.core.internal.command.DbMigrate      : Migrating schema `grimmory` to version "84 - Assign admin users to all libraries"
2026-10-01T18:39:43.458+02:00  INFO 1 --- [booklore-api] [           main] o.f.core.internal.command.DbMigrate      : Migrating schema `grimmory` to version "106 - Add physical book support"
2026-10-01T18:39:43.758+02:00  INFO 1 --- [booklore-api] [           main] o.f.core.internal.command.DbMigrate      : Migrating schema `grimmory` to version "109 - Add audiobook support"
setup: 200 {"message":"Admin user created successfully.","status":200,"timestamp":"2026-10-01T18:41:36.59533927"}
status-after: {"data":true,"message":"Initial setup has already been completed.","status":200,"timestamp":"2026-10-01T18:41:36.6206093
setup-again: 403 {"message":"Setup is disabled after the first user is created.","status":403,"timestamp":"2026-10-01
login-keys: ['accessToken', 'expires', 'isDefaultPassword', 'refreshToken']
wrong-login: 401
lib: 400 {"message":"Request body is missing or malformed.","status":400,"timestamp":"2026-10-01T18:41:37.144599059"}
lib-and-path: Traceback (most recent call last): File "<string>", line 1, in <module> import json,sys;d=json.load(sys.stdin);l=d if isinstance(d,list) else d.get("data",d);print(l[0]["id"], l[0]["paths"][0]["id"]) ~^^^ IndexError: list index out of range
upload: 500 {"message":"An unexpected error occurred.","status":500,"timestamp":"2026-10-01T18:41:37.390720379"}
books: []
/root/gmt/hdd/userdata/media/grimmory:
total 8
drwxr-xr-x 2 1000 1000 4096 Oct  1 16:39 .
drwxr-xr-x 3 root root 4096 Oct  1 16:39 ..
opds-noauth: 401
opds-admin: 401
lib: 200 {"id":1,"name":"Konyvek","icon":"book","iconType":"LUCIDE","watch":true,"paths":[{"id":1,"path":"/books"}],"organizationMode":"BOOK_PER_FILE","metadataSource":"EMBEDDED"}
lib-and-path: 1 1
upload: 204
books: [{"addedOn":"2026-10-01T16:42:16Z","id":1,"isPhysical":false,"libraryId":1,"libraryName":"Konyvek","metadata":{"bookId":1,"title":"Felhom Teszt Konyv","language":"hu","authors":["Felhom"],"allMetadataLocked":false},"metadataMatchScore":23.6559,"primaryFile":{"addedOn":"2026-10-01T16:42:16Z","book":true,"bookId":1,"bookType":"EPUB","extension":"epub","fileName":"Felhom Teszt Konyv - Felhom.epub","f
/root/gmt/hdd/userdata/media/grimmory:
total 12
drwxr-xr-x 3 1000 1000 4096 Oct  1 16:42 .
drwxr-xr-x 3 root root 4096 Oct  1 16:39 ..
drwxr-xr-x 3 1000 1000 4096 Oct  1 16:42 Felhom

/root/gmt/hdd/userdata/media/grimmory/Felhom:
total 12
drwxr-xr-x 3 1000 1000 4096 Oct  1 16:42 .
drwxr-xr-x 3 1000 1000 4096 Oct  1 16:42 ..
2026-10-01T18:42:11.740+02:00 ERROR 1 --- [booklore-api] [    virtual-125] o.g.epub4j.epub.PackageDocumentReader    : Could not find table of contents resource. Tried resource with id '', toc, TOC and any NCX resource.
2026-10-01T18:42:11.760+02:00  INFO 1 --- [booklore-api] [mcat-handler-38] o.b.service.upload.FileUploadService     : File uploaded to final location: /books/Felhom/Felhom Teszt Konyv/Felhom Teszt Konyv - Felhom.epub
2026-10-01T18:42:16.915+02:00 ERROR 1 --- [booklore-api] [    virtual-136] o.g.epub4j.epub.PackageDocumentReader    : Could not find table of contents resource. Tried resource with id '', toc, TOC and any NCX resource.
2026-10-01T18:42:16.949+02:00 ERROR 1 --- [booklore-api] [    virtual-145] o.g.epub4j.epub.PackageDocumentReader    : Could not find table of contents resource. Tried resource with id '', toc, TOC and any NCX resource.
,org/booklore/controller/OpdsUserV2Controller
-Lorg/booklore/service/opds/OpdsUserV2Service;
+org/booklore/service/opds/OpdsUserV2Service
getOpdsUsers
createOpdsUser
/Lorg/booklore/service/book/BookDownloadService;
/{bookId}/download
/{bookId}/cover
/Libraries navigation feed returned successfully
/libraries
/shelves
/magic-shelves
/authors
BOOT-INF/classes/org/booklore/model/dto/settings/AppSettings.class
BOOT-INF/classes/org/booklore/model/dto/settings/AppSettings$AppSettingsBuilder.class
BOOT-INF/classes/org/booklore/model/dto/settings/AppSettingKey.class
POST /api/v2/opds-users -> 200 {"id":1,"userId":1,"username":"olvaso","sortOrder":"RECENT"}
POST /api/v1/opds-users -> 405 {"message":"Method 'POST' is not supported.","status":405,"timestamp":"2026-10-01T18:43:07.586380786"}
GET /api/v1/opds (opds user) -> 403 {"timestamp":"2026-10-01T16:43:07.716Z","status":403,"error":"Forbidden","path":"/api/v1/opds"}
GET /api/v1/opds/catalog (opds user) -> 403 {"timestamp":"2026-10-01T16:43:07.838Z","status":403,"error":"Forbidden","path":"/api/v1/opds/catalog"}
GET /api/v2/opds (opds user) -> 403 {"timestamp":"2026-10-01T16:43:07.945Z","status":403,"error":"Forbidden","path":"/api/v2/opds"}
GET /api/v1/opds/v1.2/catalog (opds user) -> 403 {"timestamp":"2026-10-01T16:43:08.058Z","status":403,"error":"Forbidden","path":"/api/v1/opds/v1.2/catalog"}
settings-get: 200 {'opdsServerEnabled': False, 'koboSettings': {'conversionImageCompressionPercentage': 85, 'conversionLimitInMb': 100, 'conversionLimitInMbForCbx': 100, 'convertCbxToEpub': False, 'convertToKepub': True, 'forceEnableHyphenation': False, 'forwardToKoboStore': True}}
settings-put: 200
opds: 200 <?xml version="1.0" encoding="UTF-8"?> <feed xmlns="http://www.w3.org/2005/Atom" xmlns:opds="http://opds-spec.org/2010/catalog"> <id>urn:booklore:root</id>
opds-wrong: 401
