Installation Docker (Caddy externe)
Dans ce mode, le conteneur d'application NocoBase et le conteneur Caddy s'exécutent séparément. Vous pouvez commencer par Installation Docker (Nginx intégré), puis basculer l'entrée vers un conteneur Caddy externe.
Quand utiliser ce mode
- Vous voulez déployer NocoBase et le serveur web séparément
- Vous voulez simplifier la configuration du proxy inverse et de HTTPS avec Caddy
- Vous voulez exposer au réseau public uniquement le conteneur proxy
Exemple de docker-compose.yml
Si vous avez besoin de l'image full, remplacez latest-no-nginx par latest-full-no-nginx.
Le mappage 13000:80 sert uniquement aux tests locaux, pour éviter d'occuper directement les ports standard de l'hôte. En production, on ne garde généralement pas 13000:80; le conteneur Caddy externe mappe plutôt directement les ports 80 et 443 de l'hôte.
Points clés
NOCOBASE_EXTRACT_CLIENT_ASSETS=trueextrait les ressources client et génère la configuration du proxyNOCOBASE_PROXY_PROVIDER=caddyindique que la configuration Caddy doit être généréeNOCOBASE_PROXY_UPSTREAM_HOST=apppermet au conteneur Caddy d'accéder au serviceappvia le réseau Compose./storagedoit être monté dansappetcaddyafin de partager la configuration du proxy, les ressources statiques et les fichiers téléversés- Le conteneur
caddydoit attendre quenocobase.caddysoit généré, puis créer un lien vers/etc/caddy/Caddyfileavecln -sf - La configuration générée transmet à NocoBase la route
/files/sousAPP_PUBLIC_PATHainsi que la route/files/à la racine, afin d'assurer l'aperçu et le téléchargement authentifiés des fichiers - Exposez uniquement le port du conteneur Caddy à l'hôte. Pour les tests, vous pouvez commencer avec
13000:80; en production, exposez généralement directement les ports80et443de l'hôte, tandis que le serviceappn'a pas besoin d'exposer son port à l'hôte
Si vous utilisez un Caddy local sur l'hôte
Si votre Caddy est installé directement sur l'hôte au lieu de s'exécuter dans un conteneur Docker, il est préférable d'utiliser un docker-compose.yml séparé. Dans ce mode, le service app doit exposer un port vers l'hôte, et les variables du proxy doivent être définies du point de vue de l'hôte.
Vous pouvez utiliser un docker-compose.yml comme celui-ci :
Dans cette variante :
NOCOBASE_PROXY_STORAGE_PATHdoit être le chemin absolu du répertoirestoragesur l'hôteNOCOBASE_PROXY_UPSTREAM_HOSTdoit être127.0.0.1- Le service
appdoit conserverports, afin que le Caddy local puisse atteindre l'application via127.0.0.1:13000
Une fois le conteneur app démarré, attendez que le fichier de configuration soit généré, puis créez le lien vers le chemin de configuration local de Caddy :
Si votre Caddy local n'utilise pas /etc/caddy/Caddyfile, remplacez la cible du lien par votre propre chemin de configuration. En général, il est plus sûr de garder nocobase.caddy comme fichier d'entrée principal plutôt que d'en recopier le contenu manuellement.
Si vous gérez Caddy vous-même au lieu d'utiliser la configuration générée, vérifiez que /files/* et la route correspondante sous APP_PUBLIC_PATH sont transmises à NocoBase avant les règles de fallback de la SPA. Consultez Proxy inverse Caddy pour un exemple complet.
Liens associés
- Installation Docker (Nginx intégré) — Commencez par le déploiement à conteneur unique
- Proxy de ressources statiques avec Caddy — En savoir plus sur la configuration Caddy générée

