kanle程序开源与食用方法

原创小予 朋友圈博客 2026年7月6日 01:37 湖北省
想你和我们的以后苏运莹
这是一款类似于朋友圈+公众号文章体系的一个程序,目前开发程度基本已经接近尾声,但是这个程序是否为开源,我还是进行了深思熟虑,这毕竟是一个Ai项目,而且网站有很多bug以及安全问题,所以我决定程序实现开源+更新

开源

话又说回来了,这个程序既然选择了开源,那么就请大家不要瞎搞,建造那种违反法律的网站,你可以进行二次开发,修改,以及优化,但是你得说明这是在kanle的Ai项目上面进行修改以及二开的,虽然是个Ai产品,但是也花了很多Token以及时间的,也是经过了无数个日夜的打磨,所以开源很不易,且用且珍惜吧,还请大家能够在Github上面给我点一个爱心,感谢了各位了!!!

使用

小予/kanle-next: 朋友圈博客程序小予/kanle-next: 朋友圈博客程序

拉取镜像直接部署

# 1. 下载 docker-compose.yml 和环境变量模板
curl -sL https://gitee.com/ziln_cn/kanle-next/raw/main/docker-compose.yml -o docker-compose.yml
curl -sL https://gitee.com/ziln_cn/kanle-next/raw/main/.env.example -o .env

# 2. 编辑 .env,至少修改 DB_PASSWORD、JWT_SECRET、ADMIN_PASSWORD
vi .env

# 3. 一键启动(自动拉取镜像)
docker compose up -d

# 4. 访问
# 前端: http://localhost:3000
# 后端 API: http://localhost:4000/api/health
从源码构建
# 1. 克隆项目
git clone https://gitee.com/ziln_cn/kanle-next.git
cd kanle

# 2. 复制环境变量模板并修改
cp .env.example .env
# 编辑 .env,至少修改 DB_PASSWORD、JWT_SECRET、ADMIN_PASSWORD

# 3. 修改 docker-compose.yml:注释掉 image 行,取消 build 的注释
# 4. 一键构建并启动
docker compose up -d --build

# 5. 访问
# 前端: http://localhost:3000
# 后端 API: http://localhost:4000/api/health

默认管理员账号:

  • 邮箱:admin@example.com(在 .env 中修改 ADMIN_EMAIL)
  • 密码:change-me(在 .env 中修改 ADMIN_PASSWORD)

访问 http://localhost:3000/admin/login 进入后台管理。

关于域名:预构建镜像中 NEXT_PUBLIC_API_URL=http://localhost:4000/api,适合本地体验。生产环境使用自定义域名时,需从源码构建前端镜像以注入正确地址:

# 修改 .env 中的 NEXT_PUBLIC_API_URL 为你的域名
# 取消 docker-compose.yml 中 frontend 的 build 注释,注释掉 image 行
docker compose up -d --build frontend

手动部署:

前置要求

  • Node.js 22 LTS
  • MySQL 8.0
  • PM2(npm install -g pm2)
  • Nginx
后端:
cd backend

# 安装依赖
npm ci

# 配置环境变量
cp .env.example .env
# 编辑 .env,填写数据库、JWT、管理员等信息

# 编译 TypeScript
npm run build

# 初始化数据库 + 创建管理员
npm run db:seed

# 启动(PM2)
pm2 start ecosystem.config.js
前端:
cd frontend

# 安装依赖
npm ci

# 配置环境变量
cp .env.example .env.local
# 编辑 .env.local,填写 NEXT_PUBLIC_API_URL

# 构建
npm run build

# 启动(PM2)
pm2 start ecosystem.config.js
Nginx反向代理:
参考 deploy/nginx.conf,将 /api/ 和 /uploads/ 代理到后端(4000),其余代理到前端(3000)。
sudo cp deploy/nginx.conf /etc/nginx/conf.d/kanle.conf
# 修改 server_name 为你的域名
sudo nginx -t && sudo nginx -s reload

# SSL 证书
sudo certbot --nginx -d yourdomain.com

环境变量参考

后端:
变量必填默认值说明
NODE_ENV是production运行环境
PORT否4000后端端口
DB_HOST是127.0.0.1MySQL 地址(Docker 中为 mysql)
DB_PORT否3306MySQL 端口
DB_USER是-MySQL 用户名
DB_PASSWORD是-MySQL 密码
DB_NAME否moment_blog数据库名
JWT_SECRET是-JWT 密钥(生产务必修改)
JWT_EXPIRES_IN否7dToken 过期时间
ADMIN_EMAIL是-初始管理员邮箱(仅首次创建生效)
ADMIN_PASSWORD是-初始管理员密码(仅首次创建生效)
ADMIN_USERNAME否admin管理员用户名
CLIENT_URL否http://localhost:3000前端地址(CORS + revalidate)
REVALIDATE_SECRET否kanle-revalidate按需重验证密钥(须与前端一致)
前端:
变量类型必填默认值说明
NEXT_PUBLIC_API_URL构建时是-后端 API 地址,必须以 /api 结尾
NEXT_PUBLIC_TWIKOO_ENV_ID构建时否-Twikoo 评论系统环境 ID
NEXT_PUBLIC_REVALIDATE_SECRET构建时否kanle-revalidate须与后端一致
REVALIDATE_SECRET运行时否kanle-revalidate须与后端一致
PORT运行时否3000前端端口
HOSTNAME运行时否0.0.0.0监听地址

构建时变量:NEXT_PUBLIC_* 前缀的变量在 next build 时内联到产物中,运行时修改无效。换域名后必须重新构建前端。


如果有不懂的可以进行评论和使用ai,让ai帮你,如果使用来二次开发也是支持的,希望大家能够喜欢!!!
阅读 506点赞 9

留言5

写留言
牛逼
牛逼贵州昨天
666
首评
小宋
小宋3小时前
大佬牛逼
小予小予
小予

小予

友情链接

章节目录

暂无标题