
Aqui estão algumas notas sobre como configurei minha instância de teste do Discourse com o Caddy Server.
Coisas legais sobre o Caddy:
-
Eles usam o Discourse

-
SSL Gratuito com Let’s Encrypt
-
HTTP2 e QUIC prontos para uso
-
Mais fácil de configurar que o nginx
Contras:
- Não é tão testado em batalha quanto apache, nginx e cia.
Como Fazer
Preparando o Discourse
Primeiro, você precisa aplicar estas alterações no seu 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" # <<<<<----- ISSO É NOVO
## Deixe estes dois comentados
# - "templates/web.ssl.template.yml"
# - "templates/web.letsencrypt.ssl.template.yml"
## Deixe estes dois comentados
expose:
# - "8080:80" # http
# - "443:443" # https
env:
## Este deve ser comentado
#LETSENCRYPT_ACCOUNT_EMAIL: mymail@gmail.com
## Este é necessário para evitar avisos de conteúdo misto quando atrás de um proxy reverso
DISCOURSE_FORCE_HTTPS: true
Preparando o Caddy
No espírito do Discourse, vamos colocar o Caddy em uma imagem Docker também ![]()
Primeiro prepare com:
mkdir -p /var/caddy/data /var/caddy/config
nano /var/caddy/Caddyfile
Adicione o seguinte ao Caddyfile (usando a sintaxe do Caddy v2):
{
email MEUEMAILAQUI@gmail.com
}
forum.example.com { # seu domínio aqui
reverse_proxy unix//sock/nginx.http.sock
}
Salve e saia.
Vamos testar
Agora você precisa reconstruir o Discourse:
cd /var/discourse
./launcher rebuild app
E então execute o 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
Afinal, seu fórum deve estar disponível no seu domínio, usando SSL + HTTP2 + QUIC. Você não pode ser mais hipster que isso.


