diff --git a/apps/logto/1.22.0/.env b/apps/logto/1.22.0/.env new file mode 100644 index 0000000..b80b607 --- /dev/null +++ b/apps/logto/1.22.0/.env @@ -0,0 +1,36 @@ +# Postgres 服务 (前置检查) [必填] +PANEL_POSTGRES_TYPE=postgresql + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=3002 + +# API 端口 [必填] +PANEL_APP_PORT_API=3001 + +# OIDC 发行者域名 [必填] +ENDPOINT=http://127.0.0.1:3001 + +# 控制台重定向地址 [必填] +ADMIN_ENDPOINT=http://127.0.0.1:3002 + +# 禁用后台访问 [必填] +ADMIN_DISABLE_LOCALHOST=false + +# 数据库 主机地址 [必填] +POSTGRES_HOST=127.0.0.1 + +# 数据库 端口 [必填] +POSTGRES_PORT=5432 + +# 数据库 名称 [必填] +POSTGRES_NAME=logto + +# 数据库 用户名 [必填] +POSTGRES_USER=logto + +# 数据库 密码 [必填] +POSTGRES_PASSWORD= + +# 中央缓存 Redis +REDIS_URL= + diff --git a/apps/logto/1.22.0/data.yml b/apps/logto/1.22.0/data.yml new file mode 100644 index 0000000..aac2f13 --- /dev/null +++ b/apps/logto/1.22.0/data.yml @@ -0,0 +1,104 @@ +additionalProperties: + formFields: + - child: + default: "" + envKey: PANEL_POSTGRES_SERVICE + required: true + type: service + default: postgresql + envKey: PANEL_POSTGRES_TYPE + labelZh: Postgres 服务 (前置检查) + labelEn: Postgres Service (Pre-check) + required: true + type: apps + values: + - label: PostgreSQL + value: postgresql + - default: 3002 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + - default: 3001 + edit: true + envKey: PANEL_APP_PORT_API + labelZh: API 端口 + labelEn: API port + required: true + rule: paramPort + type: number + - default: "http://127.0.0.1:3001" + edit: true + envKey: ENDPOINT + labelZh: OIDC 发行者域名 + labelEn: OIDC Issuer Domain + required: true + type: text + - default: "http://127.0.0.1:3002" + edit: true + envKey: ADMIN_ENDPOINT + labelZh: 控制台重定向地址 + labelEn: Admin Redirect URL + required: true + type: text + - default: "false" + edit: true + envKey: ADMIN_DISABLE_LOCALHOST + labelZh: 禁用后台访问 + labelEn: Disable Admin Access + required: true + type: select + values: + - label: 禁用访问 + value: "true" + - label: 允许访问 + value: "false" + - default: "127.0.0.1" + edit: true + envKey: POSTGRES_HOST + labelZh: 数据库 主机地址 + labelEn: Database Host + required: true + type: text + - default: 5432 + edit: true + envKey: POSTGRES_PORT + labelZh: 数据库 端口 + labelEn: Database Port + required: true + rule: paramPort + type: number + - default: "logto" + edit: true + envKey: POSTGRES_NAME + labelZh: 数据库 名称 + labelEn: Database Name + required: true + rule: paramCommon + type: text + - default: "logto" + edit: true + envKey: POSTGRES_USER + labelZh: 数据库 用户名 + labelEn: Database Username + required: true + type: text + - default: "" + edit: true + envKey: POSTGRES_PASSWORD + labelZh: 数据库 密码 + labelEn: Database Password + random: true + required: true + rule: paramComplexity + type: password + - default: "" + edit: true + envKey: REDIS_URL + labelZh: 中央缓存 Redis + labelEn: Central Cache Redis + required: false + type: text diff --git a/apps/logto/1.22.0/docker-compose.yml b/apps/logto/1.22.0/docker-compose.yml new file mode 100644 index 0000000..e6b19d6 --- /dev/null +++ b/apps/logto/1.22.0/docker-compose.yml @@ -0,0 +1,29 @@ +networks: + 1panel-network: + external: true +services: + logto: + container_name: logto + entrypoint: + - sh + - -c + - npm run cli db seed -- --swe && npm start + env_file: + - ./envs/global.env + - .env + environment: + - NODE_ENV=production + - PORT=${PANEL_APP_PORT_API} + - ADMIN_PORT=${PANEL_APP_PORT_HTTP} + - TRUST_PROXY_HEADER=true + - CASE_SENSITIVE_USERNAME=true + - DB_URL=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_NAME} + image: svhd/logto:1.22.0 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_API} + - ${PANEL_APP_PORT_HTTP} + restart: always diff --git a/apps/logto/1.22.0/envs/default.env b/apps/logto/1.22.0/envs/default.env new file mode 100644 index 0000000..cd05f46 --- /dev/null +++ b/apps/logto/1.22.0/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/apps/logto/1.22.0/envs/global.env b/apps/logto/1.22.0/envs/global.env new file mode 100644 index 0000000..e10989f --- /dev/null +++ b/apps/logto/1.22.0/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/apps/logto/1.22.0/scripts/init.sh b/apps/logto/1.22.0/scripts/init.sh new file mode 100644 index 0000000..07fb8c3 --- /dev/null +++ b/apps/logto/1.22.0/scripts/init.sh @@ -0,0 +1,17 @@ +#!/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 + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/logto/1.22.0/scripts/uninstall.sh b/apps/logto/1.22.0/scripts/uninstall.sh new file mode 100644 index 0000000..c86c4fb --- /dev/null +++ b/apps/logto/1.22.0/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/logto/1.22.0/scripts/upgrade.sh b/apps/logto/1.22.0/scripts/upgrade.sh new file mode 100644 index 0000000..07fb8c3 --- /dev/null +++ b/apps/logto/1.22.0/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/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 + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/logto/README.md b/apps/logto/README.md new file mode 100644 index 0000000..2edb824 --- /dev/null +++ b/apps/logto/README.md @@ -0,0 +1,47 @@ +# Logto + +开发者更好的身份基础设施,以及 Auth0 的开源替代方案。 + +![Logto](https://file.lifebus.top/imgs/logto_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) + +## 简介 + +Logto 是一个开源的身份和访问管理(IAM)平台,旨在简化客户身份和访问管理(CIAM)和员工身份管理。 +基于单点登录(SSO)、基于 OIDC 的认证和多租户 SaaS 功能,Logto 提供了一种可扩展、安全且对开发者友好的现代 Web 和移动应用认证管理方式 + +## 特性 + +🧑‍💻 全栈式身份解决方案 + ++ 启用基于 OpenID Connect (OIDC) 的身份验证,使用 Logto SDKs。 ++ 支持无密码登录,以及电子邮件、电话号码、用户名、谷歌、Facebook 和其他社交登录方式等多种选项。 ++ 提供美观的 UI 组件,具有可定制的 CSS 以满足您的业务需求。 + +📦 即插即用型基础设施 + ++ 包含一个可立即使用的管理 API,作为您的身份验证提供者,从而消除了额外实现的需求。 ++ 提供无缝集成您的应用程序与 Logto 的 SDK,支持多平台和语言,适用于您的开发环境。 ++ 提供可扩展的连接器,可由社区贡献进行扩展,并可通过 SAML、OAuth 和 OIDC 协议进行定制。 + +💻 企业级解决方案 + ++ 实现可扩展授权的基于角色的访问控制(RBAC)。 ++ 启用用户管理,通过审计日志跟踪与身份相关的活动并维护安全。 ++ 支持无需最小编码的单点登录(SSO)和多因素认证(MFA)。 ++ 利用Logto 组织轻松构建多租户应用程序。 + +## 安装说明 + +### `中央缓存 Redis` 配置 + +基本格式, 请根据实际情况修改, 遵循 [Redis协议](https://www.iana.org/assignments/uri-schemes/prov/rediss): + +```env +REDIS_URL=redis://:@: +``` + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/apps/logto/data.yml b/apps/logto/data.yml new file mode 100644 index 0000000..ed104d4 --- /dev/null +++ b/apps/logto/data.yml @@ -0,0 +1,15 @@ +additionalProperties: + key: logto + name: Logto + tags: + - WebSite + - Middleware + - Local + shortDescZh: 开发者更好的身份基础设施,以及 Auth0 的开源替代方案。 + shortDescEn: A better identity infrastructure for developers, and an open-source alternative to Auth0. + type: website + crossVersionUpdate: true + limit: 0 + website: https://logto.io/ + github: https://github.com/logto-io/logto/ + document: https://docs.logto.io/ diff --git a/apps/logto/logo.png b/apps/logto/logo.png new file mode 100644 index 0000000..438246a Binary files /dev/null and b/apps/logto/logo.png differ