Instalação com Docker (Caddy externo)
Neste modo, o contêiner da aplicação NocoBase e o contêiner do Caddy são executados separadamente. Você pode começar por Instalação com Docker (Nginx embutido) e depois trocar a entrada para um contêiner externo do Caddy.
Quando usar este modo
- Você quer implantar o NocoBase e o servidor web separadamente
- Você quer simplificar a configuração de proxy reverso e HTTPS com Caddy
- Você quer expor à rede pública apenas o contêiner de proxy
Exemplo de docker-compose.yml
Se você precisar da imagem full, substitua latest-no-nginx por latest-full-no-nginx.
O mapeamento 13000:80 serve apenas para facilitar testes locais, evitando ocupar diretamente as portas padrão do host. Em produção, normalmente não se mantém 13000:80; em vez disso, o contêiner externo do Caddy mapeia diretamente as portas 80 e 443 do host.
Pontos-chave
NOCOBASE_EXTRACT_CLIENT_ASSETS=trueextrai os recursos do cliente e gera a configuração do proxyNOCOBASE_PROXY_PROVIDER=caddyindica que a configuração do Caddy deve ser geradaNOCOBASE_PROXY_UPSTREAM_HOST=apppermite que o contêiner do Caddy acesse o serviçoapppela rede do Compose./storageprecisa ser montado emappecaddypara compartilhar a configuração do proxy, os arquivos estáticos e os uploads- O contêiner
caddydeve esperar até quenocobase.caddyseja gerado e então criar um link para/etc/caddy/Caddyfilecomln -sf - A configuração gerada encaminha ao NocoBase tanto a rota
/files/sobAPP_PUBLIC_PATHquanto a rota/files/na raiz, permitindo pré-visualizações e downloads autenticados - Exponha ao host apenas a porta do contêiner Caddy. Para testes, você pode começar com
13000:80; em produção, normalmente exponha diretamente as portas80e443do host, enquanto o serviçoappnão precisa expor sua porta para o host
Se você usar Caddy local no host
Se o seu Caddy estiver instalado diretamente no host e não rodando em um contêiner Docker, é melhor usar um docker-compose.yml separado. Nesse modo, o serviço app precisa expor uma porta para o host, e as variáveis do proxy devem usar valores do ponto de vista do host.
Você pode usar um docker-compose.yml como este:
Nesta variante:
NOCOBASE_PROXY_STORAGE_PATHdeve ser o caminho absoluto do diretóriostorageno hostNOCOBASE_PROXY_UPSTREAM_HOSTdeve ser127.0.0.1- O serviço
appprecisa manterports, para que o Caddy local consiga acessar a aplicação por127.0.0.1:13000
Depois que o contêiner app iniciar, espere a geração do arquivo de configuração e então faça o link para o caminho de configuração local do Caddy:
Se o Caddy do host não usar /etc/caddy/Caddyfile, substitua o caminho do link pelo seu próprio caminho de configuração. Normalmente é mais seguro manter nocobase.caddy como o arquivo principal de entrada em vez de copiar o conteúdo manualmente.
Se você mantiver o Caddy por conta própria em vez de usar a configuração gerada, certifique-se de que /files/* e a rota correspondente sob APP_PUBLIC_PATH sejam encaminhadas ao NocoBase antes das regras de fallback da SPA. Consulte Proxy reverso Caddy para ver um exemplo completo.
Links relacionados
- Instalação com Docker (Nginx embutido) — Comece pela implantação de contêiner único
- Proxy de recursos estáticos com Caddy — Saiba mais sobre a configuração gerada do Caddy

