
Hier sind einige Notizen, wie ich meine Test-Discourse-Instanz mit Caddy Server zum Laufen gebracht habe.
Coole Sachen über Caddy:
-
Kostenloses SSL mit Let’s Encrypt
-
HTTP2 und QUIC Out-of-the-Box
-
Einfacher zu konfigurieren als nginx
Nachteile:
- Nicht so praxiserprobt wie apache, nginx und Konsorten.
Anleitung
Vorbereitung von Discourse
Zuerst müssen Sie diese Änderungen an Ihrer app.yml vornehmen:
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
- "templates/web.socketed.template.yml" # <<<----- DIES IST NEU
## Lassen Sie diese beiden auskommentiert
# - "templates/web.ssl.template.yml"
# - "templates/web.letsencrypt.ssl.template.yml"
## Lassen Sie diese beiden auskommentiert
expose:
# - "8080:80" # http
# - "443:443" # https
env:
## Dies sollte auskommentiert sein
#LETSENCRYPT_ACCOUNT_EMAIL: mymail@gmail.com
## Dies ist erforderlich, um Warnungen bezüglich gemischtem Inhalt hinter einem Reverse-Proxy zu vermeiden
DISCOURSE_FORCE_HTTPS: true
Vorbereitung von Caddy
Im Sinne von Discourse, packen wir Caddy auch in einen Docker-Image ![]()
Zuerst vorbereiten mit:
mkdir -p /var/caddy/data /var/caddy/config
nano /var/caddy/Caddyfile
Fügen Sie das Folgende in die Caddyfile ein (unter Verwendung der Caddy v2 Syntax):
{
email MYEMAILHERE@gmail.com
}
forum.example.com { # Ihre Domain hier
reverse_proxy unix//sock/nginx.http.sock
}
Speichern und beenden.
Testen wir
Jetzt müssen Sie Discourse neu erstellen:
cd /var/discourse
./launcher rebuild app
Und dann Caddy ausführen:
docker run -d \
-v /var/caddy/Caddyfile:/etc/caddy/Caddyfile \
-v /var/caddy/data:/data \
-v /var/caddy/config:/config \
-v /var/discourse/shared/standalone:/sock \
-p 80:80 -p 443:443 \
-p 443:443/udp \
--restart=always \
--name caddy \
caddy:latest
Am Ende sollte Ihr Forum unter Ihrer Domain verfügbar sein, mit SSL + HTTP2 + QUIC. Hippiger geht es nicht.


