nginx-proxy-manager icon indicating copy to clipboard operation
nginx-proxy-manager copied to clipboard

ERROR: /etc/letsencrypt is not mounted! Check your docker configuration.

Open littlegraycells opened this issue 1 year ago • 17 comments

Checklist

  • Have you pulled and found the error with jc21/nginx-proxy-manager:latest docker image?
    • Yes
  • Are you sure you're not using someone else's docker image?
    • Yes
  • Have you searched for similar issues (both open and closed)?
    • Yes

Describe the bug With the jc21/nginx-proxy-manager:latest image, I'm getting the following error in the logs:

❯ Configuring npm user ...
useradd warning: npm's uid 0 outside of the UID_MIN 1000 and UID_MAX 60000 range.
❯ Configuring npm group ...
❯ Checking paths ...
--------------------------------------
ERROR: /etc/letsencrypt is not mounted! Check your docker configuration.
--------------------------------------
s6-rc: warning: unable to start service prepare: command exited 1
/run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information.

I'm not using Let's Encrypt and so do not have /etc/letsencrypt mounted in my compose file.

I went back to jc21/nginx-proxy-manager:2.10.4 and everything works as expected.

Nginx Proxy Manager Version latest from docker hub

To Reproduce Steps to reproduce the behavior:

  1. Pull the jc21/nginx-proxy-manager:latest image and run the container without providing a host mount for /etc/letsencrypt.
  2. The NPM container crashes with the above mentioned error.

Expected behavior The container should operate normally without this mount.

Operating System Linux **** 5.15.0-1051-oracle 57-Ubuntu SMP Wed Jan 24 18:31:24 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux

littlegraycells avatar Feb 17 '24 00:02 littlegraycells

can you not mount the volume and just not use sll certs?

Dialgatrainer02 avatar Feb 17 '24 09:02 Dialgatrainer02

@Dialgatrainer02 Yes, I could do that (and it does work). Is that the recommended approach? It seems like previous version did not have this as a necessity if not using Let's Encrypt. But if that's the proper way to do it, then please feel free to resolve this ticket.

littlegraycells avatar Feb 17 '24 23:02 littlegraycells

I am experiencing the same issue as of January 21st 2024. I only use Nginx to access Vaultwarden so it took some time to figure out what was wrong. Is there a solution for this?

EDIT: Went back to 2.10.4 and all is now working as expected. Told WatchTower not to auto-update this container ;-) Hope this thread will get a reply when a fix is available. All contributors: thanks for the hard work :)

Sjonnie2018 avatar Feb 25 '24 13:02 Sjonnie2018

Similar issue here, except I do use SSL and I have a directory bound to /etc/letsencrypt. I get this error with latest as of 2/26/24; going back to 2.10.4 makes everything work again.

jmthompson avatar Feb 27 '24 17:02 jmthompson

same Problem here after "default" install: ERROR: /etc/letsencrypt is not mounted! Check your docker configuration.

yes, the 2.10.4 works fine...

ingeniumdesign avatar Mar 17 '24 20:03 ingeniumdesign

Same as above

gybrid avatar Mar 22 '24 09:03 gybrid

Same as above

Marrrrrrrrry avatar Mar 24 '24 13:03 Marrrrrrrrry

same here!

akorb90 avatar Mar 26 '24 18:03 akorb90

Same here , the 2.10.4 works fine

txfab avatar Apr 05 '24 03:04 txfab

This issue still persists. I have yet to find a solution. Is there any quick fix other than using the older version?

ZoezTV avatar Apr 23 '24 17:04 ZoezTV

Still persists

danielj23 avatar May 01 '24 18:05 danielj23

Here is the breaking changes: Issue #3170 with PR #3258

If you are not using SSL certificates at all (i.e. only hosting locally) you could probably just mount an empty directory for letsencrypt. Something like this in your compose file:

---
# ...

services:
  nginx-proxy-manager:
    # ...
    volumes:
      # ...
      - nginx-proxy-manager_letsencrypt:/etc/letsencrypt

volumes:
  # ...
  nginx-proxy-manager_letsencrypt:
    name: 'nginx-proxy-manager_letsencrypt'

samuelsson avatar May 08 '24 16:05 samuelsson

+1 to the above comments - issue still persists, June 2024. This is just a brand-new setup using the compose file from the README (with my added custom networks, but I'm not certain that is contributing to the issues here):

[+] Running 1/1
 ✔ Container proxy  Started                                                       0.6s
❯ logs
proxy  | 2024-06-02T18:27:07.060331113Z ❯ Configuring npm user ...
proxy  | 2024-06-02T18:27:07.069667494Z useradd warning: npm's uid 0 outside of the UID_MIN 1000 and UID_MAX 60000 range.
proxy  | 2024-06-02T18:27:07.080992354Z ❯ Configuring npm group ...
proxy  | 2024-06-02T18:27:07.106562277Z ❯ Checking paths ...
proxy  | 2024-06-02T18:27:07.110513182Z ❯ Setting ownership ...
proxy  | 2024-06-02T18:27:07.126143922Z ❯ Dynamic resolvers ...
proxy  | 2024-06-02T18:27:07.130586149Z s6-rc: warning: unable to start service prepare: command exited 127
proxy  | 2024-06-02T18:27:07.131479456Z /run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information.

This is after using the workaround suggested above - this is my compose file:

services:
  app:
    image: 'jc21/nginx-proxy-manager:v3'
    container_name: proxy
    restart: unless-stopped
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    volumes:
      - ./data:/data
      - ./nginx-proxy-manager_letsencrypt:/etc/letsencrypt
    networks:
      - cf
      - services

networks:
  cf:
    name: cf
    external: true
  services:
    name: services
    external: true

What's difficult is I can't confirm that it's related to LE, since I can't even get it to load long enough to try to configure esomething - LE or otherwise.

kmanwar89 avatar Jun 02 '24 18:06 kmanwar89

6 months later and still getting "ERROR: /etc/letsencrypt is not mounted! Check your docker configuration."

This prevents renewing certs. This is my compose file (using Portainer):

version: "3.8"

services:
  nginx_proxy_manager:

    image: jc21/nginx-proxy-manager:latest
    restart: unless-stopped
    container_name: nginx-proxy-manager
    #network_mode: host
    environment: # Uncomment this if IPv6 is not enabled on your host
      - DISABLE_IPV6=true # Uncomment this if IPv6 is not enabled on your host
    volumes:
      - /config/nginx:/data
      - /config/letsencrypt:/etc/letsencrypt   
    ports:
      # These ports are in format <host-port>:<container-port>
      - '80:80' # Public HTTP Port
      - '443:443' # Public HTTPS Port
      - '81:81' # Admin Web Port

How come this is still an issue? Is nobody using LE with NPM? Is there a workaround?

Nibb31 avatar Jun 23 '24 08:06 Nibb31

Just wanted to add that v2.10.4 works fine for me as well. (Installed as "custom app" in TrueNAS SCALE)

kylekrajnyak avatar Jul 09 '24 23:07 kylekrajnyak