mriedmann / humhub-docker

Alpine-based PHP-FPM and NGINX HumHub docker-container
MIT License
95 stars 77 forks source link

OSError: [Errno 29] Invalid seek error after first start #349

Closed frosenlind closed 2 weeks ago

frosenlind commented 3 months ago

When starting the container for the first time everything works fine. When taking my stack down and then up again the HumHub container doesn't work and I get the following:

Added 127.0.0.1 to Reverseproxy Whitelist \ /docker-entrypoint.sh: Configuration complete; ready for start up \ /docker-entrypoint.sh: Entrypoint finished! Launching ... \ 2024-04-21 18:57:02,951 WARN exited: humhub-log (exit status 1; not expected)

I'm running on an Unraid server and tried this on two different machines and different humhub-container-tags.

Link to log: https://pastebin.com/9tMvyixz

humhub_cordis-humhub_cordis-1  | *** All integrity checks done
humhub_cordis-humhub_cordis-1  | 
humhub_cordis-humhub_cordis-1  | /docker-entrypoint.sh: Launching /docker-entrypoint.d/60-nginx-config.sh
humhub_cordis-humhub_cordis-1  | /docker-entrypoint.sh: Launching /docker-entrypoint.d/70-nginx-allowedips.sh
humhub_cordis-humhub_cordis-1  | Setting HUMHUB_REVERSEPROXY_WHITELIST
humhub_cordis-humhub_cordis-1  | Added 127.0.0.1 to Reverseproxy Whitelist
humhub_cordis-humhub_cordis-1  | /docker-entrypoint.sh: Configuration complete; ready for start up
humhub_cordis-humhub_cordis-1  | /docker-entrypoint.sh: Entrypoint finished! Launching ...
humhub_cordis-humhub_cordis-1  | tail: can't open '/var/www/localhost/htdocs/protected/runtime/logs/app.log': No such file or directory
humhub_cordis-humhub_cordis-1  | tail: no files
humhub_cordis-humhub_cordis-1  | 2024-04-21 18:57:02,951 WARN exited: humhub-log (exit status 1; not expected)
humhub_cordis-humhub_cordis-1  | 2024-04-21 18:57:02,951 WARN exited: humhub-log (exit status 1; not expected)
humhub_cordis-humhub_cordis-1  | Traceback (most recent call last):
humhub_cordis-humhub_cordis-1  |   File "/usr/bin/supervisord", line 33, in <module>
humhub_cordis-humhub_cordis-1  |     sys.exit(load_entry_point('supervisor==4.2.5', 'console_scripts', 'supervisord')())
humhub_cordis-humhub_cordis-1  |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
humhub_cordis-humhub_cordis-1  |   File "/usr/lib/python3.11/site-packages/supervisor/supervisord.py", line 359, in main
humhub_cordis-humhub_cordis-1  |     go(options)
humhub_cordis-humhub_cordis-1  |   File "/usr/lib/python3.11/site-packages/supervisor/supervisord.py", line 369, in go
humhub_cordis-humhub_cordis-1  |     d.main()
humhub_cordis-humhub_cordis-1  |   File "/usr/lib/python3.11/site-packages/supervisor/supervisord.py", line 78, in main
humhub_cordis-humhub_cordis-1  |     self.run()
humhub_cordis-humhub_cordis-1  |   File "/usr/lib/python3.11/site-packages/supervisor/supervisord.py", line 94, in run
humhub_cordis-humhub_cordis-1  |     self.runforever()
humhub_cordis-humhub_cordis-1  |   File "/usr/lib/python3.11/site-packages/supervisor/supervisord.py", line 244, in runforever
humhub_cordis-humhub_cordis-1  |     self.reap()
humhub_cordis-humhub_cordis-1  |   File "/usr/lib/python3.11/site-packages/supervisor/supervisord.py", line 281, in reap
humhub_cordis-humhub_cordis-1  |     process.finish(pid, sts)
humhub_cordis-humhub_cordis-1  |   File "/usr/lib/python3.11/site-packages/supervisor/process.py", line 585, in finish
humhub_cordis-humhub_cordis-1  |     self.config.options.logger.warn(msg)
humhub_cordis-humhub_cordis-1  |   File "/usr/lib/python3.11/site-packages/supervisor/loggers.py", line 331, in warn
humhub_cordis-humhub_cordis-1  |     self.log(LevelsByName.WARN, msg, **kw)
humhub_cordis-humhub_cordis-1  |   File "/usr/lib/python3.11/site-packages/supervisor/loggers.py", line 345, in log
humhub_cordis-humhub_cordis-1  |     handler.emit(record)
humhub_cordis-humhub_cordis-1  |   File "/usr/lib/python3.11/site-packages/supervisor/loggers.py", line 227, in emit
humhub_cordis-humhub_cordis-1  |     self.doRollover()
humhub_cordis-humhub_cordis-1  |   File "/usr/lib/python3.11/site-packages/supervisor/loggers.py", line 264, in doRollover
humhub_cordis-humhub_cordis-1  |     if not (self.stream.tell() >= self.maxBytes):
humhub_cordis-humhub_cordis-1  |             ^^^^^^^^^^^^^^^^^^
humhub_cordis-humhub_cordis-1  | OSError: [Errno 29] Invalid seek

Compose-file

version: '3.1'
services:
  humhub_cordis:
    image: mriedmann/humhub:1.15
    links:
      - "db:db"
    ports:
      - "8090:80"

    volumes:
      - "config:/var/www/localhost/htdocs/protected/config"
      - "uploads:/var/www/localhost/htdocs/uploads"
      - "modules:/var/www/localhost/htdocs/protected/modules"

    environment:
      HUMHUB_DB_USER: humhub
      HUMHUB_DB_PASSWORD: humhub
      HUMHUB_DEBUG: 1

  db:
    image: mariadb:10.2
    environment:
      MYSQL_ROOT_PASSWORD: humhub
      MYSQL_DATABASE: humhub
      MYSQL_USER: humhub
      MYSQL_PASSWORD: humhub

volumes:
  config: {}
  uploads: {}
  modules: {}
zrknlzr commented 2 months ago

@frosenlind had the same issue (identical log ouput) while trying to set up a dev environment. For me it happened at the first start as well. I tried a few env variables and at some point it just ran. For some reason i can't really reproduce the issue at this point. But this one works for me now:

services:
  humhub:
    image: mriedmann/humhub:latest
    ports:
      - 8090:80
    environment:
      HUMHUB_DB_USER: user-humhub
      HUMHUB_DB_PASSWORD: humhub
      HUMHUB_DB_HOST: db
      HUMHUB_DB_NAME: humhub
      HUMHUB_AUTO_INSTALL: 1
      HUMHUB_ADMIN_LOGIN: admin
      HUMHUB_ADMIN_PASSWORD: humhub
      WAIT_FOR_DB: 1
      HUMHUB_DEBUG: 1
      HUMHUB_PROTO: https
      HUMHUB_HOST: localhost
    volumes:
      - ./config:/var/www/localhost/htdocs/protected/config
      - ./modules:/var/www/localhost/htdocs/protected/modules
  db:
    image: mariadb:10.4
    environment:
      MYSQL_ROOT_PASSWORD: humhub
      MYSQL_DATABASE: humhub
      MYSQL_USER: user-humhub
      MYSQL_PASSWORD: humhub
    volumes:
      - ./mysql:/var/lib/mysql

volumes:
  config: {}
  modules: {}
MrGreenTea commented 1 month ago

I had this issue as well and fixed it by adding a volume for the logs and manually adding an empty app.log file there. But it seems this is an issue in the supervisor configuration

frosenlind commented 1 month ago

After some additional testing with help from a friend it we also solved it by mounting the following: