Skip to content

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 caddy

docker-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: true

Variables d'environnement

Backend (API)

VariableDescriptionExemple
DATABASE_URLChemin vers la base SQLite/data/caddy-manager.db
CADDY_API_URLURL de l'API admin Caddyhttp://caddy:2019
BETTER_AUTH_SECRETSecret pour les sessions (obligatoire)Une chaine aleatoire longue
FRONTEND_URLURL du frontend (pour CORS)https://cadmin.exemple.com

Frontend (UI)

VariableDescriptionExemple
VITE_API_URLURL de l'API backendhttps://api.cadmin.exemple.com

Premier lancement

  1. Demarrer les services :
bash
docker compose up -d
  1. Creer le compte administrateur :
bash
docker compose exec caddy-manager-api node dist/db/seed.js

WARNING

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
}