跳至主要内容

(可选)使用Docker尝试

要求

硬件

如果您想自己构建 Docker 镜像,请确保您的机器至少有 2GB 的内存。 Casibase 的前端是一个 React 的 NPM 项目。 构建前端需要至少 2GB 的内存。 内存少于 2GB 可能导致前端构建失败。

如果您只需要运行预构建的镜像,请确保您的机器至少有100MB内存。

操作系统

支持所有操作系统(Linux、Windows和macOS)。

Docker

您可以在Linux中使用Docker(docker-engine版本 >= 17.05)或在Windows和macOS中使用Docker Desktop

无论操作系统如何,用户都必须确保他们拥有 docker-engine 版本 >= 17.05。 无论使用什么操作系统,用户都必须确保有docker-engine版本 >= 17.05。这是因为我们在docker-compose.yml中使用了多阶段构建功能,该功能在17.05及以上版本中得到支持。更多信息,请参见https://docs.docker.com/develop/develop-images/multistage-build/。 更多信息,请参见 https://docs.docker.com/develop/develop-images/multistage-build/

如果您使用docker-compose,请确保您有docker-compose版本 >= 2.2。对于Linux用户,请注意docker-compose需要与docker-engine分开安装。 对于 Linux 用户,请注意 docker-compose 需要与 docker-engine 分开安装。

获取镜像

我们提供了两个DockerHub镜像:

名称描述建议
casibase-all-in-one镜像中包含Casibase和MySQL数据库此镜像已包含一个测试数据库,仅用于测试目的
casibase镜像中仅包含Casibase此镜像可以连接到您自己的数据库并用于生产环境
  1. casbin/casibase-all-in-one:此镜像包含casibase可执行文件、MySQL数据库和所有必要的配置。它是为想要快速尝试Casibase的新用户设计的。使用此镜像,您可以仅用一两个命令就立即启动Casibase,无需任何复杂配置。但是,请注意,我们不建议在生产环境中使用此镜像。 它旨在为想要快速体验 Casibase 的新用户而设计。 使用此镜像,您可以通过一两条命令立即启动 Casibase,而无需任何复杂配置。 但请注意,我们不建议在生产环境中使用此镜像。

选项-1:使用测试数据库

运行容器时将端口14000暴露给主机。如果本地主机上不存在该镜像,将自动拉取。 如果本地主机上不存在该镜像,将会自动拉取。

docker run -p 14000:14000 casbin/casibase-all-in-one

在您的浏览器中访问 http://localhost:14000。 在浏览器中访问http://localhost:14000。使用默认的全局管理员账户登录Casibase仪表板:built-in/admin

admin
123

选项-2:使用docker-compose尝试

docker-compose.yml 文件中创建一个 conf/app.conf 目录。 然后,从 Casibase 中复制 app.conf。 关于 app.conf 的更多详情,您可以查看通过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 dataSourceName above uses the MySQL root account for simplicity. For production use please create a dedicated DB user and a strong password.
  • Mounting ./conf/app.conf into /conf/app.conf is optional. If you prefer environment variables, you can remove the mount and rely on the driverName and dataSourceName variables.
  • If both app.conf and 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

在您的浏览器中访问 http://localhost:14000。 使用默认的全局管理帐户登录Casibas控制面板:`内置/管理'

admin
123

Stop and remove containers and volumes (data removed):

docker-compose down -v

选项-3:直接使用标准镜像

提示

如果不方便将配置文件挂载到容器中,使用环境变量也是一种可能的解决方案。

example

docker run \
-e driverName=mysql \
-e dataSourceName='user:password@tcp(x.x.x.x:3306)/' \
-p 14000:14000 \
casbin/casibase:latest

创建 conf/app.conf。 创建conf/app.conf。您可以从Casibase的conf/app.conf复制。关于app.conf的更多详情,您可以查看通过Ini文件。 关于 app.conf 的更多详情,您可以查看通过Ini文件

然后运行

docker run  -p 14000:14000 -v /folder/of/app.conf:/conf casbin/casibase:latest

总之,只需要将app.conf挂载到/conf/app.conf并启动容器即可。

在您的浏览器中访问 http://localhost:14000。 在浏览器中访问http://localhost:14000。使用默认的全局管理员账户登录Casibase仪表板:built-in/admin

admin
123