
Voici quelques notes sur la façon dont j’ai mis mon instance de test Discourse en marche avec Caddy Server.
Choses cool à propos de Caddy :
-
SSL gratuit avec Let’s Encrypt
-
HTTP2 et QUIC prêts à l’emploi
-
Plus facile à configurer que nginx
Inconvénients :
- Moins éprouvé au combat qu’apache, nginx et cia.
Comment faire
Préparation de Discourse
Tout d’abord, vous devez appliquer ces modifications à votre app.yml :
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
- "templates/web.socketed.template.yml" # <<<----- CECI EST NOUVEAU
## Laissez ces deux commentés
# - "templates/web.ssl.template.yml"
# - "templates/web.letsencrypt.ssl.template.yml"
## Laissez ces deux commentés
expose:
# - "8080:80" # http
# - "443:443" # https
env:
## Ceci doit être commenté
#LETSENCRYPT_ACCOUNT_EMAIL: mymail@gmail.com
## Ceci est requis pour éviter les avertissements de contenu mixte derrière un proxy inverse
DISCOURSE_FORCE_HTTPS: true
Préparation de Caddy
Dans l’esprit de Discourse, mettons Caddy dans une image Docker aussi ![]()
Préparez d’abord avec :
mkdir -p /var/caddy/data /var/caddy/config
nano /var/caddy/Caddyfile
Ajoutez ce qui suit au Caddyfile (en utilisant la syntaxe Caddy v2) :
{
email MYEMAILHERE@gmail.com
}
forum.example.com { # votre domaine ici
reverse_proxy unix//sock/nginx.http.sock
}
Enregistrez et quittez.
Testons
Maintenant, vous devez reconstruire Discourse :
cd /var/discourse
./launcher rebuild app
Et ensuite exécutez Caddy :
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
Après tout, votre forum devrait être disponible sur votre domaine, utilisant SSL + HTTP2 + QUIC. On ne peut pas être plus hipster que ça.


