(Optional) Mit Docker ausprobieren
Anforderungen
Hardware
Wenn Sie Ihr eigenes Docker-Image bauen möchten, stellen Sie sicher, dass Ihre Maschine mindestens 2GB Arbeitsspeicher hat. Das Frontend von Casibase ist ein React NPM-Projekt. Für den Aufbau des Frontends werden mindestens 2GB Arbeitsspeicher benötigt. Weniger als 2GB Arbeitsspeicher kann zum Fehlschlagen des Frontend-Builds führen.
Wenn Sie nur vorgefertigte Images ausführen müssen, stellen Sie sicher, dass Ihre Maschine mindestens 100MB Arbeitsspeicher hat.
Betriebssystem
Alle Betriebssysteme (Linux, Windows und macOS) werden unterstützt.
Docker
Sie können entweder Docker (docker-engine Version >= 17.05) unter Linux oder Docker Desktop unter Windows und macOS verwenden.
Unabhängig vom Betriebssystem müssen Benutzer sicherstellen, dass sie docker-engine Version >= 17.05 haben. Dies liegt daran, dass wir die Multi-Stage-Build-Funktion in docker-compose.yml verwenden, die in Version 17.05 und höher unterstützt wird. Weitere Informationen finden Sie unter https://docs.docker.com/develop/develop-images/multistage-build/.
Wenn Sie docker-compose verwenden, stellen Sie sicher, dass Sie docker-compose Version >= 2.2 haben. Linux-Benutzer sollten beachten, dass docker-compose separat von docker-engine installiert werden muss.
Images beziehen
Wir bieten zwei DockerHub-Images an:
| Name | Beschreibung | Empfehlung |
|---|---|---|
| casibase-all-in-one | Das Image enthält Casibase und die MySQL-Datenbank | Dieses Image enthält bereits eine Test-Datenbank und ist nur für Testzwecke gedacht |
| casibase | Das Image enthält nur Casibase | Dieses Image kann mit Ihrer eigenen Datenbank verbunden und für die Produktion verwendet werden |
- casbin/casibase-all-in-one: Dieses Image enthält die ausführbare Casibase-Datei, die MySQL-Datenbank und alle notwendigen Konfigurationen. Es ist für neue Benutzer gedacht, die Casibase schnell ausprobieren möchten. Mit diesem Image können Sie Casibase sofort mit nur ein oder zwei Befehlen starten, ohne komplizierte Konfigurationen. Beachten Sie jedoch, dass wir dieses Image für die Produktion nicht empfehlen.
Option-1: Mit Test-Datenbank
Exponieren Sie den Port 14000 zum Host beim Ausführen des Containers. Das Image wird automatisch gezogen, wenn es auf dem lokalen Host nicht existiert.
docker run -p 14000:14000 casbin/casibase-all-in-one
Besuchen Sie http://localhost:14000 in Ihrem Browser. Melden Sie sich mit dem Standard-Global-Admin-Konto beim Casibase-Dashboard an: built-in/admin
admin
123
Option-2: Mit docker-compose ausprobieren
Erstellen Sie ein conf/app.conf-Verzeichnis auf der gleichen Verzeichnisebene wie die docker-compose.yml-Datei. Kopieren Sie dann app.conf von Casibase. Weitere Details zu app.conf finden Sie unter Via Ini-Datei.
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
Besuchen Sie http://localhost:14000 in Ihrem Browser. Melden Sie sich mit dem Standard-Global-Admin-Konto beim Casibase-Dashboard an: built-in/admin
admin
123
Stop and remove containers and volumes (data removed):
docker-compose down -v
Option-3: Standard-Image direkt verwenden
Wenn es nicht praktisch ist, die Konfigurationsdatei im Container zu mounten, können Umgebungsvariablen eine mögliche Lösung sein.
docker run \
-e driverName=mysql \
-e dataSourceName='user:password@tcp(x.x.x.x:3306)/' \
-p 14000:14000 \
casbin/casibase:latest
Erstellen Sie conf/app.conf. Sie können von Casibase's conf/app.conf kopieren. Weitere Details zu app.conf finden Sie unter Via Ini-Datei.
Führen Sie dann aus
docker run -p 14000:14000 -v /folder/of/app.conf:/conf casbin/casibase:latest
Zusammenfassend müssen Sie nur app.conf nach /conf/app.conf mounten und den Container starten.
Besuchen Sie http://localhost:14000 in Ihrem Browser. Melden Sie sich mit dem Standard-Global-Admin-Konto beim Casibase-Dashboard an: built-in/admin
admin
123