grok2api手把手教程Render + Aiven PostgreSQL
- 内容介绍
- 文章标签
- 相关推荐
此篇搭建教程的基础是 Grok2API - 支持开启真NSFW,视频超分,grok-4.1-fast 回归 在此基础上GitHub一键在Render部署,但是15分钟会重新,数据丢失,因此会采用Aiven PostgreSQL来持久化保存数据。
步骤 1:Fork 原项目
- 打开原项目:https://github.com/chenyme/grok2api
- 点击右上角
Fork - 选择你的个人账号
- 成功后确认地址是:
https://github.com/你的用户名/grok2api
点我展开:截图说明
- Fork原项目
image1234×1006 113 KB - 取名后创建fork
image1234×1006 45.1 KB
容易踩坑
- 地址还是
chenyme/grok2api:说明你还在原仓库页面,不是自己的 Fork。
步骤 2:在 Aiven 创建 PostgreSQL
- 登录 Aiven 控制台:https://console.aiven.io/ (没有的话就用GitHub登录即可)
- 创建一个 PostgreSQL 服务(选离你近的区域)
- 进入该服务,找到连接信息(Connection / URI)
- 记下完整连接串(后面填到 Render 变量
SERVER_STORAGE_URL)
点我展开:截图说明
- 没有或者那好就先点击注册
image1234×1006 26.8 KB - 就是用GitHub登录吧
image1234×1006 71 KB - 登录后就创建服务
image1731×803 104 KB - 按顺序点击
image1660×703 84.5 KB - 选择免费的创建
image1631×1009 94.8 KB - 进入创建的PostgreSQL,保存信息
image1578×647 33.1 KB
连接串示例
postgresql://avnadmin:你的密码@xxx.aivencloud.com:12345/defaultdb?sslmode=require
容易踩坑
- 忘了
sslmode=require:Aiven 通常要求 SSL,不加可能连不上。 - 复制不完整:必须是整条 URL(用户名、密码、主机、端口、库名都要有)。
步骤 3:用你自己的仓库发起 Render 部署
原项目有一键部署链接:
https://render.com/deploy?repo=https://github.com/chenyme/grok2api
直接在自己fork页面点击就可以了
点我展开:截图说明
- 直接点图标就可以了
image982×967 40.9 KB
- 依旧GitHub登录
image1378×680 21.7 KB - 这里填写,跳过应该都可以
image936×845 26.9 KB - 取名按顺序点就行
image2281×851 57.8 KB
步骤 4:在 Render 修改环境变量(关键)
进入 Render 服务后,打开 Environment,至少改这两个:
SERVER_STORAGE_TYPE改为:pgsqlSERVER_STORAGE_URL改为:Aiven 的 PostgreSQL 连接串(不是空值)
点我展开:截图说明
- 部署好以后,在变种修改这两个地方
image2412×973 122 KB
必填示例
SERVER_STORAGE_TYPE=pgsql
SERVER_STORAGE_URL=postgresql+asyncpg://avnadmin:密码@host:port/defaultdb?ssl=require
容易踩坑(重点)
SERVER_STORAGE_URL保持默认空字符串:会导致仍然走本地或直接报错。SERVER_STORAGE_TYPE还是local:不会写入 PostgreSQL。- 值里带多余引号:写
pgsql,不要写"pgsql"。 - 最最重要的就是
postgresql://avnadmin:密码@host:port/defaultdb?sslmode=require要改写成postgresql+asyncpg://avnadmin:密码@host:port/defaultdb?ssl=require
具体为什么ai告诉我,我反正是这么操作的。
grok2api 项目底层使用了 SQLAlchemy 的异步模式。
代码兼容性:项目代码中使用了 await session.exec() 这种写法,这要求数据库引擎必须是异步的。第一种连接字符串提供的是同步引擎,程序会直接抛出 AttributeError 或驱动不匹配的错误。
Aiven 的强制要求:Aiven PostgreSQL 强制要求 SSL 连接。第二种写法正确地向 asyncpg 传递了 ssl=require 参数,从而握手成功。
步骤 5:重新部署并检查日志
- 保存环境变量后,触发一次
Manual Deploy(或等待自动部署) - 查看日志,确认服务启动成功
- 打开:
https://你的render域名/admin
步骤 6:验证“确实已持久化”
- 进管理后台做一条可见修改(放一些sso,或者改个密码)
- 在 Render 手动重启服务,或者等15分钟自动会关机的
- 再次进入后台,确认数据还在
在最后分享一些才注册全新的sso,放入项目中就可以使用了
点我展开:sso
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiMDA3MTIwMDItYTg5Mi00YmJkLWI1MTQtMGE5MTVhNjlmYjZmIn0.eBOII-7fx3JSd2mhCPd02Q7NgNMGzDKty0yDIAPhveg
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiMTA2NTE2NzktZWQ0NS00ZjI0LTkwNTUtN2UzNjdhNzZlY2JhIn0.5_05cDyhB_dbUgjq-wX0rq3mfXLwaaxtG_YfhMQJwj8
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiMTlhZTk1ZDItMzA5OC00OGFjLThjNjEtN2I1NjFhOTUzMTc4In0.fKKvDaTcePth3wCAJsgoDxFTf4swZQURJQKHYnow90A
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiMWM5YTg1MGItMDA2Yi00MzIwLWE2NjctODUyMjEwMzllNmYyIn0.y_2_BhmPlL49v1fVwKzPInUaac1tYjN2D3jCYiMiXkc
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiMWQ0ZDEzYzUtZGM3Mi00ZTgwLTgyMDYtNGU5YTU3NmUwYTFlIn0.sm-3Tg7wNTDF64DSgrSHiyR3hSwbTo0yLplaowgNHIY
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiMjBjOTA4MTYtNWM4NC00MjE2LWE1OGQtMDUyNGIxZDc3OGMxIn0.WbsTz6gO8UuHUwGGlymmFYbmUfRr8YA6aK9_Lhiwa-k
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiMjExN2NjOGYtNTZmZC00OTA0LTk3NzktMDlkYjA2ODc4YmRjIn0.FBWUXweWUZehdjxTC5V69rruy00LXuPNuPJYqSnVtqM
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiMzAxNmU3OWQtMWEzMC00MDRmLTlhNDItNDViYmVlNDI1MTRmIn0.alLBua18OCsCTyGkyJts_e21L1HqRUQxxQpHxNtq3vs
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiMzM3MzRiMGItZTBkNi00YWE0LTlkNjYtYzllZTRlMGIyZWJkIn0.1uSqU_UpkTa7k8tuK0FTE8jHieZRnSoSEYUUbvfgk1U
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiMzNlNGFmYzEtNDhhZS00OTUyLWExZjAtMGY4YjIwOGYyZmY1In0.nZW5xbtNufEiNmOw4p9yc3nRlLqE18Yy5gA1OkKxx58
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiMzRmNGExMTYtNjBjYi00ZTdmLThjODQtZGFiMDBiYjVlOGMwIn0.rN82__c5UsmOj-nq85Dq_Av5m-eKo-eEAB_sxFUyZAI
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiMzY0MDViYzQtMDA3NC00ZWI5LWExYWItYzFkOGM3MTA5NTU5In0.7Ki11l26uzZCUNvPuFXt_estItBYgj6XScuSjrvkKGw
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiMzgwYWU0MjAtYzRiOC00MTY4LThlNzgtYmNmNzhiNjI2YWI3In0.Sas-tpPebdipy4cgwCINHwp_5_O_KuyxihWGzVnQlow
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiMzllYjJiNGMtMGU5NC00ZDgyLTk4MTktNzIzOTZlNmYxODU1In0.eEOtEYp45ru0eOjMcwXcXa0f_fKnNAqtEVrfK_Qs7lY
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiN2VkZDI0MTEtOGViMy00MGJiLTgzZTQtY2E2NThjODcwOTgxIn0.pUpA6nrjjMYrBo3VoxilAdOGkUCDh3r_H3tNo_Wqhto
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiN2YxOTEzNDctMDZhZS00MmEwLTgxYzctZDI1MDI1ODRkNzM5In0.RSrizTv1EPxrp8ZUPDHQ3Mt2GQmH901MZCPJ8sOWs_A
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiNDk4NjljMjEtYTgyMy00ZDI5LWJjY2ItMjlhNGQ5YjBhYmU5In0.t1nlJxCzE1rfRMhPCgSEtigjsEkPXBcFBuMM_KFtYLA
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiNDlhMjBmMDctYjM2MC00MWQ2LWEyNDMtMzcxMTQzZGVhMjhhIn0.M09WqKmmcNMHmsBgoabIfvyca1SYKdzyWmOxr0Vx7mc
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiNTBhN2UwNDItNmY3My00YjRjLWIwYjQtOTJiYjU1M2I4M2JmIn0.1Wm23701h2BQbzPkzFW61CXr3W0Kb8gAYhZMrif7jTo
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiNTI0OGE5MjktZDBkMS00ZmQ5LWJmMGQtMzIyODdmZmVkZDRlIn0.6fIdBX6xW95_PiDnqYmq_Oybma2EITnhaGO9VxwcP70
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiNmQ0ZTk5YTEtODViNy00Y2Q2LWJhY2ItNGE2MzU4MTdiM2I4In0.7A9fKlsLtpTuLKN-pgJw3Cl-K59szIGotJFgOBwJSTY
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiNzBlNzQ2ZjEtOGI3NS00ZjYxLWE2ZTgtZDI5OWEwM2YyZDcyIn0.MtHS3khz6hKFhCWot7QXkpxvL9tRua56mxxFj1tqYCM
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiNzVmNzFkZDAtZjYwYy00NzMzLTkxMDYtN2IzOTdlMzQ2ZDQ4In0.zbKr-6k6foJUEpYTbOAAHfim9GnXZXDBstoREN8yqXI
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiODNhMjM1NDUtZGE1NC00NDM1LTg4NmYtNjU3NmY4ZjQ4YWQxIn0.XHmI8EA1tRZkIwGMSzdyldpqPU5b9AeWtectIle89PE
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiOGRlYmIwMmEtYzMzYi00NGE5LTgzNDItMDg1YWFjMDU1NGQxIn0.nVskjO7fjsVearjahRM-7qzvRr9o6ILke9dXcv_3nig
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiOTI4MDE3YWYtOTEzNi00YmFlLTgwOTMtOTc4NzMyZmIwZDg2In0.hIe64m-IaNCC_Vb-AComGwRRV12zB7Hy8Ln7sfykHhA
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiOTNiMTJhYWYtYmQ0OC00ZjRjLTg0ODQtMmUwYzY2MWY3NzE1In0._xqcOV-YxADGEYyvyOx3zYJmiK2J7vSYhqmR99VPsI4
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiOTRhODI1MDgtMDQ4MC00MDU5LWJjMWItZmViMWNjYTY1YjI1In0.pkblbbMwKVrLMdbKLRpD657yKNmxczdux0peU7I9YoY
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiOWIxOWNlNDMtMTAxMS00Njc2LTg1ZGMtODQ2NWQxYWYyZTJkIn0.cBnqU64hgGKHl90l16_5axp39ESGGmszN1PJACeMheY
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiY2IzYjQzMDMtNWZjNS00YjI4LTgxZDAtZWNhMGE4ZWU1NzhkIn0.1hqs-eRKV1IaWKQ0vB7PClpxqSUdiZjMgsWaYUvCSbE
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiY2NmZGM3YTktYTNiNS00ZDQ5LWFmMzEtYTc2ZjQ1N2FjNDAxIn0.dmyg5yWK8OLkm9BmJtQxf4eFMDlPX2JC-GzfQCY6WGA
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiY2Y1ZTA4ZmYtNTM1Ny00M2YyLTk5YzctYWVhY2U0YmExMGNjIn0.KKuSChaxs5yjIMvG0XF2OYcYjj6gkQLBL4E6pkKBW2I
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiYTI1Y2I5YjktYzM5OS00ZGU1LWE2OWMtZjQyMTAyNzg2MDg1In0.EVeKOpKmkPwUWoSZc4WQPcSVoMeyhGUl40FoEjkBc-U
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiYWU4MTI0ZmYtZDA0MC00YjY1LTkwYzMtOTkyYWY2M2ExMjk5In0.KF_R2PpOyS57y5pirfCrd9nRBVLdqr04EsX5gUzDa90
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiYjYwOWNkY2MtMTA1OS00ZDQ1LWE4MWEtZGNhN2Q3MzkxNWM1In0.piibFojKOA8JaLwxwngbUMOsztWwH_Q-wFYmEcZF9d0
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiYmFlM2MxYzAtMzI5MC00ZTFhLThjMjgtNmJjZTg5MmE4Y2UyIn0.CFad4OYh447SqzUrMjOywOZDnL00tTFaMSN3XTnMSpA
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiYmI0MWYwMDYtODI4Ny00MTkxLWE1NDMtNmQyYmU3OTAyMTAxIn0.iISMbVojLj4k08FHoBT9dLN_ojV70LPO8-NMxqOpiSo
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiYzcwZTkzM2MtYTU5My00NGJjLWIyOTQtNzNmODc4ZWVhYjI3In0.5fWcvsHwUuGQF1Lzzm_nmhVgBK3OxygrV1g-Eq–tN0
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiZDc0NGIxN2ItNWFhYi00OTc2LThiMWQtODA5ZjU2YTcwMGY3In0.MuzMmXTZNt4v0Zsv5jF-G-oHZDBdL2LuYxKOvbqBXzE
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiZDg2M2I2N2UtYjZjYy00MzNmLWJmYzUtMGFmZmQ3YTdlNDcwIn0.2c8CotiVW65yE_zsVTSas6JTw7kGY0jCosFvdvCNEDk
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiZDk3NjQyNWItNjAxMi00ODNiLTkxMjYtOWMxNWY4N2QyYTNkIn0.Z7q88MQoHGZWZyImETIJprDIMBBAQmZA-s6ddAhWD5k
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiZTEyZGFhYmYtZDg1YS00NmQ3LTliOTUtMDU0YWMxOGQ0N2M0In0.vPFO3FA-xfh_G1ks6uH-CdZ68wg99Pzj2_TLIizmKYo
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiZTFhYjMyMmQtZDhkYi00MTYwLWIxYWQtYmU2ZDM4OTFhZjY1In0.K63lvcczn6PhOAYRERWmHD4eECigb_cba614qQWYohw
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiZTZiM2YzMzAtZGZlMC00NjBhLWFiMjYtMmQyOTczNzFlMTcxIn0.xSTjNVCDF7_wZZPBN02nLSGvEHxpAZQ2Z_Il4-_oUck
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiZTcxN2QzZTQtOTEzMi00NDg2LTg0NDAtMGU1NmRkYjAyZjE4In0.eB0qIiOL_XRkXxyXvkOqkME2ndlXBibkupQBtYf2Z1s
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiZWE0NzZmYWMtOTRmNC00YjEzLWEwYzktNTI0ZDE0ZDQ4M2UzIn0.eh9HFSaOdIcvoJxq1TU73usrMRqI6bg_Obmq4obtHxU
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiZjA4Yzk2NTMtMTY0OS00MjFmLWE4YWYtMzYwYzYwMWU2ZDA4In0.O7ndbos6X-AmaA111ZlLhucuR2yaE5uUsNnMsRXgN3M
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiZjM3Y2JiZjItZTUwYy00NTQxLWI0YWQtNjQxMTM4ZGQzNmQ1In0.8kfUt0ZCu3UlGlx9UPdFL1U7AGOVGp9x4iA6VHn6N0M
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiZmUxNjZkMGQtNDc4Mi00MzM0LThiYmQtNDdmZWRlOWExMzhkIn0.ZSzdUDA1LzbL-CmtSi4sRLgCsL18HWaAkhD3K4BU46g
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiZmY3OWRkZmQtM2FiNC00NTk5LTk5NTYtNjc3Y2E0YzNhMTQ0In0.EpOxfwYVhk4qd3rtffeYK1WF1P6_cFdyPSJSkl9FWfg
写在最后最重要的话:
都看到这里了,还不点个赞!
网友解答:--【壹】--:
给你点个赞
--【贰】--:
感谢教程
--【叁】--:
感谢大佬手把手教会,已经部署了
--【肆】--:
好像不行,我之前测试,过一段时间会失效
--【伍】--:
学习了 感谢佬
--【陆】--: 狂奔的青蛙:
取名按顺序点就行
佬,我到这一步需要绑定银行卡,这个咋办呀
--【柒】--:
作者好像改进了项目,不用加异步部署成功,加了反而报错
--【捌】--:
如果一定时间内没有render的访问,以及数据库的访问,就会释放,所以为啥我推荐cronjobs
--【玖】--:
教程非常详细,谢谢分享
--【拾】--:
收藏了,最近一直在搞,希望能从佬友的帖子学到真东西
--【拾壹】--:
感谢教程分享
--【拾贰】--:
我发现也不行
--【拾叁】--:
马住,回头试试。
今天vercel搭了但是持久化没成功
--【拾肆】--:
推荐cron-job.org Console
--【拾伍】--:
啊?我没遇到
--【拾陆】--:
image299×155 1.16 KB
对于grok2api这个项目,cron-job是保活不了的,不是rener的原因,大概率是grok这边的原因,我之前搭建的其他项目是可以保活的。截图是我最后一次测试,之前最多可以保活一天,后面保活时间越来越短
--【拾柒】--:
必须谷歌登录,必须节点纯净。这样跳过绑卡
--【拾捌】--:
请问为什么进入后台无法修改任何东西,会报错加载失败http500
--【拾玖】--:
感谢大佬教程
此篇搭建教程的基础是 Grok2API - 支持开启真NSFW,视频超分,grok-4.1-fast 回归 在此基础上GitHub一键在Render部署,但是15分钟会重新,数据丢失,因此会采用Aiven PostgreSQL来持久化保存数据。
步骤 1:Fork 原项目
- 打开原项目:https://github.com/chenyme/grok2api
- 点击右上角
Fork - 选择你的个人账号
- 成功后确认地址是:
https://github.com/你的用户名/grok2api
点我展开:截图说明
- Fork原项目
image1234×1006 113 KB - 取名后创建fork
image1234×1006 45.1 KB
容易踩坑
- 地址还是
chenyme/grok2api:说明你还在原仓库页面,不是自己的 Fork。
步骤 2:在 Aiven 创建 PostgreSQL
- 登录 Aiven 控制台:https://console.aiven.io/ (没有的话就用GitHub登录即可)
- 创建一个 PostgreSQL 服务(选离你近的区域)
- 进入该服务,找到连接信息(Connection / URI)
- 记下完整连接串(后面填到 Render 变量
SERVER_STORAGE_URL)
点我展开:截图说明
- 没有或者那好就先点击注册
image1234×1006 26.8 KB - 就是用GitHub登录吧
image1234×1006 71 KB - 登录后就创建服务
image1731×803 104 KB - 按顺序点击
image1660×703 84.5 KB - 选择免费的创建
image1631×1009 94.8 KB - 进入创建的PostgreSQL,保存信息
image1578×647 33.1 KB
连接串示例
postgresql://avnadmin:你的密码@xxx.aivencloud.com:12345/defaultdb?sslmode=require
容易踩坑
- 忘了
sslmode=require:Aiven 通常要求 SSL,不加可能连不上。 - 复制不完整:必须是整条 URL(用户名、密码、主机、端口、库名都要有)。
步骤 3:用你自己的仓库发起 Render 部署
原项目有一键部署链接:
https://render.com/deploy?repo=https://github.com/chenyme/grok2api
直接在自己fork页面点击就可以了
点我展开:截图说明
- 直接点图标就可以了
image982×967 40.9 KB
- 依旧GitHub登录
image1378×680 21.7 KB - 这里填写,跳过应该都可以
image936×845 26.9 KB - 取名按顺序点就行
image2281×851 57.8 KB
步骤 4:在 Render 修改环境变量(关键)
进入 Render 服务后,打开 Environment,至少改这两个:
SERVER_STORAGE_TYPE改为:pgsqlSERVER_STORAGE_URL改为:Aiven 的 PostgreSQL 连接串(不是空值)
点我展开:截图说明
- 部署好以后,在变种修改这两个地方
image2412×973 122 KB
必填示例
SERVER_STORAGE_TYPE=pgsql
SERVER_STORAGE_URL=postgresql+asyncpg://avnadmin:密码@host:port/defaultdb?ssl=require
容易踩坑(重点)
SERVER_STORAGE_URL保持默认空字符串:会导致仍然走本地或直接报错。SERVER_STORAGE_TYPE还是local:不会写入 PostgreSQL。- 值里带多余引号:写
pgsql,不要写"pgsql"。 - 最最重要的就是
postgresql://avnadmin:密码@host:port/defaultdb?sslmode=require要改写成postgresql+asyncpg://avnadmin:密码@host:port/defaultdb?ssl=require
具体为什么ai告诉我,我反正是这么操作的。
grok2api 项目底层使用了 SQLAlchemy 的异步模式。
代码兼容性:项目代码中使用了 await session.exec() 这种写法,这要求数据库引擎必须是异步的。第一种连接字符串提供的是同步引擎,程序会直接抛出 AttributeError 或驱动不匹配的错误。
Aiven 的强制要求:Aiven PostgreSQL 强制要求 SSL 连接。第二种写法正确地向 asyncpg 传递了 ssl=require 参数,从而握手成功。
步骤 5:重新部署并检查日志
- 保存环境变量后,触发一次
Manual Deploy(或等待自动部署) - 查看日志,确认服务启动成功
- 打开:
https://你的render域名/admin
步骤 6:验证“确实已持久化”
- 进管理后台做一条可见修改(放一些sso,或者改个密码)
- 在 Render 手动重启服务,或者等15分钟自动会关机的
- 再次进入后台,确认数据还在
在最后分享一些才注册全新的sso,放入项目中就可以使用了
点我展开:sso
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiMDA3MTIwMDItYTg5Mi00YmJkLWI1MTQtMGE5MTVhNjlmYjZmIn0.eBOII-7fx3JSd2mhCPd02Q7NgNMGzDKty0yDIAPhveg
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiMTA2NTE2NzktZWQ0NS00ZjI0LTkwNTUtN2UzNjdhNzZlY2JhIn0.5_05cDyhB_dbUgjq-wX0rq3mfXLwaaxtG_YfhMQJwj8
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiMTlhZTk1ZDItMzA5OC00OGFjLThjNjEtN2I1NjFhOTUzMTc4In0.fKKvDaTcePth3wCAJsgoDxFTf4swZQURJQKHYnow90A
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiMWM5YTg1MGItMDA2Yi00MzIwLWE2NjctODUyMjEwMzllNmYyIn0.y_2_BhmPlL49v1fVwKzPInUaac1tYjN2D3jCYiMiXkc
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiMWQ0ZDEzYzUtZGM3Mi00ZTgwLTgyMDYtNGU5YTU3NmUwYTFlIn0.sm-3Tg7wNTDF64DSgrSHiyR3hSwbTo0yLplaowgNHIY
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiMjBjOTA4MTYtNWM4NC00MjE2LWE1OGQtMDUyNGIxZDc3OGMxIn0.WbsTz6gO8UuHUwGGlymmFYbmUfRr8YA6aK9_Lhiwa-k
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiMjExN2NjOGYtNTZmZC00OTA0LTk3NzktMDlkYjA2ODc4YmRjIn0.FBWUXweWUZehdjxTC5V69rruy00LXuPNuPJYqSnVtqM
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiMzAxNmU3OWQtMWEzMC00MDRmLTlhNDItNDViYmVlNDI1MTRmIn0.alLBua18OCsCTyGkyJts_e21L1HqRUQxxQpHxNtq3vs
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiMzM3MzRiMGItZTBkNi00YWE0LTlkNjYtYzllZTRlMGIyZWJkIn0.1uSqU_UpkTa7k8tuK0FTE8jHieZRnSoSEYUUbvfgk1U
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiMzNlNGFmYzEtNDhhZS00OTUyLWExZjAtMGY4YjIwOGYyZmY1In0.nZW5xbtNufEiNmOw4p9yc3nRlLqE18Yy5gA1OkKxx58
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiMzRmNGExMTYtNjBjYi00ZTdmLThjODQtZGFiMDBiYjVlOGMwIn0.rN82__c5UsmOj-nq85Dq_Av5m-eKo-eEAB_sxFUyZAI
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiMzY0MDViYzQtMDA3NC00ZWI5LWExYWItYzFkOGM3MTA5NTU5In0.7Ki11l26uzZCUNvPuFXt_estItBYgj6XScuSjrvkKGw
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiMzgwYWU0MjAtYzRiOC00MTY4LThlNzgtYmNmNzhiNjI2YWI3In0.Sas-tpPebdipy4cgwCINHwp_5_O_KuyxihWGzVnQlow
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiMzllYjJiNGMtMGU5NC00ZDgyLTk4MTktNzIzOTZlNmYxODU1In0.eEOtEYp45ru0eOjMcwXcXa0f_fKnNAqtEVrfK_Qs7lY
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiN2VkZDI0MTEtOGViMy00MGJiLTgzZTQtY2E2NThjODcwOTgxIn0.pUpA6nrjjMYrBo3VoxilAdOGkUCDh3r_H3tNo_Wqhto
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiN2YxOTEzNDctMDZhZS00MmEwLTgxYzctZDI1MDI1ODRkNzM5In0.RSrizTv1EPxrp8ZUPDHQ3Mt2GQmH901MZCPJ8sOWs_A
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiNDk4NjljMjEtYTgyMy00ZDI5LWJjY2ItMjlhNGQ5YjBhYmU5In0.t1nlJxCzE1rfRMhPCgSEtigjsEkPXBcFBuMM_KFtYLA
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiNDlhMjBmMDctYjM2MC00MWQ2LWEyNDMtMzcxMTQzZGVhMjhhIn0.M09WqKmmcNMHmsBgoabIfvyca1SYKdzyWmOxr0Vx7mc
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiNTBhN2UwNDItNmY3My00YjRjLWIwYjQtOTJiYjU1M2I4M2JmIn0.1Wm23701h2BQbzPkzFW61CXr3W0Kb8gAYhZMrif7jTo
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiNTI0OGE5MjktZDBkMS00ZmQ5LWJmMGQtMzIyODdmZmVkZDRlIn0.6fIdBX6xW95_PiDnqYmq_Oybma2EITnhaGO9VxwcP70
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiNmQ0ZTk5YTEtODViNy00Y2Q2LWJhY2ItNGE2MzU4MTdiM2I4In0.7A9fKlsLtpTuLKN-pgJw3Cl-K59szIGotJFgOBwJSTY
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiNzBlNzQ2ZjEtOGI3NS00ZjYxLWE2ZTgtZDI5OWEwM2YyZDcyIn0.MtHS3khz6hKFhCWot7QXkpxvL9tRua56mxxFj1tqYCM
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiNzVmNzFkZDAtZjYwYy00NzMzLTkxMDYtN2IzOTdlMzQ2ZDQ4In0.zbKr-6k6foJUEpYTbOAAHfim9GnXZXDBstoREN8yqXI
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiODNhMjM1NDUtZGE1NC00NDM1LTg4NmYtNjU3NmY4ZjQ4YWQxIn0.XHmI8EA1tRZkIwGMSzdyldpqPU5b9AeWtectIle89PE
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiOGRlYmIwMmEtYzMzYi00NGE5LTgzNDItMDg1YWFjMDU1NGQxIn0.nVskjO7fjsVearjahRM-7qzvRr9o6ILke9dXcv_3nig
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiOTI4MDE3YWYtOTEzNi00YmFlLTgwOTMtOTc4NzMyZmIwZDg2In0.hIe64m-IaNCC_Vb-AComGwRRV12zB7Hy8Ln7sfykHhA
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiOTNiMTJhYWYtYmQ0OC00ZjRjLTg0ODQtMmUwYzY2MWY3NzE1In0._xqcOV-YxADGEYyvyOx3zYJmiK2J7vSYhqmR99VPsI4
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiOTRhODI1MDgtMDQ4MC00MDU5LWJjMWItZmViMWNjYTY1YjI1In0.pkblbbMwKVrLMdbKLRpD657yKNmxczdux0peU7I9YoY
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiOWIxOWNlNDMtMTAxMS00Njc2LTg1ZGMtODQ2NWQxYWYyZTJkIn0.cBnqU64hgGKHl90l16_5axp39ESGGmszN1PJACeMheY
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiY2IzYjQzMDMtNWZjNS00YjI4LTgxZDAtZWNhMGE4ZWU1NzhkIn0.1hqs-eRKV1IaWKQ0vB7PClpxqSUdiZjMgsWaYUvCSbE
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiY2NmZGM3YTktYTNiNS00ZDQ5LWFmMzEtYTc2ZjQ1N2FjNDAxIn0.dmyg5yWK8OLkm9BmJtQxf4eFMDlPX2JC-GzfQCY6WGA
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiY2Y1ZTA4ZmYtNTM1Ny00M2YyLTk5YzctYWVhY2U0YmExMGNjIn0.KKuSChaxs5yjIMvG0XF2OYcYjj6gkQLBL4E6pkKBW2I
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiYTI1Y2I5YjktYzM5OS00ZGU1LWE2OWMtZjQyMTAyNzg2MDg1In0.EVeKOpKmkPwUWoSZc4WQPcSVoMeyhGUl40FoEjkBc-U
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiYWU4MTI0ZmYtZDA0MC00YjY1LTkwYzMtOTkyYWY2M2ExMjk5In0.KF_R2PpOyS57y5pirfCrd9nRBVLdqr04EsX5gUzDa90
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiYjYwOWNkY2MtMTA1OS00ZDQ1LWE4MWEtZGNhN2Q3MzkxNWM1In0.piibFojKOA8JaLwxwngbUMOsztWwH_Q-wFYmEcZF9d0
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiYmFlM2MxYzAtMzI5MC00ZTFhLThjMjgtNmJjZTg5MmE4Y2UyIn0.CFad4OYh447SqzUrMjOywOZDnL00tTFaMSN3XTnMSpA
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiYmI0MWYwMDYtODI4Ny00MTkxLWE1NDMtNmQyYmU3OTAyMTAxIn0.iISMbVojLj4k08FHoBT9dLN_ojV70LPO8-NMxqOpiSo
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiYzcwZTkzM2MtYTU5My00NGJjLWIyOTQtNzNmODc4ZWVhYjI3In0.5fWcvsHwUuGQF1Lzzm_nmhVgBK3OxygrV1g-Eq–tN0
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiZDc0NGIxN2ItNWFhYi00OTc2LThiMWQtODA5ZjU2YTcwMGY3In0.MuzMmXTZNt4v0Zsv5jF-G-oHZDBdL2LuYxKOvbqBXzE
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiZDg2M2I2N2UtYjZjYy00MzNmLWJmYzUtMGFmZmQ3YTdlNDcwIn0.2c8CotiVW65yE_zsVTSas6JTw7kGY0jCosFvdvCNEDk
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiZDk3NjQyNWItNjAxMi00ODNiLTkxMjYtOWMxNWY4N2QyYTNkIn0.Z7q88MQoHGZWZyImETIJprDIMBBAQmZA-s6ddAhWD5k
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiZTEyZGFhYmYtZDg1YS00NmQ3LTliOTUtMDU0YWMxOGQ0N2M0In0.vPFO3FA-xfh_G1ks6uH-CdZ68wg99Pzj2_TLIizmKYo
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiZTFhYjMyMmQtZDhkYi00MTYwLWIxYWQtYmU2ZDM4OTFhZjY1In0.K63lvcczn6PhOAYRERWmHD4eECigb_cba614qQWYohw
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiZTZiM2YzMzAtZGZlMC00NjBhLWFiMjYtMmQyOTczNzFlMTcxIn0.xSTjNVCDF7_wZZPBN02nLSGvEHxpAZQ2Z_Il4-_oUck
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiZTcxN2QzZTQtOTEzMi00NDg2LTg0NDAtMGU1NmRkYjAyZjE4In0.eB0qIiOL_XRkXxyXvkOqkME2ndlXBibkupQBtYf2Z1s
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiZWE0NzZmYWMtOTRmNC00YjEzLWEwYzktNTI0ZDE0ZDQ4M2UzIn0.eh9HFSaOdIcvoJxq1TU73usrMRqI6bg_Obmq4obtHxU
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiZjA4Yzk2NTMtMTY0OS00MjFmLWE4YWYtMzYwYzYwMWU2ZDA4In0.O7ndbos6X-AmaA111ZlLhucuR2yaE5uUsNnMsRXgN3M
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiZjM3Y2JiZjItZTUwYy00NTQxLWI0YWQtNjQxMTM4ZGQzNmQ1In0.8kfUt0ZCu3UlGlx9UPdFL1U7AGOVGp9x4iA6VHn6N0M
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiZmUxNjZkMGQtNDc4Mi00MzM0LThiYmQtNDdmZWRlOWExMzhkIn0.ZSzdUDA1LzbL-CmtSi4sRLgCsL18HWaAkhD3K4BU46g
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZXNzaW9uX2lkIjoiZmY3OWRkZmQtM2FiNC00NTk5LTk5NTYtNjc3Y2E0YzNhMTQ0In0.EpOxfwYVhk4qd3rtffeYK1WF1P6_cFdyPSJSkl9FWfg
写在最后最重要的话:
都看到这里了,还不点个赞!
网友解答:--【壹】--:
给你点个赞
--【贰】--:
感谢教程
--【叁】--:
感谢大佬手把手教会,已经部署了
--【肆】--:
好像不行,我之前测试,过一段时间会失效
--【伍】--:
学习了 感谢佬
--【陆】--: 狂奔的青蛙:
取名按顺序点就行
佬,我到这一步需要绑定银行卡,这个咋办呀
--【柒】--:
作者好像改进了项目,不用加异步部署成功,加了反而报错
--【捌】--:
如果一定时间内没有render的访问,以及数据库的访问,就会释放,所以为啥我推荐cronjobs
--【玖】--:
教程非常详细,谢谢分享
--【拾】--:
收藏了,最近一直在搞,希望能从佬友的帖子学到真东西
--【拾壹】--:
感谢教程分享
--【拾贰】--:
我发现也不行
--【拾叁】--:
马住,回头试试。
今天vercel搭了但是持久化没成功
--【拾肆】--:
推荐cron-job.org Console
--【拾伍】--:
啊?我没遇到
--【拾陆】--:
image299×155 1.16 KB
对于grok2api这个项目,cron-job是保活不了的,不是rener的原因,大概率是grok这边的原因,我之前搭建的其他项目是可以保活的。截图是我最后一次测试,之前最多可以保活一天,后面保活时间越来越短
--【拾柒】--:
必须谷歌登录,必须节点纯净。这样跳过绑卡
--【拾捌】--:
请问为什么进入后台无法修改任何东西,会报错加载失败http500
--【拾玖】--:
感谢大佬教程

