Direkt zum Hauptinhalt

LDAP Installation

📜 Zertifikat mit ACME automatisch installieren & verwalten (Docker, Synology, All-Inkl)

🔗 Offizielles Projekt:
👉 acme.sh – GitHub


🐳 Docker Container

version: "2.1"
services:
  acme.sh:
    image: neilpang/acme.sh
    container_name: tool-acme.sh
    environment:
      - PUID=1026         # Benutzer-ID (z. B. acme user)
      - PGID=100          # Gruppen-ID
      - TZ=Europe/Berlin
      - UMASK_SET=002
    network_mode: host
    volumes:
      - /volume3/docker/acme/config:/acme.sh   # persistente Konfiguration
      - /volume3/docker/acme/key:/key          # optionale Schlüsselablage
    command: daemon
    restart: unless-stopped

🔐 DSM-Zugangsdaten setzen (für Deployment auf Synology)

👉 Anleitung: Synology NAS Guide (acme.sh)

Im Container:

export SYNO_USERNAME=adminUser
export SYNO_PASSWORD=adminPassword
export SYNO_SCHEME=https
export SYNO_HOSTNAME=dsm.familie-jonas.bayern
export SYNO_PORT=5001
export SYNO_CREATE=1

🔔 Benachrichtigung per Pushover aktivieren

👉 Pushover Notify-Hook Doku

1. Zugangsdaten exportieren:

export PUSHOVER_TOKEN=your_token
export PUSHOVER_USER=your_user_key

2. Notify-Hook aktivieren:

acme.sh --set-notify --notify-hook pushover --notify-level 3
--notify-level Bedeutungen:
Level Beschreibung
0 Deaktiviert
1 Nur bei Fehlern
2 Bei erfolgreicher Erneuerung oder Fehler
3 Immer (auch wenn Zertifikat übersprungen wurde)

💡 Hinweis: Nach erfolgreichem Test mit --notify-level 3 ggf. auf --notify-level 2 reduzieren.


🌐 DNS API (All-Inkl)

👉 Doku: dns_kas

export KAS_Login=<ACCOUNTID>
export KAS_Authdata=<PLAINTEXTPASSWORD>
export KAS_Authtype=plain

🧪 Zertifikat manuell testen

Zertifikat erstellen:

acme.sh --issue -d ldap.familie-jonas.bayern --dns dns_kas --keylength 2048 --server letsencrypt

🛑 Hinweis:
Ohne --keylength erstellt acme.sh standardmäßig ein ECC-Zertifikat.
Die Angabe --keylength 2048 erzwingt ein RSA-Zertifikat, das besser kompatibel ist – z. B. mit Synology DSM.


Zertifikat deployen:

acme.sh --deploy -d ldap.familie-jonas.bayern --deploy-hook synology_dsm

⚙️ Automatische Erneuerung (Cronjob im Container)

Interner Cronjob aktivieren:

acme.sh --install-cronjob

➡️ Dieser läuft alle 24h automatisch im Container (sofern command: daemon im Docker aktiv ist)

Manuell testen:

acme.sh --cron
Beispielausgabe:
[Wed Aug  6 09:59:57 CEST 2025] ===Starting cron===
[Wed Aug  6 09:59:57 CEST 2025] Already up to date!
[Wed Aug  6 09:59:57 CEST 2025] Automatically upgraded to: 3.1.2
[Wed Aug  6 09:59:57 CEST 2025] Renewing: 'ldap.familie-jonas.bayern'
[Wed Aug  6 09:59:57 CEST 2025] Skipping. Next renewal time is: 2025-10-04T07:27:23Z
[Wed Aug  6 09:59:57 CEST 2025] Add '--force' to force renewal.
[Wed Aug  6 09:59:57 CEST 2025] Skipped ldap.familie-jonas.bayern
[Wed Aug  6 09:59:57 CEST 2025] Sending via: pushover
[Wed Aug  6 09:59:59 CEST 2025] PUSHOVER send success.
[Wed Aug  6 09:59:59 CEST 2025] pushover Success
[Wed Aug  6 09:59:59 CEST 2025] ===End cron===

🧩 Optional: Alles als Shell-Skript zusammenführen

#!/bin/bash

# Konfiguration setzen
export SYNO_USERNAME=adminUser
export SYNO_PASSWORD=adminPassword
export SYNO_SCHEME=https
export SYNO_HOSTNAME=dsm.familie-jonas.bayern
export SYNO_PORT=5001
export SYNO_CREATE=1

export KAS_Login=<ACCOUNTID>
export KAS_Authdata=<PLAINTEXTPASSWORD>
export KAS_Authtype=plain

export PUSHOVER_TOKEN=your_token
export PUSHOVER_USER=your_user_key

# Zertifikat ausstellen + deployen
acme.sh --issue -d ldap.familie-jonas.bayern --dns dns_kas --keylength 2048 --server letsencrypt --force
acme.sh --deploy -d ldap.familie-jonas.bayern --deploy-hook synology_dsm

📁 Dieses Skript kann auch über den DSM-Aufgabenplaner regelmäßig (oder auch einmalig zum Anlegen der Konfiguration) ausgeführt werden – alternativ zur Docker-internen Automatik.