Casvisor
入门

用Docker快速上手

试用Casvisor最快的办法是all-in-one镜像casbin/casvisor-all-in-one。除了Casvisor本身,它还带了做数据库用的MariaDB和连Telnet用的guacd,一个容器就能跑。外面只需要一个用来登录的Casdoor。

1. 准备Casdoor

Casvisor没有自己的登录。

Casdoor v4.10及以后的版本。 Casvisor目前用编译在程序里的公钥验证Casdoor的令牌,而从v4.10起新装的Casdoor会生成自己的密钥。在证书能写进配置之前,用这样的Casdoor就要带上你的证书从源码编译Casvisor,做法见对接Casdoor;Docker镜像登录不了。

如果你已经有Casdoor,照对接Casdoor为Casvisor建一个应用,拿到它的Client ID和Client secret再回来。

如果还没有,就在旁边起一个:

docker run -d --name casdoor -p 8000:8000 casbin/casdoor-all-in-one

打开http://<你的IP>:8000,用admin / 123登录,先改掉这个密码,再照对接Casdoor建应用。全程都用机器的IP或主机名,不要用localhost:Casvisor的容器访问Casdoor用的是和浏览器同一个地址,而在容器里localhost指的是容器自己。

2. 写app.conf

下载默认配置:

curl -fsSLo app.conf https://raw.githubusercontent.com/casvisor/casvisor/master/conf/app.conf

把其中五项Casdoor配置改成你自己的:

casdoorEndpoint = http://192.168.1.20:8000
clientId = <应用的Client ID>
clientSecret = <应用的Client secret>
casdoorOrganization = "<应用所在的组织>"
casdoorApplication = "<应用名>"

dataSourceName和guacamoleEndpoint保持不变:它们指向镜像里的MariaDB和guacd。每一项的含义见配置。

3. 启动Casvisor

docker run -d --name casvisor -p 19000:19000 \
  -v "$PWD/app.conf:/conf/app.conf" \
  -v casvisor-db:/var/lib/mysql \
  casbin/casvisor-all-in-one

第二个卷用来保存数据库,换容器时数据不会丢。第一次启动时Casvisor会建好casvisor库和表。

4. 登录

打开http://<你的IP>:19000,页面会跳到Casdoor再跳回来。用应用所在组织的管理员账号(Casdoor里该用户打开了Is admin)登录才能看到管理页面;其他用户只有工作台。

如果Casdoor提示重定向地址不被允许,就把http://<你的IP>:19000/callback加进应用的Redirect URLs。

5. 添加服务器并连接

  1. 打开资产,点添加,填好协议、主机、端口,需要的话再填登录用的账号。见资产。
  2. 点资产上的连接,会在新标签页里打开终端或桌面。

管理员能访问所有资产。要让别人也能用,就建一条权限,写上他们的名字,或者他们所在的Casdoor用户组。

不用all-in-one镜像

casbin/casvisor是不带MariaDB和guacd的Casvisor。已经有MySQL的时候用它;要连Telnet,再在旁边起一个guacd:

docker run -d --name guacd -p 4822:4822 guacamole/guacd
docker run -d --name casvisor -p 19000:19000 -v "$PWD/app.conf:/conf/app.conf" casbin/casvisor

然后把dataSourceName改成你的MySQL,把guacamoleEndpoint改成guacd容器,地址要是Casvisor容器能访问到的。仓库里的docker-compose.yml会把三个一起启动。

在GitHub上编辑

本页内容