Athou / commafeed

Google Reader inspired self-hosted personal RSS reader.
https://www.commafeed.com
Apache License 2.0
2.73k stars 370 forks source link

Commafeed 5.0.0+ in a docker container not fully launching #1532

Closed jermanoid closed 1 month ago

jermanoid commented 1 month ago

Describe the bug I'm unable to successfully launch a docker instance of Commafeed version 5.0.0 or later. I initially attempted an upgrade of my existing Commafeed + postgresql stack, but decided to revert that back to 4.6.0 and attempt with a separate fresh install using the h2 docker-compose example. Commafeed appears to launch successfully, although there are no log messages you'd typically see with an initial launch where the database is being initialized. I only see one log entry. This was the same experience I had trying to upgrade my existing 4.6.0 installation to 5.0.2. I'm unaware of any environment variables or options to achieve more verbose logs.

Powered by Quarkus 3.13.2
2024-08-24 15:57:20,938 INFO  [liq.database] (main) Set default schema name to PUBLIC

I do see the application running

root@199a168f0f0b:/commafeed/data# ps aux
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.1 34416248 90828 ?      Ssl  15:57   0:00 ./application
root          17  0.0  0.0   4188  3228 pts/0    Ss   15:58   0:00 /bin/bash
root         247  0.0  0.0   8088  3972 pts/0    R+   16:29   0:00 ps aux

The data directory populates, so I know the database is at least being created. I'm unable to access the server at http://[my server's IP]:8082. I attempted to log into the container and run netstat -a but I see nothing listening on the expected port.

root@199a168f0f0b:/commafeed/data# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 127.0.0.11:34463        0.0.0.0:*               LISTEN
udp        0      0 127.0.0.11:35766        0.0.0.0:*
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   Path

I did attempt to launch on 5.0.0 and 5.0.1 as well.

To Reproduce Steps to reproduce the behavior:

  1. Create a docker-compose.yml using one of the provided examples at https://hub.docker.com/r/athou/commafeed. I'm using the H2 example for testing simplicity.
  2. Modify the local location for the volume
  3. Save the docker-compose.yml file
  4. run docker compose up -d

Screenshots image

Expected behavior Launch a docker-compose container using the provided example (modified for bind mount location, etc). access server from a browser at http://[server IP]:8082

Environment (please complete the following information):

Athou commented 1 month ago

I'm note sure, it seems the application is indeed stuck at the database init step. Maybe a permission problem?

You could try the following:

jermanoid commented 1 month ago

I didn't find any success. I was able to get the more verbose logging from Quarkus, which was useful but I didn't see anything that jumps out to me as a problem. This was from a fresh launch of the h2 instance using a fresh volume to alleviate potential permission problems. I tried with the JVM image also without any luck. For now I'm going to stick with 4.6.0 as I believe this is some kind of issue with my setup and not Commafeed itself.

Here was the Debug logs from my last run rss-commafeed-1_logs.txt

Athou commented 1 month ago

One last thing before I'm out of ideas, could you try with the master-h2 docker tag? It uses Quarkus 3.13.3 which fixes this issue, which in turn fixes this one that seems to drain the entropy causing liquibase to be stuck.

jermanoid commented 1 month ago

Ah this worked! on my clean test instance, and my existing postgresql instance