Docker 部署 Alist 搭配 Casdoor 支持飞书(Lark)单点登录+自动注册
编辑本次部署会用到的软件或环境
Docker Compose
Alist
Casdoor
PostgreSQL
一、前言
本次部署全程使用 Docker,抹平各个系统之间的差异,可以快速部署,降低部署精力。如果你希望裸机部署说明你是配环境高手,本篇博文参考即可。
OAuth2 可以参看 DigitalOcean 的这篇博文,其他的别问我,我也不懂)
在 Alist v3.22.1 后就添加了单点登录自动注册,刚刚好满足了我所有的需求,本次也跟据 Alist 和 Casdoor 官方文档部署飞书的单点登录。
二、Alist 安装
services:
alist:
image: 'xhofe/alist:latest'
container_name: alist
volumes:
- '/etc/alist:/opt/alist/data'
- '/容器内路径:/宿主机路径'
ports:
- '5244:5244'
environment:
- PUID=0
- PGID=0
- UMASK=022
restart: unless-stopped
先进入 /opt/alist
,新建 docker-compose.yml
,将上文配置填入,docker compose up -d
Port 5244 可以自己随意更改。
三、Postgres 安装
懒得写了,相信聪明的你肯定是会的吧~
点击图片跳转到官方镜像
假设你已经安装好了数据库,且配置如下:
数据库名为:casdoor
用户名:user
密码:password
端口:5432
连接地址:127.0.0.1
四、Casdoor 安装
请参考官网教程:
docker compose 参考文件:
services:
casdoor:
restart: always
build:
context: ./
dockerfile: Dockerfile
target: STANDARD
entrypoint: /bin/sh -c './server --createDatabase=true'
ports:
- "8000:8000"
environment:
RUNNING_IN_DOCKER: "true"
volumes:
- ./conf:/conf/
在 ./conf 文件夹中,新建 app.conf
appname = casdoor
httpport = 8000
runmode = dev
copyrequestbody = true
driverName = postgres
dataSourceName = "user=user password=password host=127.0.0.1 port=5432 sslmode=disable dbname=casdoor"
dbName = casdoor
tableNamePrefix =
showSql = false
redisEndpoint =
defaultStorageProvider =
isCloudIntranet = false
authState = "casdoor"
socks5Proxy = "127.0.0.1:10808"
verificationCodeTimeout = 10
initScore = 0
logPostOnly = true
isUsernameLowered = false
origin =
originFrontend =
staticBaseUrl = "https://cdn.casbin.org"
isDemoMode = false
batchSize = 100
enableErrorMask = false
enableGzip = true
ldapServerPort = 389
radiusServerPort = 1812
radiusSecret = "secret"
quota = {"organization": -1, "user": -1, "application": -1, "provider": -1}
logConfig = {"filename": "logs/casdoor.log", "maxdays":99999, "perm":"0770"}
initDataFile = "./init_data.json"
frontendBaseDir = "../casdoor"
请注意数据库部分请根据自己实际填写
driverName = postgres
dataSourceName = "user=user password=password host=127.0.0.1 port=5432 sslmode=disable dbname=casdoor"
dbName = casdoor
五、飞书(Lark)配置
前往飞书开放平台:
添加如下所示的两个权限:
点击上方黄色方框中的“创建版本”
根据提示创建版本,如果你不是企业管理员,请找管理员给你添加
六、Casdoor 配置
登录并进入 Casdoor
默认账号密码应该是 admin 123
1. 新建组织
请勿直接使用默认组织(app-built-in),因为这个组织内的用户都是全局管理员帐号
根据需要进行命名,这里我们叫做alist-org
2. 新建证书
操作类似的,但是组织注意选择我们之前创建的
3. 新建应用
与之类似的
注意选择刚刚新建的组织和证书
注意重定向 URLs 需要多添加一行空行的,具体地址请修改为 Alist 的地址,尾部记得添加 /callback。
4. 添加提供商
添加一个提供商,选择飞书
接着加入 Lark
回到飞书开放平台,找到客户端 ID 和客户端密钥并填入 Casdoor 中
再回到 Casdoor 的应用中,启用飞书提供商。
七、Alist 配置
进入 Alist 管理界面,找到单点登录
1 选择 Casdoor
2 3 4 5 都在 Casdoor 中新建的应用中寻找
找到刚刚新建的应用
按红圈标识填入
8 在证书中找到
找到公钥,全部复制进去
7 则是 Casdoor 的访问地址
打开 9 则会在单点登录时自动注册新用户
至此已经全部完成!
八、Alist 实际体验
点击此处即可体验!
- 0
- 0
-
分享