Sign inSign up

alcapone1933/acme-npm

By alcapone1933

Updated 7 months ago

ACME-NPM Updater https://github.com/alcapone1933/docker-acme-npm

Image
Web servers
0

3.8K

alcapone1933/acme-npm repository overview

docker-acme-npm

Build Status Build Status Branch Master Github

 

ACME-NPM Updater

Dieses Projekt stellt einen Docker-Container bereit, der für die automatische Verwaltung von SSL-Zertifikaten über ACME.SH aktualisiert wird und
die Integration mit dem Nginx Proxy Manager (NPM) per API die SSL-Zertifikate Custom einzupflegen.
Der Container führt regelmäßige Überprüfungen und Updates durch und kann bei Bedarf auch Benachrichtigungen über Shoutrrr senden.

 

Voraussetzungen

  • Docker und Docker Compose müssen installiert sein.
  • Eine Instanz von Nginx Proxy Manager sollte bereits eingerichtet sein.

 

Erster Schritt wenn ACME Ordner noch nicht vorhadnen ist.

Starten die den Docker Container und richten sie acme.sh ein.

docker run --rm -it -v /your/path/acme.sh:/acme.sh --net=host alcapone1933/acme-npm /bin/bash

# Beispiel
acme.sh --set-default-ca --server letsencrypt
acme.sh --register-account --server letsencrypt -m [email protected]
acme.sh --issue --standalone -d example.com


exit
ACME.SH Beispiele
acme.sh --set-default-ca --server letsencrypt

acme.sh --register-account --server letsencrypt -m [email protected]

acme.sh --issue --standalone -d example.com
acme.sh --issue --dns dns_ddnss -d example.com
acme.sh --issue --dns dns_ddnss -d example.com -d '*.example.com'

acme.sh --issue --dns dns_ipv64 -d example.com --server letsencrypt
acme.sh --issue --dns dns_ipv64 -d example.com -d '*.example.com' --server letsencrypt

acme.sh --issue --alpn --tlsport 8443 --server letsencrypt --keylength 3072 -d example.com

acme.sh --cron
acme.sh --renew-all
acme.sh --renew-all --staging --force
acme.sh --renew -d example.com --force


acme.sh --set-notify --notify-source myservername --notify-mode 0 --notify-level 2 --notify-hook gotify
export GOTIFY_URL="https://gotify.example.com"
export GOTIFY_TOKEN="123456789ABCDEF"

ACME.SH-WIKI

 

NPM-API (single)

Wenn Sie das Zertifikat an den NPM (NGINX Proxy Manager) senden möchten einmalig,
ist es wichtig, den folgenden Befehl auszuführen.
Zertifikat sollte vorhanden sein.
Vergessen Sie nicht, beim docker run-Befehl die Umgebungsvariablen mit anzugeben.

docker run --rm -it -v /your/path/acme.sh:/acme.sh \
--net=host \
-e DOMAIN=example.de \
-e NPM_API=http://home.lan:81/api \
-e [email protected] \
-e NPM_PASS=changeme \
alcapone1933/acme-npm /bin/bash

npm-single.sh

exit

 

Docker CLI

docker run -d \
  --name acme.sh \
  --restart unless-stopped \
  --network host \
  -v /your/path/acme.sh:/acme.sh \
  -e TZ=Europe/Berlin \
  -e DOMAIN=example.de \
  -e SHOUTRRR_URL= \
  alcapone1933/acme-npm:latest

Docker Compose

services:
  acme:
    image: alcapone1933/acme-npm:latest
    container_name: acme.sh
    network_mode: "host"
    restart: unless-stopped
    volumes:
      - /your/path/acme.sh:/acme.sh
      # - ./output:/output
      # - /var/run/docker.sock:/var/run/docker.sock:ro
      # - ./data:/data #Optional
    environment:
      - TZ=Europe/Berlin
      - DOMAIN=example.de
      # - CRON_TIME=* 8 * * 1
      - SHOUTRRR_URL=
      - SHOUTRRR_SKIP_TEST=no
      # - NPM_API=http://<nginx-proxy-manager-ip>:81/api
      # - NPM_USER=<dein_nginx_proxymanager_benutzername>
      # - NPM_PASS=<dein_nginx_proxymanager_passwort>
      # - DOCKER_CONTAINER=
      # - OUTPUT_YES=yes
      # - CERT_CER_NAME=example.de.cer
      # - CERT_KEY_NAME=example.de.key
      # - CERT_CSR_NAME_YES=yes
      # - CERT_CSR_NAME=example.de.csr

Volume Parameter

Name (Beschreibung)WertStandard
Speicherort acme conf und SSL-Zertifikatenvolumeacme.sh:/acme.sh
Speicherort für OUTPUT von SSL-Zertifikatenvolumeoutput:/output
Speicherort für Logs #Optionalvolumeacme-npm_logs:/data
DOCKER SOCKETPFAD/var/run/docker.sock:/var/run/docker.sock:ro

Umgebungsvariablen

Hier ist eine Liste der unterstützten Umgebungsvariablen: Hier ist eine Liste der verfügbaren Umgebungsvariablen, die du in der docker-compose.yml oder direkt in der Docker-Umgebung setzen kannst:

VariableBeschreibungStandardwertBeispiel
TZZeitzoneEurope/BerlinEurope/Berlin
DOMAINDomainname für das SSL-Zertifikat---------------example.com
CRON_TIMECron-Schedule für Zertifikat-Updates0 8 * * *0 8 * * 1
SHOUTRRR_URLURL für Shoutrrr-Benachrichtigungen---------------gotify://...
SHOUTRRR_SKIP_TESTÜberspringt den Shoutrrr-Test beim Start (yes oder no)noyes
NPM_APIAPI-URL des Nginx Proxy Managers---------------http://home.lan:81/api
NPM_USERBenutzername für die Nginx Proxy Manager API---------------[email protected]
NPM_PASSPasswort für die Nginx Proxy Manager API---------------changeme
DOCKER_CONTAINERName des Docker-Containers, der gestoppt und gestartet werden soll---------------npm nginx
OUTPUT_YESBestimmt, ob Zertifikate nach /output exportiert werden (yes oder no)noyes
CERT_CER_NAMEDateiname für das Zertifikat (Standardwert ist der Domainname .cer)$DOMAIN.cerexample.de.cer
CERT_KEY_NAMEDateiname für den Zertifikatschlüssel (Standardwert ist der Domainname .key)$DOMAIN.keyexample.de.key
CERT_CSR_NAMEDateiname für die CSR-Datei (Standardwert ist der Domainname .csr)$DOMAIN.csrexample.de.csr
CERT_CSR_NAME_YESBestimmt, ob CSR-Datei exportiert wird (yes oder no)noyes
PUIDBenutzer-ID, für den /data Pfad01000
PGIDGruppen-ID, für den /data Pfad01000
SHOUTRRR_URL URL Beispiele Shoutrrr-DOCS

Tag summary

Content type

Image

Digest

sha256:8dbf2b66d

Size

39.9 MB

Last updated

7 months ago

docker pull alcapone1933/acme-npm