Skip to content

[BUG] Calibre never launches into the desktop — Selkies stream works, but no calibre process starts #217

Description

@cza-kalonji

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

The container starts cleanly and reports healthy. The Selkies desktop stream connects successfully in the browser (Wayland compositor, video/audio pipelines, clipboard sync all work correctly per the logs), but the desktop is completely black/empty. Checking running processes inside the container confirms Calibre itself is never launched:

$ docker exec -it <container> ps aux | grep -i calibre
(no output)

The full process list shows s6 services, labwc (window manager), pulseaudio, selkies, nginx, etc. — but no calibre binary is ever executed.

This is reproducible on:

  1. A default install via the TrueNAS SCALE Community catalog app (calibre, catalog version 1.2.16)
  2. A completely fresh manual container deployed via docker run / TrueNAS Custom App with explicit, correctly-mapped ports (8080, 8181, 8081 → distinct host ports), ruling out a port-mapping/networking cause entirely

Expected Behavior

Calibre should auto-launch into the desktop session on container start, as described in the image's own Application Setup docs.

Steps To Reproduce

  1. Deploy lscr.io/linuxserver/calibre:latest (also reproduced on tag 9.11.0) with standard config:
    • Ports: 8080:8080, 8181:8181, 8081:8081
    • Volumes: /config → persistent dataset, plus an additional host path mounted for the book library
    • Env: PUID, PGID, TZ set appropriately
  2. Wait for container to report healthy (~30s)
  3. Access https://<host>:8181
  4. Selkies desktop stream connects and renders (black/empty desktop)
  5. Exec into the container and check ps aux | grep -i calibre → no Calibre process found

Environment

- OS: TrueNAS SCALE (Docker-based apps, not k3s)
- How docker service was installed: TrueNAS SCALE built-in Docker apps engine
- Also reproduced via TrueNAS "Custom App" (raw docker run equivalent), bypassing the community catalog entirely

CPU architecture

x86-64

Docker creation

docker run -d \
  --name=calibre \
  -e PUID=3000 \
  -e PGID=0 \
  -e TZ=Europe/London \
  -p 32017:8080 \
  -p 32018:8181 \
  -p 32019:8081 \
  -v /mnt/.ix-apps/app_mounts/calibre/config:/config \
  -v /mnt/adua/cza-shared/ebooks:/books \
  --restart unless-stopped \
  lscr.io/linuxserver/calibre:latest

Note: this container was created via TrueNAS SCALE's "Custom App" GUI form (not directly via docker run), so the command above is a manual reconstruction of the equivalent settings entered in that form, not a literal copied command. The exact port numbers and config volume path are TrueNAS-assigned/arbitrary and not significant to the bug — what matters is that ports 8080/8181/8081 were explicitly and correctly mapped, and PUID/PGID/TZ were set as shown.

Container logs

[Wayland] Socket listening on: "wayland-1"
INFO:webrtc_input:Built Wayland scancode map with 491 keys.
INFO:main:All main components initialized. Running server...
...
INFO:data_websocket:SUCCESS: Capture started for 'primary'.
Stream settings active -> Res: 910x960 | FPS: 60.0 | Stripes: 1 | Mode: H264 (CPU) FullFrame | CRF: 25 ...
INFO:webrtc_input:Set clipboard content, length: 1259
...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions