Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Domain wildcard issue #206

Open
ddanon opened this issue Jul 17, 2024 · 3 comments
Open

Domain wildcard issue #206

ddanon opened this issue Jul 17, 2024 · 3 comments

Comments

@ddanon
Copy link

ddanon commented Jul 17, 2024

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
Copy link
Author

ddanon commented Jul 17, 2024

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
Copy link
Author

ddanon commented Jul 17, 2024

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

  • latest
  • 0.14-slim
  • 0.11-alpine

Maybe my system is the problem?

@winniethepoohbear
Copy link

winniethepoohbear commented Jul 20, 2024

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:

: "${ALLOWED_HOSTS:='*,.localhost,127.0.0.1,[::1]'}"

Problem commit: 1d6c9cc

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants