louislam / uptime-kuma

A fancy self-hosted monitoring tool
https://uptime.kuma.pet
MIT License
52.29k stars 4.71k forks source link

`[SERVICES] INFO: Failed to start nscd` caused by custom UUID/GUID without perimissions to start services #4743

Open RavHilton opened 1 month ago

RavHilton commented 1 month ago

📑 I have found these related issues/pull requests

no response

🛡️ Security Policy

Description

In "Settings": Enable NSCD (Name Service Cache Daemon) for caching all DNS requests: Enabled

In Logs:

[SETTINGS] INFO: Chrome executable is changed. Resetting Chrome...
[SERVICES] INFO: Starting nscd
[SERVICES] INFO: Failed to start nscd

If I shell into the Docker container, I can manually start nscd with no issues.

👟 Reproduction steps

Current Docker container, using Compose, it does this all the time when "Enable NSCD" is set - disabling it in Settings obviously results in the container starting without this error message.

👀 Expected behavior

NSCD would start when enabled

😓 Actual Behavior

[SETTINGS] INFO: Chrome executable is changed. Resetting Chrome...
[SERVICES] INFO: Starting nscd
[SERVICES] INFO: Failed to start nscd

🐻 Uptime-Kuma Version

1.23.13

💻 Operating System and Arch

Docker

🌐 Browser

Opera, Chrome, Edge, Firefox

🖥️ Deployment Environment

Host: Synology DS1823xs+ Environment: Container Manager Management: Portainer CE 2.19.5

services:
  uptime-kuma:
    image: louislam/uptime-kuma:1
    container_name: uptime-kuma
    restart: unless-stopped
    environment:
      PUID: 1026
      PGID: 100
      TZ: Australia/Brisbane
    volumes:
      - /volume1/docker/uptime-kuma:/app/data
    networks:
      default:
        ipv4_address: 10.24.20.71
#        ports:
#          - 3001:3001

networks:
  default:
    name: macvlan-br0
    external: true

📝 Relevant log output

[SETTINGS] INFO: Chrome executable is changed. Resetting Chrome...
[SERVICES] INFO: Starting nscd
[SERVICES] INFO: Failed to start nscd
chakflying commented 1 month ago

I'm guessing setting the user ID is causing it to not have the correct permissions to start the service.

RavHilton commented 1 month ago

That is the UID/GID that Docker runs under, and 29 other containers run under without any issues. However when I comment these out Uptime Kuma can load nscd when it boots.

Hhmmm, does that mean I shouldn't set the PUID/PGID for Uptime Kuma even though it works fine for a heap of other containers, or is there something either a) needing changed in the official Uptime Kuma container, or b) I've missed in the docs/config?

CommanderStorm commented 1 month ago

does that mean I shouldn't set the PUID/PGID for Uptime Kuma

Nscd is not configured to support changing the PUID/PGID to an unpriviliged user.

needing changed in [...] Uptime Kuma

This subsystem not properly using the environment variable is a bug. (PRs welcome)

[!NOTE] The image currently only fully supports root-level-users (see #4500 for further details). Could be documented better as with most edge case configurations.