Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

NodeBB

  1. Home
  2. Selfhosted
  3. Need help with searxng docker compose

Need help with searxng docker compose

Scheduled Pinned Locked Moved Selfhosted
selfhosted
9 Posts 3 Posters 0 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • O This user is from outside of this forum
    O This user is from outside of this forum
    [email protected]
    wrote on last edited by
    #1

    I hosted searxng on portainer and receive PermissionError and no python application found error

    Log:

    PermissionError: [Errno 13] Permission denied: '/etc/searxng/settings.yml'
    
    unable to load app 0 (mountpoint='') (callable not found or import error)
    
    *** no app loaded. going in full dynamic mode ***
    
    --- no python application found, check your startup logs for errors ---
    
    [pid: 19|app: -1|req: -1/1] 127.0.0.1 () {28 vars in 330 bytes} [Sat May 17 05:06:00 2025] HEAD /healthz => generated 21 bytes in 0 msecs (HTTP/1.1 500) 3 headers in 102 bytes (0 switches on core 0)
    

    I tried removing cap_drop (as instructed on https://github.com/searxng/searxng-docker/issues/115) but no luck

    version: "3.7"
    
    services:
      # caddy:
      #   container_name: caddy
      #   image: docker.io/library/caddy:2-alpine
      #   network_mode: host
      #   restart: unless-stopped
      #   volumes:
      #     - ./Caddyfile:/etc/caddy/Caddyfile:ro
      #     - caddy-data:/data:rw
      #     - caddy-config:/config:rw
      #   environment:
      #     # - SEARXNG_HOSTNAME=${SEARXNG_HOSTNAME:-http://localhost/}
      #     - SEARXNG_TLS=${LETSENCRYPT_EMAIL:-internal}
      #   cap_drop:
      #     - ALL
      #   cap_add:
      #     - NET_BIND_SERVICE
      #   logging:
      #     driver: "json-file"
      #     options:
      #       max-size: "1m"
      #       max-file: "1"
    
      redis:
        container_name: redis
        image: docker.io/valkey/valkey:8-alpine
        command: valkey-server --save 30 1 --loglevel warning
        restart: unless-stopped
        networks:
          - searxng
        volumes:
          - valkey-data2:/data
        # cap_drop:
        #   - ALL
        cap_add:
          - SETGID
          - SETUID
          - DAC_OVERRIDE
        logging:
          driver: "json-file"
          options:
            max-size: "1m"
            max-file: "1"
    
      searxng:
        container_name: searxng
        image: docker.io/searxng/searxng:latest
        restart: unless-stopped
        networks:
          - searxng
        ports:
          # - "127.0.0.1:8080:8080"
          - "20054:8080"
        volumes:
          - ./searxng:/etc/searxng:rw
        environment:
          # - SEARXNG_BASE_URL=https://${SEARXNG_HOSTNAME:-localhost}/
          - SEARXNG_BASE_URL="http://mydomain:20054/"
          - UWSGI_WORKERS=${SEARXNG_UWSGI_WORKERS:-4}
          - UWSGI_THREADS=${SEARXNG_UWSGI_THREADS:-4}
        # cap_drop:
        #   - ALL
        cap_add:
          - CHOWN
          - SETGID
          - SETUID
        logging:
          driver: "json-file"
          options:
            max-size: "1m"
            max-file: "1"
    
    networks:
      searxng:
    
    volumes:
      # caddy-data:
      # caddy-config:
      valkey-data2:
    

    thx a lot!

    N 1 Reply Last reply
    0
    • O [email protected]

      I hosted searxng on portainer and receive PermissionError and no python application found error

      Log:

      PermissionError: [Errno 13] Permission denied: '/etc/searxng/settings.yml'
      
      unable to load app 0 (mountpoint='') (callable not found or import error)
      
      *** no app loaded. going in full dynamic mode ***
      
      --- no python application found, check your startup logs for errors ---
      
      [pid: 19|app: -1|req: -1/1] 127.0.0.1 () {28 vars in 330 bytes} [Sat May 17 05:06:00 2025] HEAD /healthz => generated 21 bytes in 0 msecs (HTTP/1.1 500) 3 headers in 102 bytes (0 switches on core 0)
      

      I tried removing cap_drop (as instructed on https://github.com/searxng/searxng-docker/issues/115) but no luck

      version: "3.7"
      
      services:
        # caddy:
        #   container_name: caddy
        #   image: docker.io/library/caddy:2-alpine
        #   network_mode: host
        #   restart: unless-stopped
        #   volumes:
        #     - ./Caddyfile:/etc/caddy/Caddyfile:ro
        #     - caddy-data:/data:rw
        #     - caddy-config:/config:rw
        #   environment:
        #     # - SEARXNG_HOSTNAME=${SEARXNG_HOSTNAME:-http://localhost/}
        #     - SEARXNG_TLS=${LETSENCRYPT_EMAIL:-internal}
        #   cap_drop:
        #     - ALL
        #   cap_add:
        #     - NET_BIND_SERVICE
        #   logging:
        #     driver: "json-file"
        #     options:
        #       max-size: "1m"
        #       max-file: "1"
      
        redis:
          container_name: redis
          image: docker.io/valkey/valkey:8-alpine
          command: valkey-server --save 30 1 --loglevel warning
          restart: unless-stopped
          networks:
            - searxng
          volumes:
            - valkey-data2:/data
          # cap_drop:
          #   - ALL
          cap_add:
            - SETGID
            - SETUID
            - DAC_OVERRIDE
          logging:
            driver: "json-file"
            options:
              max-size: "1m"
              max-file: "1"
      
        searxng:
          container_name: searxng
          image: docker.io/searxng/searxng:latest
          restart: unless-stopped
          networks:
            - searxng
          ports:
            # - "127.0.0.1:8080:8080"
            - "20054:8080"
          volumes:
            - ./searxng:/etc/searxng:rw
          environment:
            # - SEARXNG_BASE_URL=https://${SEARXNG_HOSTNAME:-localhost}/
            - SEARXNG_BASE_URL="http://mydomain:20054/"
            - UWSGI_WORKERS=${SEARXNG_UWSGI_WORKERS:-4}
            - UWSGI_THREADS=${SEARXNG_UWSGI_THREADS:-4}
          # cap_drop:
          #   - ALL
          cap_add:
            - CHOWN
            - SETGID
            - SETUID
          logging:
            driver: "json-file"
            options:
              max-size: "1m"
              max-file: "1"
      
      networks:
        searxng:
      
      volumes:
        # caddy-data:
        # caddy-config:
        valkey-data2:
      

      thx a lot!

      N This user is from outside of this forum
      N This user is from outside of this forum
      [email protected]
      wrote on last edited by
      #2

      I've never used portainer sorry.

      If you see the published port for a very short time then something might be crashing when it tries to start.

      docker logs searxng from cli might be revealing

      edit: I do have a searxng container and my compose.yml is very similar to yours. I guess we both copied the example. The only difference I can see is that you still have the env variables for UWSGI_WORKERS and UWSGI_THREADS. I just set both of those to 4 instead of using the SEARXNG_ env vars

      O 1 Reply Last reply
      0
      • N [email protected]

        I've never used portainer sorry.

        If you see the published port for a very short time then something might be crashing when it tries to start.

        docker logs searxng from cli might be revealing

        edit: I do have a searxng container and my compose.yml is very similar to yours. I guess we both copied the example. The only difference I can see is that you still have the env variables for UWSGI_WORKERS and UWSGI_THREADS. I just set both of those to 4 instead of using the SEARXNG_ env vars

        O This user is from outside of this forum
        O This user is from outside of this forum
        [email protected]
        wrote on last edited by
        #3

        Listen on [::]:8080 doesn't give 20054, could this be the reason?

        Listen on [::]:8080
        
        [uWSGI] getting INI configuration from /etc/searxng/uwsgi.ini
        
        open("/etc/searxng/uwsgi.ini"): Permission denied [core/io.c line 525]
        
        SearXNG version 2025.5.16+1b08324
        
        Use existing /etc/searxng/uwsgi.ini
        
        Use existing /etc/searxng/settings.yml
        
        Listen on [::]:8080
        
        [uWSGI] getting INI configuration from /etc/searxng/uwsgi.ini
        
        open("/etc/searxng/uwsgi.ini"): Permission denied [core/io.c line 525]
        
        SearXNG version 2025.5.16+1b08324
        
        Use existing /etc/searxng/uwsgi.ini
        
        Use existing /etc/searxng/settings.yml
        
        Listen on [::]:8080
        
        [uWSGI] getting INI configuration from /etc/searxng/uwsgi.ini
        
        open("/etc/searxng/uwsgi.ini"): Permission denied [core/io.c line 525]
        
        H 1 Reply Last reply
        0
        • O [email protected]

          Listen on [::]:8080 doesn't give 20054, could this be the reason?

          Listen on [::]:8080
          
          [uWSGI] getting INI configuration from /etc/searxng/uwsgi.ini
          
          open("/etc/searxng/uwsgi.ini"): Permission denied [core/io.c line 525]
          
          SearXNG version 2025.5.16+1b08324
          
          Use existing /etc/searxng/uwsgi.ini
          
          Use existing /etc/searxng/settings.yml
          
          Listen on [::]:8080
          
          [uWSGI] getting INI configuration from /etc/searxng/uwsgi.ini
          
          open("/etc/searxng/uwsgi.ini"): Permission denied [core/io.c line 525]
          
          SearXNG version 2025.5.16+1b08324
          
          Use existing /etc/searxng/uwsgi.ini
          
          Use existing /etc/searxng/settings.yml
          
          Listen on [::]:8080
          
          [uWSGI] getting INI configuration from /etc/searxng/uwsgi.ini
          
          open("/etc/searxng/uwsgi.ini"): Permission denied [core/io.c line 525]
          
          H This user is from outside of this forum
          H This user is from outside of this forum
          [email protected]
          wrote on last edited by
          #4

          open("/etc/searxng/uwsgi.ini"): Permission denied [core/io.c line 525]

          I think here is your problem. Make sure that file exists and is readable from inside of the docker.

          O 1 Reply Last reply
          0
          • H [email protected]

            open("/etc/searxng/uwsgi.ini"): Permission denied [core/io.c line 525]

            I think here is your problem. Make sure that file exists and is readable from inside of the docker.

            O This user is from outside of this forum
            O This user is from outside of this forum
            [email protected]
            wrote on last edited by
            #5

            I tried removing cap_drop (as instructed on https://github.com/searxng/searxng-docker/issues/115) but no luck, the permission error still exists. And also there occurs a new error no python application found

            H 1 Reply Last reply
            0
            • O [email protected]

              I tried removing cap_drop (as instructed on https://github.com/searxng/searxng-docker/issues/115) but no luck, the permission error still exists. And also there occurs a new error no python application found

              H This user is from outside of this forum
              H This user is from outside of this forum
              [email protected]
              wrote on last edited by
              #6

              try opening a shell with ' docker exec -it searxng sh" and see if you can cat the file from inside docker, if yes then I'm not sure of a solution ,if no then the problem is with permissions on your filesystem outside of docker where you have " - ./data/searxng:/etc/searxng" You need to go to ./data/searxng and correct the permissions so they can be read inside the docker.

              O 1 Reply Last reply
              0
              • H [email protected]

                try opening a shell with ' docker exec -it searxng sh" and see if you can cat the file from inside docker, if yes then I'm not sure of a solution ,if no then the problem is with permissions on your filesystem outside of docker where you have " - ./data/searxng:/etc/searxng" You need to go to ./data/searxng and correct the permissions so they can be read inside the docker.

                O This user is from outside of this forum
                O This user is from outside of this forum
                [email protected]
                wrote on last edited by
                #7

                u are right its not writable, the files are read only, that is wierd

                H 1 Reply Last reply
                0
                • O [email protected]

                  u are right its not writable, the files are read only, that is wierd

                  H This user is from outside of this forum
                  H This user is from outside of this forum
                  [email protected]
                  wrote on last edited by
                  #8

                  Yep Probably you need to change ownership and/or permissions of the files outside of docker.

                  I dont want to give the wrong suggestion from memory so hopefully thats enough info to get you going in the direction of a fix. Basically see what user id owns the files inside of docker, make it the same uid outside of docker in the folder you are bind mounting.

                  O 1 Reply Last reply
                  0
                  • H [email protected]

                    Yep Probably you need to change ownership and/or permissions of the files outside of docker.

                    I dont want to give the wrong suggestion from memory so hopefully thats enough info to get you going in the direction of a fix. Basically see what user id owns the files inside of docker, make it the same uid outside of docker in the folder you are bind mounting.

                    O This user is from outside of this forum
                    O This user is from outside of this forum
                    [email protected]
                    wrote on last edited by
                    #9
                    $ sudo docker exec -it searxng sh -c "id"
                    uid=0(root) gid=0(root) groups=0(root)
                    

                    container is running as root, so there shouldn't be any permission error?

                    u are right its not writable, the files are read only, that is wierd

                    I'm opening those files with windows but the user permission inside docker shouldn't cause that problem.

                    I'm scratching my head nw

                    user id

                    1 Reply Last reply
                    0
                    Reply
                    • Reply as topic
                    Log in to reply
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes


                    • Login

                    • Login or register to search.
                    Powered by NodeBB Contributors
                    • First post
                      Last post
                    0
                    • Categories
                    • Recent
                    • Tags
                    • Popular
                    • World
                    • Users
                    • Groups