Tutorial Self-Hosting
Proteja serviços Docker com Caddy em uma VPS

Proteger serviços Docker com Caddy em uma VPS

Implantar serviços web conteinerizados em um servidor privado virtual requer um proxy reverso confiável que gerencie certificados TLS automáticos sem manutenção complexa. Este tutorial pressupõe que você já tenha o Docker instalado na sua VPS e que já possua um domínio configurado.

Configurando a rede principal e o Caddy

Para permitir que várias pilhas Docker Compose separadas se comuniquem com segurança através de um único proxy reverso, crie uma rede Docker externa chamada ingress executando este comando:

mkdir -p /srv/core-and-shared/caddy
cd /srv/core-and-shared/caddy

A seguir, crie a estrutura de diretórios para o Caddy e coloque este código em /srv/core-and-shared/caddy/compose.yaml:

services:
  caddy:
    image: caddy:2-alpine
    container_name: caddy
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
      - "443:443/udp"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile:ro
      - caddy-data:/data
      - caddy-config:/config
    networks:
      - caddy

volumes:
  caddy-data:
  caddy-config:

networks:
  caddy:
    name: caddy

Configurando o Caddyfile e o túnel Cloudflare

Coloque este código em /srv/core-and-shared/caddy/Caddyfile, substituindo o domínio de exemplo pelo seu. A configuração de teste usa test.lulzcasz.dev, e você precisará apontar seu domínio para sua VPS:

<domain> {
    respond "Hello World!"
}

Se preferir executar seu proxy atrás de um túnel seguro em vez de abrir portas de firewall de entrada diretas, você pode integrar um túnel da Cloudflare criando /srv/core-and-shared/cloudflared/compose.yaml:

docker compose up -d

Testando a implantação

Assim que seus contêineres estiverem em execução, verifique se tudo responde corretamente via HTTPS executando:

curl https://<domain>

Para arquiteturas alternativas, você pode revisar como configurar o Caddy em um servidor local.

Use o Caddy como reverse proxy em um servidor local

Use o Caddy como reverse proxy em um servidor local

Aprenda a configurar o Caddy como proxy reverso local usando Docker e Docker Compose, com roteamento automático e integração com o Cloudflare Tunnel.

Para escalar cargas de trabalho conteinerizadas em implantações de pilha completa, confira nosso guia sobre hospedagem em produção.

No Cover

Faça deploy do Django em produção com Docker