lowcoder-org / lowcoder

🔥 🔥 🔥 The Open Source Retool, Tooljet and Appsmith Alternative
https://www.lowcoder.cloud/
GNU Affero General Public License v3.0
826 stars 175 forks source link

[Bug]: Docker lowcoder-ce-frontend nginx error in latest #467

Closed cripsisxyz closed 10 months ago

cripsisxyz commented 11 months ago

Is there an existing issue for this?

Current Behavior

Hello,

I'm trying to run the docker of the lowcoder-ce-frontend (dockerhub) but the container cannot run:

/docker-entrypoint.sh: Ignoring /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh, not executable
/docker-entrypoint.sh: Ignoring /docker-entrypoint.d/15-local-resolvers.envsh, not executable
/docker-entrypoint.sh: Ignoring /docker-entrypoint.d/20-envsubst-on-templates.sh, not executable
/docker-entrypoint.sh: Ignoring /docker-entrypoint.d/30-tune-worker-processes.sh, not executable
/docker-entrypoint.sh: Configuration complete; ready for start up
2023/11/01 22:06:20 [emerg] 1#1: open() "/etc/nginx/nginx.conf" failed (2: No such file or directory)
nginx: [emerg] open() "/etc/nginx/nginx.conf" failed (2: No such file or directory)

Expected Behavior

There is not example of this file to mount it as a volume or is not directly included in the docker build context.

Steps to reproduce

Using the docmentation in the repository

Environment

local

Additional Information

No response

FalkWolsky commented 10 months ago

Can you please re-check with the latest version of Lowcoder? We tested always and could not reproduce this behavior. Also, which version of the Images you used when you got the error?

cripsisxyz commented 10 months ago

hello team, I have the same problem:

This is my docker-compose-multi.yml (downloaded from the doc)

ivan@zxs:~/test$ cat docker-compose.yml 
version: "3"
services:

  ##
  ## Start services required for Lowcoder (MongoDB and Redis)
  ##
  mongodb:
    image: "mongo:4.4"
    container_name: mongodb
    environment:
      MONGO_INITDB_DATABASE: lowcoder
      MONGO_INITDB_ROOT_USERNAME: lowcoder
      MONGO_INITDB_ROOT_PASSWORD: secret123
    # Uncomment to save database data into local 'mongodata' folder
    # volumes:
    #   - ./mogodata:/data/db
    restart: unless-stopped

  redis:
    image: redis:7-alpine
    container_name: redis

  ##
  ## Start Lowcoder backend services (api-service and node-service)
  ##
  lowcoder-api-service:
    image: lowcoderorg/lowcoder-ce-api-service:latest
    container_name: lowcoder-api-service
    # Enabled ports to be able to access backend from host
    # ports:
    #   - "8080:8080"
    environment:
      PUID: "9001"
      PGID: "9001"
      MONGODB_URL: "mongodb://lowcoder:secret123@mongodb/lowcoder?authSource=admin"
      REDIS_URL: "redis://redis:6379"
      LOWCODER_NODE_SERVICE_URL: "http://lowcoder-node-service:6060"
      LOWCODER_MAX_QUERY_TIMEOUT: 120
      ENABLE_USER_SIGN_UP: "true"
      #
      # ! PLEASE CHANGE THESE TO SOMETHING UNIQUE !
      # 
      #    ENCRYPTION_PASSWORD and ENCRYPTION_SALT is used to encrypt sensitive 
      #    data in database so it is important to change the defaults
      #
      ENCRYPTION_PASSWORD: "lowcoder.org"
      ENCRYPTION_SALT: "lowcoder.org"
      CORS_ALLOWED_DOMAINS: "*"
      DEFAULT_ORGS_PER_USER: 100
      DEFAULT_ORG_MEMBER_COUNT: 1000
      DEFAULT_ORG_GROUP_COUNT: 100
      DEFAULT_ORG_APP_COUNT: 1000
      DEFAULT_DEVELOPER_COUNT: 50
      #
      # API-KEY secret - should be a string of at least 32 random characters
      #    - on linux/mac, generate one eg. with: head /dev/urandom | head -c 30 | shasum -a 256
      #
      LOWCODER_API_KEY_SECRET: "5a41b090758b39b226603177ef48d73ae9839dd458ccb7e66f7e7cc028d5a50b"
    restart: unless-stopped
    depends_on:
      - mongodb
      - redis

  lowcoder-node-service:
    image: lowcoderorg/lowcoder-ce-node-service:latest
    container_name: lowcoder-node-service
    # Enabled ports to be able to access backend from host
    # ports:
    #   - "6060:6060"
    environment:
      PUID: "9001"
      PGID: "9001"
      LOWCODER_API_SERVICE_URL: "http://lowcoder-api-service:8080"
    restart: unless-stopped
    depends_on:
      - lowcoder-api-service

  ##
  ## Start Lowcoder web frontend
  ##
  lowcoder-frontend:
    image: lowcoderorg/lowcoder-ce-frontend:latest
    container_name: lowcoder-frontend
    ports:
      - "3000:3000"
    environment:
      PUID: "9001"
      PGID: "9001"
      LOWCODER_MAX_REQUEST_SIZE: 20m
      LOWCODER_MAX_QUERY_TIMEOUT: 120
      LOWCODER_API_SERVICE_URL: "http://lowcoder-api-service:8080"
      LOWCODER_NODE_SERVICE_URL: "http://lowcoder-node-service:6060"
    restart: unless-stopped
    depends_on:
      - lowcoder-node-service
      - lowcoder-api-service

Upping the service and downloading the most fresh images:

ivan@zxs:~/test$ docker-compose up -d
Pulling lowcoder-api-service (lowcoderorg/lowcoder-ce-api-service:latest)...
latest: Pulling from lowcoderorg/lowcoder-ce-api-service
aece8493d397: Pull complete
e9af5f814690: Pull complete
c7d28ef590aa: Pull complete
Digest: sha256:bec5ee851f156c466f1bf44302475157af52a7b9467b41de1258c87b0ce953a2
Status: Downloaded newer image for lowcoderorg/lowcoder-ce-api-service:latest
Pulling lowcoder-node-service (lowcoderorg/lowcoder-ce-node-service:latest)...
latest: Pulling from lowcoderorg/lowcoder-ce-node-service
aece8493d397: Already exists
2febaf36e010: Pull complete
ddb79120e249: Pull complete
Digest: sha256:361056d3184775ae9a39890bd23b8eda9ccf40201472163d72d7cdb3d7b3dd3f
Status: Downloaded newer image for lowcoderorg/lowcoder-ce-node-service:latest
Pulling lowcoder-frontend (lowcoderorg/lowcoder-ce-frontend:latest)...
latest: Pulling from lowcoderorg/lowcoder-ce-frontend
648e0aadf75a: Pull complete
262696647b70: Pull complete
e66d0270d23f: Pull complete
55ac49bd649c: Pull complete
cbf42f5a00d2: Pull complete
8015f365966b: Pull complete
4cadff8bc2aa: Pull complete
766a4bb1d23d: Pull complete
d9ca9291d7db: Pull complete
575e4aab0226: Pull complete
c2775100b233: Pull complete
7942bb0c3994: Pull complete
fd36b1a73420: Pull complete
08adc5379362: Pull complete
173d04b57a36: Pull complete
4c27a7944b4b: Pull complete
Digest: sha256:908f563fb88209c4d66a3093611adcb514c91722418748a4c13940318b7b1538
Status: Downloaded newer image for lowcoderorg/lowcoder-ce-frontend:latest
Creating redis   ... done
Creating mongodb ... done
Creating lowcoder-api-service ... done
Creating lowcoder-node-service ... done
Creating lowcoder-frontend     ... done

Checking the service:

ivan@zxs:~/test$ docker ps
CONTAINER ID        IMAGE                                         COMMAND                  CREATED             STATUS                              PORTS               NAMES
b45b503944ff        lowcoderorg/lowcoder-ce-frontend:latest       "/docker-entrypoint.…"   2 minutes ago       Restarting (1) 58 seconds ago                           lowcoder-frontend
a6452de07b07        lowcoderorg/lowcoder-ce-node-service:latest   "/bin/sh /lowcoder/n…"   2 minutes ago       Restarting (139) 59 seconds ago                         lowcoder-node-service
7d9d0e8a8cb9        lowcoderorg/lowcoder-ce-api-service:latest    "sh /lowcoder/api-se…"   2 minutes ago       Restarting (1) About a minute ago                       lowcoder-api-service
a498d3afa2be        mongo:4.4                                     "docker-entrypoint.s…"   2 minutes ago       Up 2 minutes                        27017/tcp           mongodb
8b5b282aaf90        redis:7-alpine                                "docker-entrypoint.s…"   2 minutes ago       Up 2 minutes                        6379/tcp            redis

Checking the logs:

ivan@zxs:~/test$ docker logs --tail=10 -f lowcoder-frontend
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Ignoring /docker-entrypoint.d/00-change-nginx-user.sh, not executable
/docker-entrypoint.sh: Ignoring /docker-entrypoint.d/01-update-nginx-conf.sh, not executable
/docker-entrypoint.sh: Ignoring /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh, not executable
/docker-entrypoint.sh: Ignoring /docker-entrypoint.d/15-local-resolvers.envsh, not executable
/docker-entrypoint.sh: Ignoring /docker-entrypoint.d/20-envsubst-on-templates.sh, not executable
/docker-entrypoint.sh: Ignoring /docker-entrypoint.d/30-tune-worker-processes.sh, not executable
/docker-entrypoint.sh: Configuration complete; ready for start up
2023/11/13 12:55:28 [emerg] 1#1: open() "/etc/nginx/nginx.conf" failed (2: No such file or directory)
nginx: [emerg] open() "/etc/nginx/nginx.conf" failed (2: No such file or directory)
ivan@zxs:~/test$ lowcoder-frontend^C
ivan@zxs:~/test$ docker logs --tail=10 -f lowcoder-api-service
    user id: 9001
   group id: 9001
  base path: /

[0.003s][warning][os,thread] Failed to start thread "GC Thread#0" - pthread_create failed (EPERM) for attributes: stacksize: 1024k, guardsize: 4k, detached.
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Cannot create worker GC thread. Out of system resources.
# An error report file with more information is saved as:
# //hs_err_pid9.log
ivan@zxs:~/test$ htop
ivan@zxs:~/test$ docker logs --tail=10 -f lowcoder-node-service
node[1]: ../src/node_platform.cc:68:std::unique_ptr<long unsigned int> node::WorkerThreadsTaskRunner::DelayedTaskScheduler::Start(): Assertion `(0) == (uv_thread_create(t.get(), start_thread, this))' failed.
 1: 0xbf9890 node::Abort() [node]
 2: 0xbf990e  [node]
 3: 0xc689ae  [node]
 4: 0xc68a91 node::NodePlatform::NodePlatform(int, v8::TracingController*, v8::PageAllocator*) [node]
 5: 0xbb70c3  [node]
 6: 0xbb78db node::Start(int, char**) [node]
 7: 0x7feaf1440d90  [/lib/x86_64-linux-gnu/libc.so.6]
 8: 0x7feaf1440e40 __libc_start_main [/lib/x86_64-linux-gnu/libc.so.6]
 9: 0xb2950e _start [node]
ivan@zxs:~/test$ docker logs --tail=1000 -f lowcoder-node-service
Initializing node-service...
Lowcoder node-service setup finished.

Running Lowcoder node-service with:
  API service host: http://lowcoder-api-service:8080
           user id: 9001
          group id: 9001

node[1]: ../src/node_platform.cc:68:std::unique_ptr<long unsigned int> node::WorkerThreadsTaskRunner::DelayedTaskScheduler::Start(): Assertion `(0) == (uv_thread_create(t.get(), start_thread, this))' failed.
 1: 0xbf9890 node::Abort() [node]
 2: 0xbf990e  [node]
 3: 0xc689ae  [node]
 4: 0xc68a91 node::NodePlatform::NodePlatform(int, v8::TracingController*, v8::PageAllocator*) [node]
 5: 0xbb70c3  [node]
 6: 0xbb78db node::Start(int, char**) [node]
 7: 0x7f2ec98fed90  [/lib/x86_64-linux-gnu/libc.so.6]
 8: 0x7f2ec98fee40 __libc_start_main [/lib/x86_64-linux-gnu/libc.so.6]
 9: 0xb2950e _start [node]
Initializing node-service...
Lowcoder node-service setup finished.

The 3 containers have a problem.

Can you reopen the issue? @FalkWolsky

Many thanks-

cripsisxyz commented 10 months ago

same problem with tagged versions: @FalkWolsky @ludomikula

    image: "mongo:4.4"
    image: redis:7-alpine
    image: lowcoderorg/lowcoder-ce-api-service:2.1.6
    image: lowcoderorg/lowcoder-ce-node-service:2.1.6
    image: lowcoderorg/lowcoder-ce-frontend:2.1.6