(Optionnel) Essayer avec Docker
Exigences
Matériel
Si vous souhaitez construire l'image Docker vous-même, assurez-vous que votre machine dispose d'au moins 2 Go de mémoire. Le frontend de Casibase est un projet NPM basé sur React. La construction du frontend nécessite au moins 2 Go de mémoire. Une mémoire inférieure à 2 Go peut entraîner l'échec de la construction du frontend.
Si vous avez seulement besoin d'exécuter l'image préconstruite, assurez-vous que votre machine dispose d'au moins 100 Mo de mémoire.
Système d'exploitation
Tous les systèmes d'exploitation (Linux, Windows et macOS) sont pris en charge.
Docker
Vous pouvez utiliser Docker (version docker-engine >= 17.05) sous Linux ou Docker Desktop sous Windows et macOS.
Quel que soit le système d'exploitation, les utilisateurs doivent s'assurer qu'ils disposent de la version docker-engine >= 17.05. C'est parce que nous utilisons la fonctionnalité de construction multi-étapes dans docker-compose.yml, qui est prise en charge dans la version 17.05 et supérieure. Pour plus d'informations, voir https://docs.docker.com/develop/develop-images/multistage-build/.
Si vous utilisez docker-compose, assurez-vous d'avoir docker-compose version >= 2.2. Pour les utilisateurs Linux, notez que docker-compose doit être installé séparément de docker-engine.
Obtenir les images
Nous fournissons deux images sur DockerHub :
| Nom | Description | Recommandation | 
|---|---|---|
| casibase-all-in-one | L'image contient Casibase et la base de données MySQL | Cette image contient déjà une base de données de test et est uniquement destinée aux tests | 
| casibase | L'image contient uniquement Casibase | Cette image peut se connecter à votre propre base de données et être utilisée en production | 
- casbin/casibase-all-in-one: cette image contient l'exécutable casibase, une base de données MySQL et toutes les configurations nécessaires. Elle est conçue pour les nouveaux utilisateurs qui souhaitent essayer rapidement Casibase. Avec cette image, vous pouvez démarrer Casibase immédiatement avec seulement une ou deux commandes sans configuration complexe. Cependant, notez que nous ne recommandons pas d'utiliser cette image en production.
Option-1 : Utiliser la base de données de test
Exécutez le conteneur en exposant le port 14000 à l'hôte. Si l'image n'existe pas sur l'hôte local, elle sera automatiquement téléchargée.
docker run -p 14000:14000 casbin/casibase-all-in-one
Visitez http://localhost:14000 dans votre navigateur. Connectez-vous au tableau de bord Casibase avec le compte administrateur global par défaut : built-in/admin
admin
<b>123</b>
Option-2 : Essayer avec docker-compose
Créez un répertoire conf/app.conf au même niveau de répertoire que le fichier docker-compose.yml. Ensuite, copiez app.conf depuis Casibase. Pour plus de détails sur app.conf, vous pouvez consulter Via le fichier Ini.
Below is a minimal but complete docker-compose.yml example that starts a MySQL database and the Casibase service. It configures Casibase to connect to the database using MySQL. Save this file as docker-compose.yml (next to a conf folder if you want to mount a custom app.conf).
services:
  db:
    image: mysql:8.0
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: 123456
      MYSQL_DATABASE: casibase
    volumes:
      - db_data:/var/lib/mysql
    ports:
      - "3306:3306" # optional: expose DB to host
  casibase:
    image: casbin/casibase:latest
    restart: unless-stopped
    depends_on:
      - db
    environment:
      # Use MySQL driver and point to the db service (service name = host)
      - driverName=mysql
      - dataSourceName=root:123456@tcp(db:3306)/
    ports:
      - "14000:14000"
    volumes:
      # optional: mount your configuration
      - ./conf/app.conf:/conf/app.conf
volumes:
  db_data:
What does the above compose file do:
- The Casibase container connects to the database using the Compose service name db(i.e.db:3306). When both services run in the same Docker network (default for compose), using the service name as host is the simplest and most reliable approach.
- The dataSourceNameabove uses the MySQL root account for simplicity. For production use please create a dedicated DB user and a strong password.
- Mounting ./conf/app.confinto/conf/app.confis optional. If you prefer environment variables, you can remove the mount and rely on thedriverNameanddataSourceNamevariables.
- If both app.confand environment variables are provided, the environment variables take precedence and will override the corresponding settings in app.conf.
Casdoor: By default Casibase uses the hosted Casdoor instance at https://door.casdoor.com for user authentication. If you need to manage users, applications, or customize the authentication flow, you must deploy your own Casdoor instance and update Casibase's app.conf (or the equivalent environment variables) to point to your Casdoor server. You can look at Casdoor configuration for more details.
RUNNING_IN_DOCKER: By default RUNNING_IN_DOCKER is enabled in docker image. When enabled, Casibase replaces localhost with the Docker bridge address (for example, host.docker.internal or the equivalent bridge hostname) so that the container can reach services running on the host.
Bring up the services:
docker-compose up -d
Check logs (follow):
docker-compose logs -f casibase
Visitez http://localhost:14000 dans votre navigateur. Connectez-vous au tableau de bord Casibase avec le compte administrateur global par défaut : built-in/admin
admin
<b>123</b>
Stop and remove containers and volumes (data removed):
docker-compose down -v
Option-3 : Utiliser directement l'image standard
S'il n'est pas pratique de monter des fichiers de configuration dans le conteneur, l'utilisation de variables d'environnement peut également être une solution.
docker run \
  -e driverName=mysql \
  -e dataSourceName='user:password@tcp(x.x.x.x:3306)/' \
  -p 14000:14000 \
  casbin/casibase:latest
Créez conf/app.conf. Vous pouvez le copier depuis conf/app.conf de Casibase. Pour plus de détails sur app.conf, vous pouvez consulter Via le fichier Ini.
Ensuite, exécutez
docker run  -p 14000:14000 -v /folder/of/app.conf:/conf casbin/casibase:latest
En résumé, vous devez simplement monter app.conf dans /conf/app.conf et démarrer le conteneur.
Visitez http://localhost:14000 dans votre navigateur. Connectez-vous au tableau de bord Casibase avec le compte administrateur global par défaut : built-in/admin
admin
<b>123</b>