linuxserver / docker-calibre

GNU General Public License v3.0
369 stars 64 forks source link

Docker Image Misbehaving After Update #51

Closed netlander closed 3 years ago

netlander commented 3 years ago

linuxserver.io


Expected Behavior

Should see the old Gaucamole login dialog

Current Behavior

Since an update two days ago the Login looks broken and the whole Web UI seems off. After a few minutes of usage the UI just hangs.

New login screen looks like it's broken:

image

image

Steps to Reproduce

  1. Log on screen is broken

Environment

OS: Linux 16.04

CPU architecture: x86_64/arm32/arm64

x86_64

How docker service was installed:

Docker compose file

  calibre:
    image: ghcr.io/linuxserver/calibre
    deploy:
      replicas: 1
      placement:
        constraints: [node.hostname == mysql-server]
        max_replicas_per_node: 1
      restart_policy:
        condition: none
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London

      - PASSWORD=******

    volumes:
      - server-calibre:/config
      - /mnt/calibre-ebooks-stage:/app
    ports:
      - 8079:8080
      - 8081:8081

Command used to create docker container (run/create/compose/screenshot)

docker stack deploy -c calibre/docker-compose.yml calibre

Docker logs

calibre_calibre.1.exm2w28rs52v@mysql-server | [2021-04-25 19:05:13] [Connection 18] Closing connection with error: Error: not opened calibre_calibre.1.exm2w28rs52v@mysql-server | at WebSocket.send (/gclient/node_modules/ws/lib/WebSocket.js:218:38) calibre_calibre.1.exm2w28rs52v@mysql-server | at ClientConnection.send (/gclient/node_modules/guacamole-lite/lib/ClientConnection.js:125:24) calibre_calibre.1.exm2w28rs52v@mysql-server | at GuacdClient.sendBufferToWebSocket (/gclient/node_modules/guacamole-lite/lib/GuacdClient.js:172:35) calibre_calibre.1.exm2w28rs52v@mysql-server | at GuacdClient.processReceivedData (/gclient/node_modules/guacamole-lite/lib/GuacdClient.js:163:14) calibre_calibre.1.exm2w28rs52v@mysql-server | at Socket.emit (events.js:314:20) calibre_calibre.1.exm2w28rs52v@mysql-server | at addChunk (_stream_readable.js:297:12) calibre_calibre.1.exm2w28rs52v@mysql-server | at readableAddChunk (_stream_readable.js:272:9) calibre_calibre.1.exm2w28rs52v@mysql-server | at Socket.Readable.push (_stream_readable.js:213:10) calibre_calibre.1.exm2w28rs52v@mysql-server | at TCP.onStreamRead (internal/stream_base_commons.js:188:23) calibre_calibre.1.exm2w28rs52v@mysql-server | [2021-04-25 19:05:13] [Connection 18] Closing guacd connection calibre_calibre.1.exm2w28rs52v@mysql-server | [2021-04-25 19:05:13] [Connection 18] Client connection closed calibre_calibre.1.exm2w28rs52v@mysql-server | [2021-04-25 19:05:13] [Connection 19] Client connection open calibre_calibre.1.exm2w28rs52v@mysql-server | [2021-04-25 19:05:13] [Connection 19] Opening guacd connection calibre_calibre.1.exm2w28rs52v@mysql-server | [2021-04-25 19:05:13] [Connection 19] guacd connection open calibre_calibre.1.exm2w28rs52v@mysql-server | [2021-04-25 19:05:13] [Connection 19] Selecting connection type: rdp calibre_calibre.1.exm2w28rs52v@mysql-server | [2021-04-25 19:05:13] [Connection 19] Sending opCode: 6.select,3.rdp; calibre_calibre.1.exm2w28rs52v@mysql-server | guacd[383]: INFO: Creating new client for protocol "rdp" calibre_calibre.1.exm2w28rs52v@mysql-server | guacd[383]: INFO: Connection ID is "$06341dcc-285b-4b9f-9621-2a1bcc86e51e" calibre_calibre.1.exm2w28rs52v@mysql-server | [2021-04-25 19:05:14] [Connection 19] Sending opCode: 4.size,4.1536,13.790?undefined,2.96; calibre_calibre.1.exm2w28rs52v@mysql-server | [2021-04-25 19:05:14] [Connection 19] Sending opCode: 5.audio,9.audio/L16; calibre_calibre.1.exm2w28rs52v@mysql-server | [2021-04-25 19:05:14] [Connection 19] Sending opCode: 5.video; calibre_calibre.1.exm2w28rs52v@mysql-server | [2021-04-25 19:05:14] [Connection 19] Sending opCode: 5.image; calibre_calibre.1.exm2w28rs52v@mysql-server | [2021-04-25 19:05:14] [Connection 19] Server sent handshake: 4.args,13.VERSION_1_1_0,8.hostname,4.port,6.domain,8.username,8.password,5.width,6.height,3.dpi,15.initial-program,11.color-depth,13.disable-audio,15.enable-printing,12.printer-name,12.enable-drive,10.drive-name,10.drive-path,17.create-drive-path,7.console,13.console-audio,13.server-layout,8.security,11.ignore-cert,12.disable-auth,10.remote-app,14.remote-app-dir,15.remote-app-args,15.static-channels,11.client-name,16.enable-wallpaper,14.enable-theming,21.enable-font-smoothing,23.enable-full-window-drag,26.enable-desktop-composition,22.enable-menu-animations,22.disable-bitmap-caching,25.disable-offscreen-caching,21.disable-glyph-caching,16.preconnection-id,18.preconnection-blob,8.timezone,14.recording-path,14.recording-name,24.recording-exclude-output,23.recording-exclude-mouse,22.recording-include-keys,21.create-recording-path,13.resize-method,18.enable-audio-input,9.read-only,16.gateway-hostname,12.gateway-port,14.gateway-domain,16.gateway-username,16.gateway-password,17.load-balance-info calibre_calibre.1.exm2w28rs52v@mysql-server | [2021-04-25 19:05:14] [Connection 19] Sending opCode: 7.connect,0.,9.127.0.0.1,4.3389,0.,3.abc,17.kjhbouygiuvhgvghv,4.1536,13.790?undefined,2.96,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,3.any,4.true,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.; calibre_calibre.1.exm2w28rs52v@mysql-server | guacd[1550]: INFO: Security mode: Negotiate (ANY) calibre_calibre.1.exm2w28rs52v@mysql-server | guacd[1550]: INFO: Resize method: none calibre_calibre.1.exm2w28rs52v@mysql-server | guacd[1550]: INFO: User "@b558f97c-50b7-4bcb-aa12-4d8da0ae56d5" joined connection "$06341dcc-285b-4b9f-9621-2a1bcc86e51e" (1 users now present) calibre_calibre.1.exm2w28rs52v@mysql-server | guacd[1550]: INFO: Loading keymap "base" calibre_calibre.1.exm2w28rs52v@mysql-server | guacd[1550]: INFO: Loading keymap "en-us-qwerty" calibre_calibre.1.exm2w28rs52v@mysql-server | [20210424-15:56:38] [INFO ] starting xrdp with pid 373 calibre_calibre.1.exm2w28rs52v@mysql-server | [20210424-15:56:38] [INFO ] listening to port 3389 on 0.0.0.0 calibre_calibre.1.exm2w28rs52v@mysql-server | [20210424-15:56:39] [INFO ] Socket 11: AF_INET6 connection received from ::ffff:127.0.0.1 port 47842 calibre_calibre.1.exm2w28rs52v@mysql-server | [20210424-15:56:39] [DEBUG] Closed socket 11 (AF_INET6 ::ffff:127.0.0.1 port 3389) calibre_calibre.1.exm2w28rs52v@mysql-server | [20210424-15:56:40] [INFO ] Socket 11: AF_INET6 connection received from ::ffff:127.0.0.1 port 47848 calibre_calibre.1.exm2w28rs52v@mysql-server | [20210424-15:56:40] [DEBUG] Closed socket 11 (AF_INET6 ::ffff:127.0.0.1 port 3389) calibre_calibre.1.exm2w28rs52v@mysql-server | [20210424-16:19:05] [INFO ] Socket 11: AF_INET6 connection received from ::ffff:127.0.0.1 port 48194 calibre_calibre.1.exm2w28rs52v@mysql-server | [20210424-16:19:05] [DEBUG] Closed socket 11 (AF_INET6 ::ffff:127.0.0.1 port 3389) calibre_calibre.1.exm2w28rs52v@mysql-server | [20210424-16:33:49] [INFO ] Socket 11: AF_INET6 connection received from ::ffff:127.0.0.1 port 48482 calibre_calibre.1.exm2w28rs52v@mysql-server | [20210424-16:33:49] [DEBUG] Closed socket 11 (AF_INET6 ::ffff:127.0.0.1 port 3389) calibre_calibre.1.exm2w28rs52v@mysql-server | [20210424-16:48:33] [INFO ] Socket 11: AF_INET6 connection received from ::ffff:127.0.0.1 port 48716 calibre_calibre.1.exm2w28rs52v@mysql-server | [20210424-16:48:33] [DEBUG] Closed socket 11 (AF_INET6 ::ffff:127.0.0.1 port 3389) calibre_calibre.1.exm2w28rs52v@mysql-server | [20210424-17:00:49] [INFO ] Socket 11: AF_INET6 connection received from ::ffff:127.0.0.1 port 48910 calibre_calibre.1.exm2w28rs52v@mysql-server | [20210424-17:00:50] [DEBUG] Closed socket 11 (AF_INET6 ::ffff:127.0.0.1 port 3389) calibre_calibre.1.exm2w28rs52v@mysql-server | [20210424-18:18:24] [INFO ] Socket 11: AF_INET6 connection received from ::ffff:127.0.0.1 port 50088 calibre_calibre.1.exm2w28rs52v@mysql-server | [20210424-18:18:24] [DEBUG] Closed socket 11 (AF_INET6 ::ffff:127.0.0.1 port 3389) calibre_calibre.1.exm2w28rs52v@mysql-server | [20210424-18:19:05] [INFO ] Socket 11: AF_INET6 connection received from ::ffff:127.0.0.1 port 50108 calibre_calibre.1.exm2w28rs52v@mysql-server | [20210424-18:19:05] [DEBUG] Closed socket 11 (AF_INET6 ::ffff:127.0.0.1 port 3389) calibre_calibre.1.exm2w28rs52v@mysql-server | [20210424-18:40:09] [INFO ] Socket 11: AF_INET6 connection received from ::ffff:127.0.0.1 port 50398 calibre_calibre.1.exm2w28rs52v@mysql-server | [20210424-18:40:09] [DEBUG] Closed socket 11 (AF_INET6 ::ffff:127.0.0.1 port 3389) calibre_calibre.1.exm2w28rs52v@mysql-server | [20210424-18:42:31] [INFO ] Socket 11: AF_INET6 connection received from ::ffff:127.0.0.1 port 50434 calibre_calibre.1.exm2w28rs52v@mysql-server | [20210424-18:42:31] [DEBUG] Closed socket 11 (AF_INET6 ::ffff:127.0.0.1 port 3389) calibre_calibre.1.exm2w28rs52v@mysql-server | [20210424-18:44:17] [INFO ] Socket 11: AF_INET6 connection received from ::ffff:127.0.0.1 port 50466 calibre_calibre.1.exm2w28rs52v@mysql-server | [20210424-18:44:17] [DEBUG] Closed socket 11 (AF_INET6 ::ffff:127.0.0.1 port 3389) calibre_calibre.1.exm2w28rs52v@mysql-server | [20210425-12:31:53] [INFO ] Socket 11: AF_INET6 connection received from ::ffff:127.0.0.1 port 38232 calibre_calibre.1.exm2w28rs52v@mysql-server | [20210425-12:31:53] [DEBUG] Closed socket 11 (AF_INET6 ::ffff:127.0.0.1 port 3389) calibre_calibre.1.exm2w28rs52v@mysql-server | [20210425-12:32:06] [INFO ] Socket 11: AF_INET6 connection received from ::ffff:127.0.0.1 port 38242 calibre_calibre.1.exm2w28rs52v@mysql-server | [20210425-12:32:06] [DEBUG] Closed socket 11 (AF_INET6 ::ffff:127.0.0.1 port 3389) calibre_calibre.1.exm2w28rs52v@mysql-server | [20210425-12:32:08] [INFO ] Socket 11: AF_INET6 connection received from ::ffff:127.0.0.1 port 38248 calibre_calibre.1.exm2w28rs52v@mysql-server | [20210425-12:32:08] [DEBUG] Closed socket 11 (AF_INET6 ::ffff:127.0.0.1 port 3389) calibre_calibre.1.exm2w28rs52v@mysql-server | [20210425-17:12:12] [INFO ] Socket 11: AF_INET6 connection received from ::ffff:127.0.0.1 port 42382 calibre_calibre.1.exm2w28rs52v@mysql-server | [20210425-17:12:12] [DEBUG] Closed socket 11 (AF_INET6 ::ffff:127.0.0.1 port 3389) calibre_calibre.1.exm2w28rs52v@mysql-server | [20210425-17:14:51] [INFO ] Socket 11: AF_INET6 connection received from ::ffff:127.0.0.1 port 42486 calibre_calibre.1.exm2w28rs52v@mysql-server | [20210425-17:14:51] [DEBUG] Closed socket 11 (AF_INET6 ::ffff:127.0.0.1 port 3389) calibre_calibre.1.exm2w28rs52v@mysql-server | [20210425-17:14:59] [INFO ] Socket 11: AF_INET6 connection received from ::ffff:127.0.0.1 port 42494 calibre_calibre.1.exm2w28rs52v@mysql-server | [20210425-17:14:59] [DEBUG] Closed socket 11 (AF_INET6 ::ffff:127.0.0.1 port 3389) calibre_calibre.1.exm2w28rs52v@mysql-server | [20210425-17:31:39] [INFO ] Socket 11: AF_INET6 connection received from ::ffff:127.0.0.1 port 42764 calibre_calibre.1.exm2w28rs52v@mysql-server | [20210425-17:31:39] [DEBUG] Closed socket 11 (AF_INET6 ::ffff:127.0.0.1 port 3389) calibre_calibre.1.exm2w28rs52v@mysql-server | [20210425-17:55:48] [INFO ] Socket 11: AF_INET6 connection received from ::ffff:127.0.0.1 port 43232 calibre_calibre.1.exm2w28rs52v@mysql-server | [20210425-17:55:48] [DEBUG] Closed socket 11 (AF_INET6 ::ffff:127.0.0.1 port 3389) calibre_calibre.1.exm2w28rs52v@mysql-server | [20210425-18:05:14] [INFO ] Socket 11: AF_INET6 connection received from ::ffff:127.0.0.1 port 43382 calibre_calibre.1.exm2w28rs52v@mysql-server | [20210425-18:05:14] [DEBUG] Closed socket 10 (AF_INET6 :: port 3389) calibre_calibre.1.exm2w28rs52v@mysql-server | [20210425-18:05:14] [INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem calibre_calibre.1.exm2w28rs52v@mysql-server | [20210425-18:05:14] [INFO ] Using default X.509 key file: /etc/xrdp/key.pem calibre_calibre.1.exm2w28rs52v@mysql-server | [20210425-18:05:14] [DEBUG] TLSv1.2 enabled calibre_calibre.1.exm2w28rs52v@mysql-server | [20210425-18:05:14] [DEBUG] TLSv1.1 enabled calibre_calibre.1.exm2w28rs52v@mysql-server | [20210425-18:05:14] [DEBUG] TLSv1 enabled calibre_calibre.1.exm2w28rs52v@mysql-server | guacd[1522]: ERROR: User is not responding. calibre_calibre.1.exm2w28rs52v@mysql-server | guacd[1522]: INFO: User "@b894327f-ca8e-4fd7-b74c-f539b242e321" disconnected (0 users remain) calibre_calibre.1.exm2w28rs52v@mysql-server | guacd[1522]: INFO: Last user of connection "$57b43509-f6b5-4aa9-a3d9-ac44a7566d95" disconnected calibre_calibre.1.exm2w28rs52v@mysql-server | guacd[1522]: INFO: Internal RDP client disconnected calibre_calibre.1.exm2w28rs52v@mysql-server | guacd[383]: INFO: Connection "$57b43509-f6b5-4aa9-a3d9-ac44a7566d95" removed. calibre_calibre.1.exm2w28rs52v@mysql-server | [20210425-18:05:14] [DEBUG]rdpClientConRecv: g_sck_recv failed(returned 0) calibre_calibre.1.exm2w28rs52v@mysql-server | rdpClientConDisconnect: calibre_calibre.1.exm2w28rs52v@mysql-server | rdpClientConDisconnect: clientCon removed from dev list calibre_calibre.1.exm2w28rs52v@mysql-server | rdpClientConRecvMsg: error calibre_calibre.1.exm2w28rs52v@mysql-server | rdpClientConCheck: rdpClientConGotData failed calibre_calibre.1.exm2w28rs52v@mysql-server | rdpSaveScreen: calibre_calibre.1.exm2w28rs52v@mysql-server | rdpSaveScreen: calibre_calibre.1.exm2w28rs52v@mysql-server | rdpSaveScreen:

github-actions[bot] commented 3 years ago

Thanks for opening your first issue here! Be sure to follow the bug or feature issue templates!

netlander commented 3 years ago

What???

aptalca commented 3 years ago

You didn't fill out the issue template. If you had, you'd have realized the issue yourself

netlander commented 3 years ago

Ok updated now.

aptalca commented 3 years ago

Need a full log including the lsio banner

aptalca commented 3 years ago

Also, did you try entering the password you set (for user abc)?

netlander commented 3 years ago

Yes the password works, but the entire page hangs after a while, sometimes even in the middle of importing an ebook. Have had to refresh the page and login again. Why has the login process changed so dramatically? Now we have to click around and look at a web page from the 80s.

It seems that the last few builds have breaking changes and are unstable. I have now reverted back to an earlier version (5.13) that works as it did before, so consider this issue as a heads up. I am no longer able to get the full logs unfortunately.

aptalca commented 3 years ago

It's using a brand new baseimage that is more streamlined. Password mechanism is PAM based. Without a password, it does autologin. If you set a password, autologin fails, which is why you initially get the login failed message box and then the prompt.

If it bothers you, you can handle the auth on your reverse proxy (that's what we recommend doing with Authelia and SWAG anyway)

netlander commented 3 years ago

Not worked for me, I prefer the old codebase. Any good compelling reasons or advantages for users to upgrade to this new architecture?

aptalca commented 3 years ago

I'm not gonna try to convince you to use it or not. It's up to you. The old baseimage is not going to receive updates and if you want calibre updates, this is what we have going forward.

rcarmo commented 3 years ago

Hi there. I’d also like to comment on the changes, which (for me) broke calibre auto start and apparently nuked all the settings, forcing me to reimport the entire library.

edit: forgot to add that direct RDP login (which I relied upon) is also completely broken. Setting a password for “abc” does not work, and my old GUAC_ username is obviously gone.

Please consider supporting the old authentication mechanism again.

aptalca commented 3 years ago

Open a new issue and fill out the issue template. me too and completely broken types of comments are not the least bit helpful.

Old auth mechanism is not coming back.

rcarmo commented 3 years ago

Yes, well, thank you for being direct about it. Regardless, RDP-only access does not work now, so I have indeed filed an issue.

github-actions[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.