victor-rds / docker-etebase

Docker image files for Etebase server
GNU Affero General Public License v3.0
95 stars 28 forks source link

Domain wildcard issue #206

Open ddanon opened 3 months ago

ddanon commented 3 months ago

I'm trying out the 'production' example and having some issues. It seems to start up properly but as soon as I try to load the page etebase crashes.

I added the networks so etebase could find postgres via hostname.

I'm using rootless podman, but I don't think that should make a difference. I also tried running podman exec -it e73335e543ae python manage.py migrate to no avial.

Any thoughts on why this might be happening?

My .env file:

ADMIN_USER=admin
ADMIN_PASS=Change_M3

DB_NAME=etebase_db
DB_USER=etebase
DB_PASS=Change_Me_123456

STATIC_PATH=/srv/etebase
CERT_DOMAIN=localhost

My compose file:

networks:
  ete:
    external: false
  behold:
    external: true

services:
  etebase:
    image: victorrds/etebase:latest
    container_name: "etebase"
    volumes:
      - ./etebase_data:/data:rw
      - ./etebase_static:${STATIC_PATH}:rw
    environment:
      SERVER: asgi
      SUPER_USER: ${ADMIN_USER}
      SUPER_PASS: ${ADMIN_PASS}
      DB_ENGINE: postgres
      DATABASE_NAME: ${DB_NAME}
      DATABASE_USER: ${DB_USER}
      DATABASE_PASSWORD: ${DB_PASS}
      DATABASE_HOST: postgres
    depends_on:
      - postgres
    networks:
      - ete
    restart: unless-stopped

  nginx:
    image: nginx:alpine
    container_name: "nginx"
    volumes:
      - ./etebase_static:${STATIC_PATH}:ro
      - ./default.conf:/etc/nginx/conf.d/default.conf
    ports:
      - "8001:80"
    networks:
      - ete
      - behold
    depends_on:
      - etebase
    restart: always

  postgres:
    image: postgres:13
    container_name: "ete-db"
    volumes:
      - ./postgres_data:/var/lib/postgresql/data:rw
    environment:
      POSTGRES_PASSWORD: ${DB_PASS}
      POSTGRES_USER: ${DB_USER}
      POSTGRES_DB: ${DB_NAME}
    networks:
      - ete
    restart: unless-stopped

Podman compose log:

$ podman-compose up --force-recreate
etebase
nginx
ete-db
nginx
etebase
ete-db
Error: not all containers could be removed from pod fd1a7a3f717c1f748317d183411fdd0a97950b857408d57622e0c14dfb9ad1ba: removing pod containers
Error: error removing container a70e2ec984aec0028c6902d63553157a8baadd8326f44d078badd3a17093dcbf from pod fd1a7a3f717c1f748317d183411fdd0a97950b857408d57622e0c14dfb9ad1ba: cannot remove container a70e2ec984aec0028c6902d63553157a8baadd8326f44d078badd3a17093dcbf as it is running - running or paused containers cannot be removed without force: container state improper
Error: adding pod to state: name "pod_etebase" is in use: pod already exists
19fad9c52391af5d7eb4930b73e7c61b6d3a3a2c5fdf4f92535538f60ce14777
e73335e543ae93f3dabaed3d48eafb76fe8eb755f44c1c4567b09b263e1b8abb
2d05ba332b544e9714c33e70d666a9582878023c68d62bb4855e8ae9dd0dd324
[postgres] | 
[postgres] | PostgreSQL Database directory appears to contain a database; Skipping initialization
[postgres] | 
[postgres] | 2024-07-17 03:51:56.456 UTC [1] LOG:  starting PostgreSQL 13.15 (Debian 13.15-1.pgdg120+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
[postgres] | 2024-07-17 03:51:56.456 UTC [1] LOG:  listening on IPv4 address "0.0.0.0", port 5432
[postgres] | 2024-07-17 03:51:56.456 UTC [1] LOG:  listening on IPv6 address "::", port 5432
[postgres] | 2024-07-17 03:51:56.476 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
[postgres] | 2024-07-17 03:51:56.505 UTC [22] LOG:  database system was shut down at 2024-07-17 03:51:53 UTC
[postgres] | 2024-07-17 03:51:56.519 UTC [1] LOG:  database system is ready to accept connections
[etebase]  | 2024-07-17T03:51:56+00:00 [Info] [Entrypoint]: ------------------------------------------------
[etebase]  | 2024-07-17T03:51:56+00:00 [Info] [Entrypoint]: Check permission of /data/etebase-server.ini
[etebase]  | 2024-07-17T03:51:56+00:00 [Info] [Entrypoint]: Permissions: Ok
[etebase]  | 2024-07-17T03:51:56+00:00 [Info] [Entrypoint]: ------------------------------------------------
[etebase]  | 2024-07-17T03:51:56+00:00 [Info] [Entrypoint]: ------------------------------------------------
[etebase]  | 2024-07-17T03:51:56+00:00 [Info] [Entrypoint]: Check permission of /data/secret.txt
[etebase]  | 2024-07-17T03:51:56+00:00 [Info] [Entrypoint]: Permissions: Ok
[etebase]  | 2024-07-17T03:51:56+00:00 [Info] [Entrypoint]: ------------------------------------------------
[etebase]  | 2024-07-17T03:51:56+00:00 [Info] [Entrypoint]: ------------------------------------------------
[etebase]  | 2024-07-17T03:51:56+00:00 [Info] [Entrypoint]: Check permission of /data/media
[etebase]  | 2024-07-17T03:51:56+00:00 [Info] [Entrypoint]: /data/media does not exist
[etebase]  | 2024-07-17T03:51:56+00:00 [Info] [Entrypoint]: Testing parent directory permissions
[etebase]  | 2024-07-17T03:51:56+00:00 [Info] [Entrypoint]: Permissions: Ok
[etebase]  | 2024-07-17T03:51:56+00:00 [Info] [Entrypoint]: ------------------------------------------------
[etebase]  | admin
[etebase]  | auth
[etebase]  | contenttypes
[etebase]  | django_etebase
[etebase]  | myauth
[etebase]  | sessions
[etebase]  | token_auth
[etebase]  | 2024-07-17T03:51:57+00:00 [Warn] [Entrypoint]: If necessary please run: docker exec -it e73335e543ae python manage.py migrate
[etebase]  | 2024-07-17T03:51:57+00:00 [Info] [Entrypoint]: Starting Etebase
[nginx]    | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
[nginx]    | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
[nginx]    | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
[nginx]    | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
[nginx]    | 10-listen-on-ipv6-by-default.sh: info: /etc/nginx/conf.d/default.conf differs from the packaged version
[nginx]    | /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh
[nginx]    | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
[nginx]    | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
[nginx]    | /docker-entrypoint.sh: Configuration complete; ready for start up
[nginx]    | 2024/07/17 03:51:57 [notice] 1#1: using the "epoll" event method
[nginx]    | 2024/07/17 03:51:57 [notice] 1#1: nginx/1.27.0
[nginx]    | 2024/07/17 03:51:57 [notice] 1#1: built by gcc 13.2.1 20231014 (Alpine 13.2.1_git20231014) 
[nginx]    | 2024/07/17 03:51:57 [notice] 1#1: OS: Linux 6.9.3
[nginx]    | 2024/07/17 03:51:57 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 524288:524288
[nginx]    | 2024/07/17 03:51:57 [notice] 1#1: start worker processes
[nginx]    | 2024/07/17 03:51:57 [notice] 1#1: start worker process 24
[nginx]    | 2024/07/17 03:51:57 [notice] 1#1: start worker process 25
[nginx]    | 2024/07/17 03:51:57 [notice] 1#1: start worker process 26
[nginx]    | 2024/07/17 03:51:57 [notice] 1#1: start worker process 27
[nginx]    | 2024/07/17 03:51:57 [notice] 1#1: start worker process 28
[nginx]    | 2024/07/17 03:51:57 [notice] 1#1: start worker process 29
[nginx]    | 2024/07/17 03:51:57 [notice] 1#1: start worker process 30
[nginx]    | 2024/07/17 03:51:57 [notice] 1#1: start worker process 31
[nginx]    | 2024/07/17 03:51:57 [notice] 1#1: start worker process 32
[nginx]    | 2024/07/17 03:51:57 [notice] 1#1: start worker process 33
[nginx]    | 2024/07/17 03:51:57 [notice] 1#1: start worker process 34
[nginx]    | 2024/07/17 03:51:57 [notice] 1#1: start worker process 35
[nginx]    | 2024/07/17 03:51:57 [notice] 1#1: start worker process 36
[nginx]    | 2024/07/17 03:51:57 [notice] 1#1: start worker process 37
[nginx]    | 2024/07/17 03:51:57 [notice] 1#1: start worker process 38
[nginx]    | 2024/07/17 03:51:57 [notice] 1#1: start worker process 39
[nginx]    | 2024/07/17 03:51:57 [notice] 1#1: start worker process 40
[nginx]    | 2024/07/17 03:51:57 [notice] 1#1: start worker process 41
[nginx]    | 2024/07/17 03:51:57 [notice] 1#1: start worker process 42
[nginx]    | 2024/07/17 03:51:57 [notice] 1#1: start worker process 43
[nginx]    | 2024/07/17 03:51:57 [notice] 1#1: start worker process 44
[nginx]    | 2024/07/17 03:51:57 [notice] 1#1: start worker process 45
[nginx]    | 2024/07/17 03:51:57 [notice] 1#1: start worker process 46
[nginx]    | 2024/07/17 03:51:57 [notice] 1#1: start worker process 47
[etebase]  | INFO:     Started server process [1]
[etebase]  | INFO:     Waiting for application startup.
[etebase]  | INFO:     ASGI 'lifespan' protocol appears unsupported.
[etebase]  | INFO:     Application startup complete.
[etebase]  | INFO:     Uvicorn running on http://0.0.0.0:3735 (Press CTRL+C to quit)
[etebase]  | ERROR:    Exception in ASGI application
[etebase]  | Traceback (most recent call last):
[etebase]  |   File "/usr/local/lib/python3.12/site-packages/uvicorn/protocols/http/httptools_impl.py", line 399, in run_asgi
[etebase]  |     result = await app(  # type: ignore[func-returns-value]
[etebase]  |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[etebase]  |   File "/usr/local/lib/python3.12/site-packages/uvicorn/middleware/proxy_headers.py", line 70, in __call__
[etebase]  |     return await self.app(scope, receive, send)
[etebase]  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[etebase]  |   File "/usr/local/lib/python3.12/site-packages/fastapi/applications.py", line 1054, in __call__
[etebase]  |     await super().__call__(scope, receive, send)
[etebase]  |   File "/usr/local/lib/python3.12/site-packages/starlette/applications.py", line 122, in __call__
[etebase]  |     self.middleware_stack = self.build_middleware_stack()
[etebase]  |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[etebase]  |   File "/usr/local/lib/python3.12/site-packages/starlette/applications.py", line 109, in build_middleware_stack
[etebase]  |     app = cls(app=app, *args, **kwargs)
[etebase]  |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[etebase]  |   File "/usr/local/lib/python3.12/site-packages/starlette/middleware/trustedhost.py", line 23, in __init__
[etebase]  |     assert "*" not in pattern[1:], ENFORCE_DOMAIN_WILDCARD
[etebase]  |            ^^^^^^^^^^^^^^^^^^^^^^
[etebase]  | AssertionError: Domain wildcard patterns must be like '*.example.com'.
[etebase]  | INFO:     10.89.14.88:56180 - "GET / HTTP/1.1" 500 Internal Server Error
[nginx]    | 10.89.14.88 - - [17/Jul/2024:03:52:00 +0000] "GET / HTTP/1.1" 500 21 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36" "-"
[etebase]  | ERROR:    Exception in ASGI application
[etebase]  | Traceback (most recent call last):
[etebase]  |   File "/usr/local/lib/python3.12/site-packages/uvicorn/protocols/http/httptools_impl.py", line 399, in run_asgi
[etebase]  |     result = await app(  # type: ignore[func-returns-value]
[etebase]  |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[etebase]  |   File "/usr/local/lib/python3.12/site-packages/uvicorn/middleware/proxy_headers.py", line 70, in __call__
[etebase]  |     return await self.app(scope, receive, send)
[etebase]  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[etebase]  |   File "/usr/local/lib/python3.12/site-packages/fastapi/applications.py", line 1054, in __call__
[etebase]  |     await super().__call__(scope, receive, send)
[etebase]  |   File "/usr/local/lib/python3.12/site-packages/starlette/applications.py", line 122, in __call__
[etebase]  |     self.middleware_stack = self.build_middleware_stack()
[etebase]  |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[etebase]  |   File "/usr/local/lib/python3.12/site-packages/starlette/applications.py", line 109, in build_middleware_stack
[etebase]  |     app = cls(app=app, *args, **kwargs)
[etebase]  |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[etebase]  |   File "/usr/local/lib/python3.12/site-packages/starlette/middleware/trustedhost.py", line 23, in __init__
[etebase]  |     assert "*" not in pattern[1:], ENFORCE_DOMAIN_WILDCARD
[etebase]  |            ^^^^^^^^^^^^^^^^^^^^^^
[etebase]  | AssertionError: Domain wildcard patterns must be like '*.example.com'.
[etebase]  | INFO:     10.89.14.88:56188 - "GET /favicon.ico HTTP/1.1" 500 Internal Server Error
[nginx]    | 10.89.14.88 - - [17/Jul/2024:03:52:00 +0000] "GET /favicon.ico HTTP/1.1" 500 21 "http://localhost:8001/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36" "-"
^C[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: signal 2 (SIGINT) received, exiting
[postgres] | 2024-07-17 03:52:29.371 UTC [1] LOG:  received fast shutdown request
[nginx]    | 2024/07/17 03:52:29 [notice] 24#24: exiting
[nginx]    | 2024/07/17 03:52:29 [notice] 25#25: exiting
[nginx]    | 2024/07/17 03:52:29 [notice] 26#26: exiting
[nginx]    | 2024/07/17 03:52:29 [notice] 27#27: exiting
[nginx]    | 2024/07/17 03:52:29 [notice] 28#28: exiting
[nginx]    | 2024/07/17 03:52:29 [notice] 29#29: exiting
[nginx]    | 2024/07/17 03:52:29 [notice] 30#30: exiting
[nginx]    | 2024/07/17 03:52:29 [notice] 32#32: exiting
[nginx]    | 2024/07/17 03:52:29 [notice] 34#34: exiting
[nginx]    | 2024/07/17 03:52:29 [notice] 31#31: exiting
[nginx]    | 2024/07/17 03:52:29 [notice] 35#35: exiting
[nginx]    | 2024/07/17 03:52:29 [notice] 37#37: exiting
[nginx]    | 2024/07/17 03:52:29 [notice] 39#39: exiting
[nginx]    | 2024/07/17 03:52:29 [notice] 38#38: exiting
[nginx]    | 2024/07/17 03:52:29 [notice] 41#41: exiting
[nginx]    | 2024/07/17 03:52:29 [notice] 42#42: exiting
[nginx]    | 2024/07/17 03:52:29 [notice] 36#36: exiting
[nginx]    | 2024/07/17 03:52:29 [notice] 46#46: exiting
[nginx]    | 2024/07/17 03:52:29 [notice] 40#40: exiting
[nginx]    | 2024/07/17 03:52:29 [notice] 44#44: exiting
[nginx]    | 2024/07/17 03:52:29 [notice] 24#24: exit
[nginx]    | 2024/07/17 03:52:29 [notice] 27#27: exit
[nginx]    | 2024/07/17 03:52:29 [notice] 29#29: exit
[nginx]    | 2024/07/17 03:52:29 [notice] 25#25: exit
[nginx]    | 2024/07/17 03:52:29 [notice] 28#28: exit
[nginx]    | 2024/07/17 03:52:29 [notice] 43#43: exiting
[nginx]    | 2024/07/17 03:52:29 [notice] 30#30: exit
[nginx]    | 2024/07/17 03:52:29 [notice] 26#26: exit
[nginx]    | 2024/07/17 03:52:29 [notice] 34#34: exit
[nginx]    | 2024/07/17 03:52:29 [notice] 32#32: exit
[nginx]    | 2024/07/17 03:52:29 [notice] 35#35: exit
[nginx]    | 2024/07/17 03:52:29 [notice] 39#39: exit
[nginx]    | 2024/07/17 03:52:29 [notice] 37#37: exit
[nginx]    | 2024/07/17 03:52:29 [notice] 38#38: exit
[nginx]    | 2024/07/17 03:52:29 [notice] 41#41: exit
[nginx]    | 2024/07/17 03:52:29 [notice] 42#42: exit
[nginx]    | 2024/07/17 03:52:29 [notice] 36#36: exit
[nginx]    | 2024/07/17 03:52:29 [notice] 46#46: exit
[nginx]    | 2024/07/17 03:52:29 [notice] 40#40: exit
[nginx]    | 2024/07/17 03:52:29 [notice] 43#43: exit
[nginx]    | 2024/07/17 03:52:29 [notice] 44#44: exit
[nginx]    | 2024/07/17 03:52:29 [notice] 45#45: exiting
[nginx]    | 2024/07/17 03:52:29 [notice] 33#33: exiting
[nginx]    | 2024/07/17 03:52:29 [notice] 47#47: exiting
[nginx]    | 2024/07/17 03:52:29 [notice] 47#47: exit
[nginx]    | 2024/07/17 03:52:29 [notice] 33#33: exit
[nginx]    | 2024/07/17 03:52:29 [notice] 45#45: exit
[nginx]    | 2024/07/17 03:52:29 [notice] 31#31: exit
[postgres] | 2024-07-17 03:52:29.383 UTC [1] LOG:  aborting any active transactions
[postgres] | 2024-07-17 03:52:29.384 UTC [1] LOG:  background worker "logical replication launcher" (PID 28) exited with exit code 1
[postgres] | 2024-07-17 03:52:29.384 UTC [23] LOG:  shutting down
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: signal 17 (SIGCHLD) received from 41
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: worker process 41 exited with code 0
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: worker process 44 exited with code 0
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: signal 29 (SIGIO) received
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: signal 17 (SIGCHLD) received from 28
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: worker process 28 exited with code 0
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: worker process 26 exited with code 0
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: worker process 34 exited with code 0
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: worker process 38 exited with code 0
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: signal 29 (SIGIO) received
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: signal 17 (SIGCHLD) received from 38
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: signal 17 (SIGCHLD) received from 25
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: worker process 25 exited with code 0
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: signal 29 (SIGIO) received
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: signal 17 (SIGCHLD) received from 27
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: worker process 27 exited with code 0
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: worker process 46 exited with code 0
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: signal 29 (SIGIO) received
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: signal 17 (SIGCHLD) received from 46
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: signal 17 (SIGCHLD) received from 47
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: worker process 47 exited with code 0
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: worker process 32 exited with code 0
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: worker process 31 exited with code 0
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: worker process 24 exited with code 0
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: worker process 37 exited with code 0
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: worker process 42 exited with code 0
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: signal 29 (SIGIO) received
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: signal 17 (SIGCHLD) received from 32
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: signal 17 (SIGCHLD) received from 45
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: worker process 45 exited with code 0
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: worker process 30 exited with code 0
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: worker process 33 exited with code 0
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: worker process 36 exited with code 0
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: signal 29 (SIGIO) received
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: signal 17 (SIGCHLD) received from 30
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: signal 17 (SIGCHLD) received from 39
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: worker process 29 exited with code 0
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: worker process 39 exited with code 0
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: signal 29 (SIGIO) received
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: signal 17 (SIGCHLD) received from 40
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: worker process 40 exited with code 0
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: worker process 43 exited with code 0
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: signal 17 (SIGCHLD) received from 43
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: signal 17 (SIGCHLD) received from 35
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: worker process 35 exited with code 0
[nginx]    | 2024/07/17 03:52:29 [notice] 1#1: exit
[etebase]  | INFO:     Shutting down
[postgres] | 2024-07-17 03:52:29.506 UTC [1] LOG:  database system is shut down
[etebase]  | INFO:     Finished server process [1]
[etebase]  | 
[etebase]  | Aborted!
ddanon commented 3 months ago

Adding context, the same issue is present if I use the following compose file:

services:
  etebase:
    image: victorrds/etebase:latest
    container_name: "etebase-basic"
    volumes:
      - ./etebase_data:/data:rw
      - ./etebase_static:${STATIC_PATH}:rw
    environment:
      SERVER: asgi
      SUPER_USER: ${ADMIN_USER}
      SUPER_PASS: ${ADMIN_PASS}
    depends_on:
      - postgres
    ports:
      - 8001:3735
    restart: unless-stopped
$ podman-compose up --force-recreate
Error: no container with name or ID "etebase-basic" found: no such container
Error: no container with ID or name "etebase-basic" found: no such container
Error: not all containers could be removed from pod fd1a7a3f717c1f748317d183411fdd0a97950b857408d57622e0c14dfb9ad1ba: removing pod containers
Error: error removing container a70e2ec984aec0028c6902d63553157a8baadd8326f44d078badd3a17093dcbf from pod fd1a7a3f717c1f748317d183411fdd0a97950b857408d57622e0c14dfb9ad1ba: cannot remove container a70e2ec984aec0028c6902d63553157a8baadd8326f44d078badd3a17093dcbf as it is running - running or paused containers cannot be removed without force: container state improper
Error: adding pod to state: name "pod_etebase" is in use: pod already exists
b13501c78f84ca059614f3bea64dc54e278588e46de3f4c682dec07ef31a0f16
[etebase] | 2024-07-17T04:06:14+00:00 [Info] [Entrypoint]: ------------------------------------------------
[etebase] | 2024-07-17T04:06:14+00:00 [Info] [Entrypoint]: Check permission of /data/etebase-server.ini
[etebase] | 2024-07-17T04:06:14+00:00 [Info] [Entrypoint]: Permissions: Ok
[etebase] | 2024-07-17T04:06:14+00:00 [Info] [Entrypoint]: ------------------------------------------------
[etebase] | 2024-07-17T04:06:14+00:00 [Info] [Entrypoint]: ------------------------------------------------
[etebase] | 2024-07-17T04:06:14+00:00 [Info] [Entrypoint]: Check permission of /data/secret.txt
[etebase] | 2024-07-17T04:06:14+00:00 [Info] [Entrypoint]: Permissions: Ok
[etebase] | 2024-07-17T04:06:14+00:00 [Info] [Entrypoint]: ------------------------------------------------
[etebase] | 2024-07-17T04:06:14+00:00 [Info] [Entrypoint]: ------------------------------------------------
[etebase] | 2024-07-17T04:06:14+00:00 [Info] [Entrypoint]: Check permission of /data/media
[etebase] | 2024-07-17T04:06:14+00:00 [Info] [Entrypoint]: /data/media does not exist
[etebase] | 2024-07-17T04:06:14+00:00 [Info] [Entrypoint]: Testing parent directory permissions
[etebase] | 2024-07-17T04:06:14+00:00 [Info] [Entrypoint]: Permissions: Ok
[etebase] | 2024-07-17T04:06:14+00:00 [Info] [Entrypoint]: ------------------------------------------------
[etebase] | admin
[etebase] | auth
[etebase] | contenttypes
[etebase] | django_etebase
[etebase] | myauth
[etebase] | sessions
[etebase] | token_auth
[etebase] | 2024-07-17T04:06:15+00:00 [Warn] [Entrypoint]: If necessary please run: docker exec -it b13501c78f84 python manage.py migrate
[etebase] | 2024-07-17T04:06:15+00:00 [Info] [Entrypoint]: Starting Etebase
[etebase] | INFO:     Started server process [1]
[etebase] | INFO:     Waiting for application startup.
[etebase] | INFO:     ASGI 'lifespan' protocol appears unsupported.
[etebase] | INFO:     Application startup complete.
[etebase] | INFO:     Uvicorn running on http://0.0.0.0:3735 (Press CTRL+C to quit)
[etebase] | ERROR:    Exception in ASGI application
[etebase] | Traceback (most recent call last):
[etebase] |   File "/usr/local/lib/python3.12/site-packages/uvicorn/protocols/http/httptools_impl.py", line 399, in run_asgi
[etebase] |     result = await app(  # type: ignore[func-returns-value]
[etebase] |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[etebase] |   File "/usr/local/lib/python3.12/site-packages/uvicorn/middleware/proxy_headers.py", line 70, in __call__
[etebase] |     return await self.app(scope, receive, send)
[etebase] |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[etebase] |   File "/usr/local/lib/python3.12/site-packages/fastapi/applications.py", line 1054, in __call__
[etebase] |     await super().__call__(scope, receive, send)
[etebase] |   File "/usr/local/lib/python3.12/site-packages/starlette/applications.py", line 122, in __call__
[etebase] |     self.middleware_stack = self.build_middleware_stack()
[etebase] |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[etebase] |   File "/usr/local/lib/python3.12/site-packages/starlette/applications.py", line 109, in build_middleware_stack
[etebase] |     app = cls(app=app, *args, **kwargs)
[etebase] |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[etebase] |   File "/usr/local/lib/python3.12/site-packages/starlette/middleware/trustedhost.py", line 23, in __init__
[etebase] |     assert "*" not in pattern[1:], ENFORCE_DOMAIN_WILDCARD
[etebase] |            ^^^^^^^^^^^^^^^^^^^^^^
[etebase] | AssertionError: Domain wildcard patterns must be like '*.example.com'.
[etebase] | INFO:     10.89.12.47:60946 - "GET / HTTP/1.1" 500 Internal Server Error
[etebase] | ERROR:    Exception in ASGI application
[etebase] | Traceback (most recent call last):
[etebase] |   File "/usr/local/lib/python3.12/site-packages/uvicorn/protocols/http/httptools_impl.py", line 399, in run_asgi
[etebase] |     result = await app(  # type: ignore[func-returns-value]
[etebase] |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[etebase] |   File "/usr/local/lib/python3.12/site-packages/uvicorn/middleware/proxy_headers.py", line 70, in __call__
[etebase] |     return await self.app(scope, receive, send)
[etebase] |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[etebase] |   File "/usr/local/lib/python3.12/site-packages/fastapi/applications.py", line 1054, in __call__
[etebase] |     await super().__call__(scope, receive, send)
[etebase] |   File "/usr/local/lib/python3.12/site-packages/starlette/applications.py", line 122, in __call__
[etebase] |     self.middleware_stack = self.build_middleware_stack()
[etebase] |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[etebase] |   File "/usr/local/lib/python3.12/site-packages/starlette/applications.py", line 109, in build_middleware_stack
[etebase] |     app = cls(app=app, *args, **kwargs)
[etebase] |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[etebase] |   File "/usr/local/lib/python3.12/site-packages/starlette/middleware/trustedhost.py", line 23, in __init__
[etebase] |     assert "*" not in pattern[1:], ENFORCE_DOMAIN_WILDCARD
[etebase] |            ^^^^^^^^^^^^^^^^^^^^^^
[etebase] | AssertionError: Domain wildcard patterns must be like '*.example.com'.
[etebase] | INFO:     10.89.12.47:60950 - "GET /favicon.ico HTTP/1.1" 500 Internal Server Error
^X^C[etebase] | INFO:     Shutting down
[etebase] | INFO:     Finished server process [1]
[etebase] | 
[etebase] | Aborted!
ddanon commented 3 months ago

Behavior seems to be similar using the podman run --rm -e SUPER_USER=admin -p 8001:3735 -v ./etebase_data:/data --name eterun victorrds/etesync commands for the following tags

Maybe my system is the problem?

winniethepoohbear commented 3 months ago

I had the same issue. It looks like there is a bad default configuration being generated in etebase-server.ini

[allowed_hosts]
allowed_hosts1 = '*
allowed_hosts2 = .localhost
allowed_hosts3 = 127.0.0.1
allowed_hosts4 = [::1]'

Removing the extra quotes so it is just allowed_hosts1 = * and allowed_hosts4 = [::1] fixed the issue

Problem line: https://github.com/victor-rds/docker-etebase/blob/95ca53589fd91537cc0973e499ff00cfe344b94b/context/entrypoint.sh#L81

Problem commit: https://github.com/victor-rds/docker-etebase/commit/1d6c9cc985617930442f366724244412b66f45bc