From f19c5b9fe198f4a60d119dbeac3ea2bb30ea5fce Mon Sep 17 00:00:00 2001 From: hukdoesn Date: Fri, 25 Jul 2025 10:50:27 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=83=20docs:=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E9=83=A8=E7=BD=B2=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 61 ++++++++++++++++++++++++++++++++++++++++++++++-- liteops_init.sql | 25 ++++++++++++++++++++ 2 files changed, 84 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b25766a..183b105 100644 --- a/README.md +++ b/README.md @@ -152,10 +152,57 @@ chmod +x start-containers.sh # 执行一键部署 ./start-containers.sh ``` +#### 5. 不使用一键部署方式,自定义数据库 + +##### 方案A:配置文件挂载方式(推荐) + +```bash +# 1. 先启动MySQL容器(可选) +docker run -d \ + --name liteops-mysql \ + -e MYSQL_ROOT_PASSWORD=your_password \ + -p 3306:3306 \ + mysql:8.0 + +# 等待MySQL启动完成后导入初始化数据(会自动创建liteops数据库) +docker exec -i liteops-mysql mysql -uroot -pyour_password < liteops_init.sql + +# 2. 在宿主机创建配置文件 +mkdir -p ./liteops-config +cat > ./liteops-config/config.txt << EOF +[client] +host = 数据库IP # 如果使用Docker网络,填写容器名 +port = 3306 +database = liteops +user = root +password = your_password # 替换为您的实际密码 +default-character-set = utf8mb4 +EOF + +# 3. 启动LiteOps容器,挂载配置文件 +docker run -d \ + --name liteops \ + --privileged \ + -p 80:80 \ + -p 8900:8900 \ + -v $(pwd)/liteops-config/config.txt:/app/backend/conf/config.txt \ + liteops/liteops:[最新版本] +``` + +配置文件 `config.txt`: +```ini +[client] +host = 数据库IP +port = 3306 +database = liteops +user = root +password = your_password +default-character-set = utf8mb4 +``` 启动脚本会自动完成以下操作: -#### 5. 验证部署 +#### 6. 验证部署 部署完成后,你可以通过以下方式验证: @@ -227,8 +274,18 @@ cd backend pip3 install -r requirements.txt # 配置数据库(请先创建数据库并导入 liteops_init.sql) -# 修改 backend/config.txt 中的数据库配置 +#可自定义修改 backend/config.txt 中的数据库配置文件 +cat backend/config.txt +[client] +host = 127.0.0.1 # 自定义IP +port = 3306 # 自定义端口 +database = liteops +user = root +password = 1234567xx # 自定义密码 +default-character-set = utf8mb4 +``` +```bash # 启动后端服务 python3 -m uvicorn backend.asgi:application --host 0.0.0.0 --port 8900 ``` diff --git a/liteops_init.sql b/liteops_init.sql index 7b3dae3..7700935 100644 --- a/liteops_init.sql +++ b/liteops_init.sql @@ -16,6 +16,13 @@ SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- 创建数据库 +-- ---------------------------- +CREATE DATABASE IF NOT EXISTS `liteops` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; +USE `liteops`; + -- ---------------------------- -- Table structure for build_history -- ---------------------------- @@ -346,6 +353,24 @@ CREATE TABLE `user_token` ( CONSTRAINT `user_token_user_id_69e1f632_fk_user_user_id` FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; +DROP TABLE IF EXISTS `ldap_config`; +CREATE TABLE `ldap_config` ( + `id` int NOT NULL AUTO_INCREMENT, + `enabled` tinyint(1) NOT NULL, + `server_host` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL, + `server_port` int NOT NULL, + `use_ssl` tinyint(1) NOT NULL, + `bind_dn` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL, + `bind_password` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL, + `timeout` int NOT NULL, + `update_time` datetime(6) DEFAULT NULL, + `base_dn` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL, + `user_attr_map` json NOT NULL DEFAULT (_utf8mb3'{}'), + `user_dn_template` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL, + `user_search_filter` varchar(255) COLLATE utf8mb4_bin NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; + -- ---------------------------- -- 初始化数据 -- ----------------------------