sharegpt可本地部署:①flask源码部署(python 3.9+、git拉取、pip安装、sqlite初始化);②nginx反向代理+https(certbot自动配置);③docker一键部署(docker-compose+alpine镜像+持久化挂载);④多实例环境变量隔离(端口/db分离+systemd守护)。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望将ShareGPT部署到自有服务器,以实现私有化、可控的AI对话分享能力,则需绕过SaaS托管服务,直接构建本地运行环境。以下是完成该目标的具体操作步骤:
一、基于Python Flask的源码部署
此方案适用于具备基础Linux服务器管理经验的用户,依赖官方ShareGPT项目结构,使用Flask作为Web框架,SQLite为默认数据库,无需额外安装复杂中间件。
1、通过SSH登录您的Linux服务器(推荐Ubuntu 22.04或CentOS 8+),确保已安装Python 3.9及以上版本与pip工具。
2、执行git clone命令拉取Dome Eason维护的原始仓库:git clone https://github.com/domeccleston/sharegpt.git。
3、进入项目目录并安装Python依赖:cd sharegpt && pip install -r requirements.txt。
4、复制配置模板并启用开发模式:cp config/development.py config/settings.py,随后编辑settings.py,确认SECRET_KEY已生成且DEBUG=True仅用于初始验证。
5、初始化数据库表结构:python -c "from app import db; db.create_all()"。
6、启动服务:python app/main.py,服务默认监听5000端口。
二、Nginx反向代理与HTTPS加固
为使ShareGPT可通过域名访问并满足生产安全要求,需在Flask应用前端部署Nginx,承担静态资源分发、请求转发及TLS终止职责。
1、安装Nginx:sudo apt update && sudo apt install nginx(Ubuntu)或sudo yum install nginx(CentOS)。
2、创建站点配置文件/etc/nginx/sites-available/sharegpt,写入标准反向代理块,其中proxy_pass指向http://127.0.0.1:5000;server_name设置为您已解析的域名(如share.example.com)。
3、启用配置:sudo ln -sf /etc/nginx/sites-available/sharegpt /etc/nginx/sites-enabled/,并测试语法:sudo nginx -t。
4、申请并部署SSL证书:sudo apt install certbot python3-certbot-nginx,随后运行sudo certbot --nginx -d share.example.com自动配置HTTPS。
5、重启Nginx:sudo systemctl restart nginx。
三、Docker容器化一键部署
此方案屏蔽操作系统差异,封装运行时依赖,适合快速验证或CI/CD集成场景,镜像基于Alpine Linux构建,体积精简且安全性高。
1、确认服务器已安装Docker与docker-compose(v2.10+):docker --version && docker-compose --version。
2、在服务器任意路径新建docker-compose.yml文件,内容包含service定义:image字段引用domeccleston/sharegpt:latest,ports映射5000端口,volumes挂载config和db目录以实现配置持久化。
3、创建.env文件,填入SHAREGPT_SECRET_KEY与SHAREGPT_DATABASE_URL(格式为sqlite:///./data/app.db)。
4、执行docker-compose up -d启动容器,日志可由docker-compose logs -f实时查看。
5、若需绑定域名,可在同一compose文件中追加nginx服务块,或复用前述Nginx主机配置进行反向代理。
四、环境变量驱动的多实例隔离部署
当需在同一台物理服务器上运行多个独立ShareGPT实例(例如:dev、staging、prod),应避免端口与数据库冲突,采用环境变量区分运行上下文。
1、为每个实例创建独立工作目录,如/sharegpt-dev、/sharegpt-prod,并分别拷贝一份sharegpt源码。
2、在各目录下新建.env文件,设定唯一变量:FLASK_RUN_PORT=5001(dev)、FLASK_RUN_PORT=5002(prod);同时指定不同数据库路径:DATABASE_URL=sqlite:///./data/dev.db与DATABASE_URL=sqlite:///./data/prod.db。
3、使用systemd为每个实例创建守护服务单元文件(如/etc/systemd/system/sharegpt-dev.service),ExecStart行明确指定环境变量文件路径与Python启动命令。
4、重载systemd配置:sudo systemctl daemon-reload,并启用服务:sudo systemctl enable --now sharegpt-dev.service。
5、检查状态:sudo systemctl status sharegpt-dev.service,确认Active: active (running)。











