Installation du Hub
Le hub est le serveur central qui heberge l'API backend et le frontend.
Prerequis
- Docker et Docker Compose
- Un reseau Docker externe nomme
caddy
bash
docker network create caddydocker-compose.yml
yaml
services:
caddy-manager-api:
image: cletus/caddy-manager-api:latest
restart: unless-stopped
environment:
DATABASE_URL: /data/caddy-manager.db
CADDY_API_URL: http://caddy:2019
BETTER_AUTH_SECRET: ${BETTER_AUTH_SECRET}
FRONTEND_URL: https://cadmin.exemple.com
volumes:
- caddy_manager_data:/data
- /var/log/caddy:/var/log/caddy:ro
networks:
- caddy
caddy-manager-ui:
image: cletus/caddy-manager-ui:latest
restart: unless-stopped
environment:
- VITE_API_URL=https://api.cadmin.exemple.com
networks:
- caddy
volumes:
caddy_manager_data:
networks:
caddy:
external: trueVariables d'environnement
Backend (API)
| Variable | Description | Exemple |
|---|---|---|
DATABASE_URL | Chemin vers la base SQLite | /data/caddy-manager.db |
CADDY_API_URL | URL de l'API admin Caddy | http://caddy:2019 |
BETTER_AUTH_SECRET | Secret pour les sessions (obligatoire) | Une chaine aleatoire longue |
FRONTEND_URL | URL du frontend (pour CORS) | https://cadmin.exemple.com |
Frontend (UI)
| Variable | Description | Exemple |
|---|---|---|
VITE_API_URL | URL de l'API backend | https://api.cadmin.exemple.com |
Premier lancement
- Demarrer les services :
bash
docker compose up -d- Creer le compte administrateur :
bash
docker compose exec caddy-manager-api node dist/db/seed.jsWARNING
Changez le mot de passe par defaut apres la premiere connexion.
Reverse proxy
Cadmin doit etre accessible derriere un reverse proxy pour le HTTPS. Exemple de configuration Caddy :
nginx
cadmin.exemple.com {
reverse_proxy caddy-manager-ui:80
}
api.cadmin.exemple.com {
reverse_proxy caddy-manager-api:3001
}