在cloudflare免费部署electerm同步服务

官方仓库的教程可能因为时间比较久,缺少一些步骤,经过多次尝试,总算是同步成功了,把踩过的坑写一下,方便大家使用。

环境准备

  1. Node.js:仓库写的是v20 or later,但是使用wrangler至少需要v20.20,因为我的v20.15安装失败,提示我升级nodejs,但是我忘了看什么版本了,应该是20.20,反正我是直接切换到了22.15.0
  2. cloudflare账户开通d1数据库和workers,都是免费的,开通就行,不用创建数据库,数据库使用wrangler远程创建
  3. git

部署

在本地找个文件夹,右键打开git bash进行以下操作

  1. fork一下,然后克隆自己的仓库,或者直接克隆官方仓库:github.com/electerm/el...

    shell 复制代码
    git clone https://github.com/your-username/electerm-sync-cloudflare.git

    拉取不下来的话用ssh克隆,记得配好公钥

  2. 进入仓库,安装依赖

    shell 复制代码
    cd electerm-sync-cloudflare
    npm install
    npm i -g wrangler
  3. 登录wrangler

    shell 复制代码
    wrangler login

    这时候会跳到浏览器,授权登录,登录完成命令行里会有success的输出

  4. 创建数据库

    shell 复制代码
    wrangler d1 create electerm_sync_db

    这里会输出数据库id,记一下

    然后会有以下提示,按照我的输入填即可

  5. 修改wrangler.jsonc为以下样式(d1_databases里会有两个数据库,删除原本的那个,留下database_id为你自己的数据库id的那条)

    json 复制代码
    {
    	"name": "electerm-sync-cloudflare",
    	"main": "src/index.ts",
    	"compatibility_date": "2023-05-18",
    	// Configure D1 Database
    	"d1_databases": [
    		{
    			"binding": "electerm_sync_db",
    			"database_name": "electerm_sync_db",
    			"database_id": "xxxxxxxxxxxxxxxxxxxxx",
    			"remote": true
    		}
    	]
    }
  6. 让远程数据库执行sql文件

    shell 复制代码
    wrangler d1 execute electerm_sync_db --file=./bin/schema.sql --remote
  7. 部署

    shell 复制代码
    npm run deploy

    这会自动创建workers

  8. 到cloudflare的workers添加两个变量,JWT_SECRET和JWT_USERS

    JWT_USERS就是用户名,比如zhangsan,lisi,这样就是两个用户,一个zhangsan,一个lisi

    JWT_SECRET的类型要选择密钥,找个在线生成jwt密钥的网站生成一个256的即可,比如免费JWT密钥生成器 | 安全的HS256、HS384、HS512密钥在线生成

  9. 绑定域名

    在域和路由里点击添加,选择自定义域,绑定个二级域名即可,比如backup.abc.com,前提是abc.com在你的cloudflare域里面

使用

  1. 打开electerm,找到设置同步➡️custom

    • API Url填写你绑定的域名加上接口路径

      backup.abc.com/api/sync

    • JWT Secret填写生成的密钥

    • User ID填写其中一个用户名,例如zhangsan

    • 密码填写你设置的密码

      如果这个账号之前没有使用过,那么这次填写的密码就是相当于设置密码

  2. 点击上传设置,这里有同步时间就说明成功了

相关推荐
zhangxingchao17 小时前
多 Agent 架构到底怎么选?从 Claude Agent Teams、Cognition/Devin 到工程落地原则
前端·人工智能·后端
IT_陈寒17 小时前
SpringBoot那个自动配置的坑,害我排查到凌晨三点
前端·人工智能·后端
ServBay17 小时前
OpenCode 和它的7款必备插件
后端·github·ai编程
ping某17 小时前
逐字节拆解 tcpdump
后端
阿凡98073017 小时前
花 100 dollar,用 Claude 打通 EasyEDA&Fusion 双向同步
后端·程序员
irving同学4623818 小时前
从零搭建生产级 RAG:Embedding、Chunking、Hybrid Search 与 Reranker
前端·后端
她的男孩18 小时前
从零搭一个企业后台,为什么我把能力拆成 Starter 和 Plugin
java·后端·架构
胡志辉18 小时前
本地 AI 编码助手从 0 配起来:先选模型,再接 Ollama、VS Code、Claude Code 和 Codex
前端·后端
RainCity18 小时前
Java Swing 自定义组件库分享(七)
java·笔记·后端
啷里格啷18 小时前
第二章 Fast-DDS 整体架构与分层框架
后端·架构