(Opcional) Probar con Docker
Requisitos
Hardware
Si desea construir la imagen Docker usted mismo, asegúrese de que su máquina tenga al menos 2GB de memoria. El frontend de Casibase es un proyecto NPM basado en React. La construcción del frontend requiere al menos 2GB de memoria. Una memoria inferior a 2GB puede provocar fallos en la construcción del frontend.
Si solo necesita ejecutar la imagen preconstruida, asegúrese de que su máquina tenga al menos 100MB de memoria.
Sistema operativo
Se admiten todos los sistemas operativos (Linux, Windows y macOS).
Docker
Puede usar Docker (versión docker-engine >= 17.05) en Linux o Docker Desktop en Windows y macOS.
Independientemente del sistema operativo, los usuarios deben asegurarse de tener versión docker-engine >= 17.05. Esto se debe a que utilizamos la característica de construcción de múltiples etapas en docker-compose.yml, que está soportada en la versión 17.05 y posteriores. Para más información, consulte https://docs.docker.com/develop/develop-images/multistage-build/.
Si utiliza docker-compose, asegúrese de tener versión docker-compose >= 2.2. Para usuarios de Linux, tenga en cuenta que docker-compose debe instalarse por separado de docker-engine.
Obtener las imágenes
Proporcionamos dos imágenes en DockerHub:
| Nombre | Descripción | Recomendación |
|---|---|---|
| casibase-all-in-one | La imagen contiene Casibase y la base de datos MySQL | Esta imagen ya contiene una base de datos de prueba y es solo para fines de prueba |
| casibase | La imagen contiene solo Casibase | Esta imagen puede conectarse a su propia base de datos y usarse en producción |
- casbin/casibase-all-in-one: esta imagen contiene el ejecutable casibase, una base de datos MySQL y todas las configuraciones necesarias. Está diseñada para nuevos usuarios que desean probar Casibase rápidamente. Con esta imagen, puede iniciar Casibase inmediatamente con solo uno o dos comandos sin ninguna configuración compleja. Sin embargo, tenga en cuenta que no recomendamos usar esta imagen en un entorno de producción.
Opción-1: Usar la base de datos de prueba
Ejecute el contenedor exponiendo el puerto 14000 al host. Si la imagen no existe en el host local, se descargará automáticamente.
docker run -p 14000:14000 casbin/casibase-all-in-one
Visite http://localhost:14000 en su navegador. Inicie sesión en el panel de control de Casibase con la cuenta de administrador global predeterminada: built-in/admin
admin
123
Opción-2: Probar con docker-compose
Cree un directorio conf/app.conf en el mismo nivel de directorio que el archivo docker-compose.yml. Luego, copie app.conf desde Casibase. Para más detalles sobre app.conf, puede consultar A través del archivo 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
Visite http://localhost:14000 en su navegador. Inicie sesión en el panel de control de Casibase con la cuenta de administrador global predeterminada: built-in/admin
admin
123
Stop and remove containers and volumes (data removed):
docker-compose down -v
Opción-3: Usar directamente la imagen estándar
Si no es conveniente montar archivos de configuración en el contenedor, el uso de variables de entorno también puede ser una solución.
docker run \
-e driverName=mysql \
-e dataSourceName='user:password@tcp(x.x.x.x:3306)/' \
-p 14000:14000 \
casbin/casibase:latest
Cree conf/app.conf. Puede copiarlo desde conf/app.conf de Casibase. Para más detalles sobre app.conf, puede consultar A través del archivo Ini.
Luego ejecute
docker run -p 14000:14000 -v /folder/of/app.conf:/conf casbin/casibase:latest
En resumen, solo necesita montar app.conf en /conf/app.conf e iniciar el contenedor.
Visite http://localhost:14000 en su navegador. Inicie sesión en el panel de control de Casibase con la cuenta de administrador global predeterminada: built-in/admin
admin
123