Processed apps directory via GitHub Actions

This commit is contained in:
QYG2297248353
2024-11-28 09:57:19 +00:00
parent 373a561487
commit 275d5be658
1857 changed files with 56700 additions and 0 deletions
+45
View File
@@ -0,0 +1,45 @@
# 数据库 服务 (前置检查) [必填]
PANEL_DB_TYPE=postgresql
# Redis 服务 (前置检查) [必填]
PANEL_REDIS_TYPE=redis
# 数据持久化路径 [必填]
CASDOOR_ROOT_PATH=/home/casdoor
# WebUI 端口 [必填]
PANEL_APP_PORT_HTTP=8000
# 数据库 类型 [必填]
DB_TYPE=postgres
# 数据库 主机地址 [必填]
DB_HOSTNAME=127.0.0.1
# 数据库 端口 [必填]
DB_PORT=5432
# 数据库 用户名 [必填]
DB_USER=casdoor
# 数据库 密码 [必填]
DB_PASSWD=
# 数据库 名称 [必填]
DB_NAME=casdoor
# Redis 主机 [必填]
REDIS_HOSTNAME=127.0.0.1
# Redis 端口 [必填]
REDIS_PORT=6379
# Redis 索引 [必填]
REDIS_DBINDEX=0
# Redis 密码
REDIS_PASSWORD=
# Socks5 代理 (地区网络限制)
socks5Proxy=
@@ -0,0 +1,490 @@
{
"organizations": [
{
"owner": "",
"name": "",
"displayName": "",
"websiteUrl": "",
"favicon": "",
"passwordType": "plain",
"passwordSalt": "",
"passwordOptions": [
"AtLeast6"
],
"countryCodes": [
"US",
"GB",
"ES",
"FR",
"DE",
"CN",
"JP",
"KR",
"VN",
"ID",
"SG",
"IN",
"IT",
"MY",
"TR",
"DZ",
"IL",
"PH",
"NL",
"PL",
"FI",
"SE",
"UA",
"KZ"
],
"defaultAvatar": "",
"defaultApplication": "",
"tags": [],
"languages": [
"en",
"zh",
"es",
"fr",
"de",
"id",
"ja",
"ko",
"ru",
"vi",
"it",
"ms",
"tr",
"ar",
"he",
"nl",
"pl",
"fi",
"sv",
"uk",
"kk",
"fa"
],
"masterPassword": "",
"defaultPassword": "",
"initScore": 2000,
"enableSoftDeletion": false,
"isProfilePublic": true,
"accountItems": []
}
],
"applications": [
{
"owner": "",
"name": "",
"displayName": "",
"logo": "",
"homepageUrl": "",
"organization": "",
"cert": "",
"enablePassword": true,
"enableSignUp": true,
"clientId": "",
"clientSecret": "",
"providers": [
{
"name": "",
"canSignUp": true,
"canSignIn": true,
"canUnlink": false,
"prompted": false,
"alertType": "None"
}
],
"signinMethods": [
{
"name": "Password",
"displayName": "Password",
"rule": "All"
},
{
"name": "Verification code",
"displayName": "Verification code",
"rule": "All"
},
{
"name": "WebAuthn",
"displayName": "WebAuthn",
"rule": "None"
},
{
"name": "Face ID",
"displayName": "Face ID",
"rule": "None"
}
],
"signupItems": [
{
"name": "ID",
"visible": false,
"required": true,
"prompted": false,
"rule": "Random"
},
{
"name": "Username",
"visible": true,
"required": true,
"prompted": false,
"rule": "None"
},
{
"name": "Display name",
"visible": true,
"required": true,
"prompted": false,
"rule": "None"
},
{
"name": "Password",
"visible": true,
"required": true,
"prompted": false,
"rule": "None"
},
{
"name": "Confirm password",
"visible": true,
"required": true,
"prompted": false,
"rule": "None"
},
{
"name": "Email",
"visible": true,
"required": true,
"prompted": false,
"rule": "None"
},
{
"name": "Phone",
"visible": true,
"required": true,
"prompted": false,
"rule": "None"
},
{
"name": "Agreement",
"visible": true,
"required": true,
"prompted": false,
"rule": "None"
}
],
"grantTypes": [
"authorization_code",
"password",
"client_credentials",
"token",
"id_token",
"refresh_token"
],
"redirectUris": [
"http://localhost:9000/callback"
],
"tokenFormat": "JWT",
"tokenFields": [],
"expireInHours": 168,
"failedSigninLimit": 5,
"failedSigninFrozenTime": 15
}
],
"users": [
{
"owner": "",
"name": "",
"type": "normal-user",
"password": "",
"displayName": "",
"avatar": "",
"email": "",
"phone": "",
"countryCode": "",
"address": [],
"affiliation": "",
"tag": "",
"score": 2000,
"ranking": 1,
"isAdmin": true,
"isForbidden": false,
"isDeleted": false,
"signupApplication": "",
"createdIp": "",
"groups": []
}
],
"providers": [
{
"owner": "",
"name": "",
"displayName": "",
"category": "",
"type": ""
}
],
"certs": [
{
"owner": "",
"name": "",
"displayName": "",
"scope": "JWT",
"type": "x509",
"cryptoAlgorithm": "RS256",
"bitSize": 4096,
"expireInYears": 20,
"certificate": "",
"privateKey": ""
}
],
"ldaps": [
{
"id": "",
"owner": "",
"serverName": "",
"host": "",
"port": 389,
"username": "",
"password": "",
"baseDn": "",
"autoSync": 0,
"lastSync": ""
}
],
"models": [
{
"owner": "",
"name": "",
"modelText": "",
"displayName": ""
}
],
"permissions": [
{
"actions": [],
"displayName": "",
"effect": "",
"isEnabled": true,
"model": "",
"name": "",
"owner": "",
"resourceType": "",
"resources": [],
"roles": [],
"users": []
}
],
"payments": [
{
"currency": "",
"detail": "",
"displayName": "",
"invoiceRemark": "",
"invoiceTaxId": "",
"invoiceTitle": "",
"invoiceType": "",
"invoiceUrl": "",
"message": "",
"name": "",
"organization": "",
"owner": "",
"payUrl": "",
"personEmail": "",
"personIdCard": "",
"personName": "",
"personPhone": "",
"price": 0,
"productDisplayName": "",
"productName": "",
"provider": "",
"returnUrl": "",
"state": "",
"tag": "",
"type": "",
"user": ""
}
],
"products": [
{
"currency": "",
"detail": "",
"displayName": "",
"image": "",
"name": "",
"owner": "",
"price": 0,
"providers": [],
"quantity": 0,
"returnUrl": "",
"sold": 0,
"state": "",
"tag": ""
}
],
"resources": [
{
"owner": "",
"name": "",
"user": "",
"provider": "",
"application": "",
"tag": "",
"parent": "",
"fileName": "",
"fileType": "",
"fileFormat": "",
"url": "",
"description": ""
}
],
"roles": [
{
"displayName": "",
"isEnabled": true,
"name": "",
"owner": "",
"roles": [],
"users": []
}
],
"syncers": [
{
"affiliationTable": "",
"avatarBaseUrl": "",
"database": "",
"databaseType": "",
"errorText": "",
"host": "",
"isEnabled": false,
"name": "",
"organization": "",
"owner": "",
"password": "",
"port": 0,
"syncInterval": 0,
"table": "",
"tableColumns": [
{
"casdoorName": "",
"isHashed": true,
"name": "",
"type": "",
"values": []
}
],
"tablePrimaryKey": "",
"type": "",
"user": ""
}
],
"tokens": [
{
"accessToken": "",
"application": "",
"code": "",
"codeChallenge": "",
"codeExpireIn": 0,
"codeIsUsed": true,
"createdTime": "",
"expiresIn": 0,
"name": "",
"organization": "",
"owner": "",
"refreshToken": "",
"scope": "",
"tokenType": "",
"user": ""
}
],
"webhooks": [
{
"contentType": "",
"events": [],
"headers": [
{
"name": "",
"value": ""
}
],
"isEnabled": true,
"isUserExtended": true,
"method": "",
"name": "",
"organization": "",
"owner": "",
"url": ""
}
],
"groups": [
{
"owner": "",
"name": "",
"displayName": "",
"manager": "",
"contactEmail": "",
"type": "",
"parent_id": "",
"isTopGroup": true,
"title": "",
"key": "",
"children": "",
"isEnabled": true
}
],
"adapters": [
{
"owner": "",
"name": "",
"table": "",
"useSameDb": true,
"type": "",
"databaseType": "",
"database": "",
"host": "",
"port": 0,
"user": "",
"password": ""
}
],
"enforcers": [
{
"owner": "",
"name": "",
"displayName": "",
"description": "",
"model": "",
"adapter": "",
"enforcer": ""
}
],
"plans": [
{
"owner": "",
"name": "",
"displayName": "",
"description": "",
"price": 0,
"currency": "",
"period": "",
"product": "",
"paymentProviders": [],
"isEnabled": true,
"role": ""
}
],
"pricings": [
{
"owner": "",
"name": "",
"displayName": "",
"description": "",
"plans": [],
"isEnabled": true,
"trialDuration": 0,
"application": ""
}
]
}
+138
View File
@@ -0,0 +1,138 @@
additionalProperties:
formFields:
- child:
default: ""
envKey: PANEL_DB_HOST
required: true
type: service
default: postgresql
edit: true
envKey: PANEL_DB_TYPE
labelZh: 数据库 服务 (前置检查)
labelEn: Database Service (Pre-check)
required: true
type: apps
values:
- label: PostgreSQL
value: postgresql
- label: MySQL
value: mysql
- label: MariaDB
value: mariadb
- label: Percona
value: percona
- child:
default: ""
envKey: PANEL_REDIS_SERVICE
required: true
type: service
default: redis
envKey: PANEL_REDIS_TYPE
labelZh: Redis 服务 (前置检查)
labelEn: Redis Service (Pre-check)
required: true
type: apps
values:
- label: Redis
value: redis
- default: "/home/casdoor"
edit: true
envKey: CASDOOR_ROOT_PATH
labelZh: 数据持久化路径
labelEn: Data persistence path
required: true
type: text
- default: 8000
edit: true
envKey: PANEL_APP_PORT_HTTP
labelZh: WebUI 端口
labelEn: WebUI port
required: true
rule: paramPort
type: number
- default: postgres
edit: true
envKey: DB_TYPE
labelZh: 数据库 类型
labelEn: Database Type
required: true
type: select
values:
- label: PostgreSQL
value: postgres
- label: MySQL (MariaDB, Percona)
value: mysql
- default: "127.0.0.1"
edit: true
envKey: DB_HOSTNAME
labelZh: 数据库 主机地址
labelEn: Database Host
required: true
type: text
- default: 5432
edit: true
envKey: DB_PORT
labelZh: 数据库 端口
labelEn: Database Port
required: true
rule: paramPort
type: number
- default: "casdoor"
edit: true
envKey: DB_USER
labelZh: 数据库 用户名
labelEn: Database User
required: true
type: text
- default: ""
edit: true
envKey: DB_PASSWD
labelEn: Database Password
labelZh: 数据库 密码
random: true
required: true
rule: paramComplexity
type: password
- default: "casdoor"
edit: true
envKey: DB_NAME
labelZh: 数据库 名称
labelEn: Database Name
required: true
type: text
- default: "127.0.0.1"
edit: true
envKey: REDIS_HOSTNAME
labelZh: Redis 主机
labelEn: Redis Host
required: true
type: text
- default: 6379
edit: true
envKey: REDIS_PORT
labelZh: Redis 端口
labelEn: Redis Port
required: true
rule: paramPort
type: number
- default: 0
edit: true
envKey: REDIS_DBINDEX
labelZh: Redis 索引
labelEn: Redis Index
required: true
type: number
- default: ""
edit: true
envKey: REDIS_PASSWORD
labelZh: Redis 密码
labelEn: Redis Password
required: false
type: password
- default: ""
edit: true
envKey: socks5Proxy
labelZh: Socks5 代理 (地区网络限制)
labelEn: Socks5 Proxy (Region Network Restriction)
required: false
type: text
@@ -0,0 +1,26 @@
networks:
1panel-network:
external: true
services:
casdoor:
container_name: casdoor
env_file:
- ./envs/global.env
- ./envs/casdoor.env
- .env
environment:
- driverName=${DB_TYPE}
- dbName=${DB_NAME}
- verificationCodeTimeout=10
- appname=casdoor
- authState=casdoor
image: casbin/casdoor:v1.758.0
labels:
createdBy: Apps
networks:
- 1panel-network
ports:
- ${PANEL_APP_PORT_HTTP}:8000
restart: always
volumes:
- ${CASDOOR_ROOT_PATH}/files:/files
+31
View File
@@ -0,0 +1,31 @@
appname=casdoor
httpport=8000
runmode=prod
copyrequestbody=true
driverName=mysql
dataSourceName=
dbName=casdoor
tableNamePrefix=
showSql=false
redisEndpoint=
defaultStorageProvider=
isCloudIntranet=false
authState=casdoor
socks5Proxy=
verificationCodeTimeout=10
initScore=0
logPostOnly=true
isUsernameLowered=false
origin=
originFrontend=
staticBaseUrl=https://cdn.casbin.org
isDemoMode=false
batchSize=100
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"}
initDataFil="./init_data.json"
frontendBaseDi="../casdoor"
@@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
ENV_FILE=.env
+2
View File
@@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
TZ=Asia/Shanghai
+33
View File
@@ -0,0 +1,33 @@
#!/bin/bash
if [ -f .env ]; then
source .env
# setup-1 add default values
CURRENT_DIR=$(pwd)
sed -i '/^ENV_FILE=/d' .env
sed -i '/^GLOBAL_ENV_FILE=/d' .env
sed -i '/^APP_ENV_FILE=/d' .env
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env
echo "APP_ENV_FILE=${CURRENT_DIR}/envs/casdoor.env" >> .env
if [ "$DB_TYPE" == "mysql" ]; then
echo "dataSourceName=$DB_USER:$DB_PASSWD@tcp($DB_HOSTNAME:$DB_PORT)/" >> .env
fi
if [ "$DB_TYPE" == "postgres" ]; then
echo "dataSourceName=\"user=$DB_USER password=$DB_PASSWD host=$DB_HOSTNAME port=$DB_PORT sslmode=disable dbname=$DB_NAME\"" >> .env
fi
if [ -n "$REDIS_PASSWORD" ]; then
echo "redisEndpoint=$REDIS_HOSTNAME:$REDIS_PORT,$REDIS_DBINDEX,$REDIS_PASSWORD" >> .env
else
echo "redisEndpoint=$REDIS_HOSTNAME:$REDIS_PORT,$REDIS_DBINDEX" >> .env
fi
echo "Check Finish."
else
echo "Error: .env file not found."
fi
@@ -0,0 +1,10 @@
#!/bin/bash
if [ -f .env ]; then
source .env
echo "Check Finish."
else
echo "Error: .env file not found."
fi
@@ -0,0 +1,19 @@
#!/bin/bash
if [ -f .env ]; then
source .env
# setup-1 add default values
CURRENT_DIR=$(pwd)
sed -i '/^ENV_FILE=/d' .env
sed -i '/^GLOBAL_ENV_FILE=/d' .env
sed -i '/^APP_ENV_FILE=/d' .env
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env
echo "APP_ENV_FILE=${CURRENT_DIR}/envs/casdoor.env" >> .env
echo "Check Finish."
else
echo "Error: .env file not found."
fi
+95
View File
@@ -0,0 +1,95 @@
# Casdoor
Casdoor 是一个 UI 优先的身份访问管理 (IAM)/单点登录 (SSO) 平台,其 Web UI 支持 OAuth
2.0、OIDC、SAML、CAS、LDAP、SCIM、WebAuthn、TOTP、MFA、RADIUS、Google Workspace、活动目录和 Kerberos。
![Casdoor](https://file.lifebus.top/imgs/casdoor_cover.png)
![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue)
## 简介
Casdoor是一个基于OAuth 2.0、OIDC、SAML 和 CAS 的,UI-first的身份和访问管理(IAM)/单点登录(SSO)平台。
Casdoor是由Casbin社区通过Golang和React进行开发。
Casdoor旨在提供一个强大的认证平台来处理用户管理问题。
+ ⚡️ 强大的功能和极简的配置。 支持使用 登录和传统的用户名/密码登录,只需几个步骤,Casdoor即可帮助您构建您的用户管理系统。
+ 💥 前后端分离架构。 Casdoor提供可随心所欲的网页界面并支持高并发。
+ 🥂 活跃的开源社区。 Casdoor是开源的,并有专业团队积极维护中。
+ 🌐 多语言支持。 Casdoor支持多种语言,包括中文、英文、法文、以及更多语言。
## 特性
+ Casdoor 遵循前后端分离架构,采用 Golang 进行开发。 它支持高同步,提供基于网页的用户界面管理,并支持10多种语言的本地化。
+ Casdoor 支持第三方应用登录,如 GitHub、谷歌、QQ、微信等,并支持通过插件扩展第三方登录。
+ Casdoor 支持基于 Cassbin 的授权管理。 它支持 ACL、RBAC、ABAC 和 RESTful鉴权管理模式。
+ Casdoor 提供了手机验证码、电子邮件验证码以及重置密码的功能。
+ Casdoor 支持日志的审计和记录。
+ Casdoor 可以使用阿里云、腾讯云、七牛云提供的图片CDN云存储功能。
+ Casdoor 允许自定义注册、登录以及找回密码页面。
+ 通过数据库同步支持与现有系统的集成,从而能够顺利过渡到 Casdoor。
+ Casdoor 支持主流数据库: MySQL、PostgreSQL、SQL Server 等, 并支持扩展插件以支持新的数据库。
## 安装说明
> 全局管理员账户:'built-in/admin'
> 解释:'built-in' 是内置的组织名,'admin' 是内置的用户名。
>
> 默认用户名:`admin`
> 默认密码:`123`
### 数据库支持
当前仅支持 `MySQL``PostgreSQL` 数据库。
官方支持使用 'SQLite' 数据库,但不建议在生产环境中使用。因此,我们放弃了 'SQLite' 数据库的配置选项。
同时还有一些其他数据库的支持,但是这些数据库的支持并不完善,因此我们也放弃了这些数据库的配置选项。
### 存储 `本地文件系统`
Casdoor 支持将用户头像等文件存储在本地文件系统中。默认情况下,Casdoor 会将文件存储在容器内部 `/home/user/casdoor/files`
目录下。
我们将其挂载在 持久化目录 `/home/casdoor` 下,以便于数据的持久化。
### `Socks5 代理 (地区网络限制)` 配置
如果您的网络环境受到地区网络限制,您可以通过配置 `Socks5 代理` 来解决这个问题。
格式:host:port
socks5Proxy 是 SOCKS 代理服务器 IP 地址。
设置代理端口,因为我们有与Google相关的服务,或者使用Google、GitHub、Facebook、LinkedIn或Steam作为OAuth提供商,这在某些地区可能会受到网络限制。
### 数据初始化 `init_data.json` 配置
Casdoor 会在第一次启动时,自动初始化数据库。您可以通过配置 `init_data.json` 文件来初始化数据库。
配置自定义的 `init_data.json` 文件,需要挂载到容器中。
需要修改 `docker-compose.yml` 文件中的 `volumes` 部分,添加自定义配置的挂载,将 `init_data.json` 文件挂载到容器中,覆盖默认配置。
```yaml
volumes:
- ./config/init_data.json:/init_data.json
```
其中 `./config/init_data.json` 为默认配置文件所在路径,您可以根据实际情况进行修改为自定义绝对文件路径即可。
---
![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png)
+16
View File
@@ -0,0 +1,16 @@
additionalProperties:
key: casdoor
name: Casdoor
tags:
- WebSite
- Middleware
- Tool
- Local
shortDescZh: 身份和访问管理(IAM)/单点登录(SSO)平台
shortDescEn: Identity and Access Management (IAM)/Single Sign-On (SSO) platform
type: website
crossVersionUpdate: true
limit: 0
website: https://casdoor.org/
github: https://github.com/casdoor/casdoor/
document: https://casdoor.org/zh/docs/overview/
Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB