预告
老苏在 7
月份收到了付费合集功能灰度测试的通知,一直想研究下怎么玩的,所以国庆期间准备了三篇👇
-
简单的豆瓣API接口(安装篇) -
简单的豆瓣API接口(TaleBook篇) -
简单的豆瓣API接口(Jellyfin篇)
预计在周四、周六、周日晚,分三次发布,一、三、五的正常发文不受影响
按照公众号的规则,每篇文章最小售价为 1
个微信豆,所以合集的售价为 3
个微信豆
老苏发现微信豆这玩意儿还有汇率差,iOS 1元=7微信豆,安卓 1元=10微信豆
😂,是因为苹果收了税吗?
为公平起见,这三篇文档不会在微信公众号之外的地方再进行发布。
什么是 Cherry ?
Cherry
是一个开源的自托管书签服务。采用SvelteKit
构建,并使用SQLite
进行数据存储。支持全文搜索,由SQLite fts5
提供支持。您可以从Chrome
、Firefox
、Safari
导出书签和CSV
文件导入书签。
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 haishanh
,目前还搜不到
但实际上是存在的
估计是
docker
服务器同步的问题,老苏发现新发布的镜像经常会遇到这种情况
映像
–> 新增
–> 从 URL 添加
,地址输入:haishanh/cherry
版本选 latest
卷
在 docker
文件夹中,创建一个新文件夹 cherry
,并在其中建一个子文件夹 data
文件夹 | 装载路径 | 说明 |
---|---|---|
docker/cherry/data |
/data |
存放 SQLite 数据库 |
端口
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 | 容器端口 |
---|---|
5150 |
8000 |
环境
可变 | 值 |
---|---|
JWT_SECRET |
加密因子 |
ENABLE_PUBLIC_REGISTRATION |
是否启用注册,默认为 0 |
USE_INSECURE_COOKIE |
设置 1 为暂时禁用 Secure cookie |
-
JWT_SECRET
(必需的):此字符串将用于签署用户的PAT
(个人访问令牌)。PAT
采用JWT
(JSON Web Token
)格式,用于验证和识别Cherry
用户。您应该将JWT_SECRET
保密,以防止他人伪造令牌。 -
老苏一般用 Bitwarden
的密码生成器来生成; -
也可以用 openssl rand -hex 位数
来生成;
-
ENABLE_PUBLIC_REGISTRATION
:此值确定是否从外部(您的Cherry Docker
容器实例)启用注册。将其设置1
为启用注册。默认情况下,或使用其他值,注册被禁用。您很可能希望在全新部署后启用注册,并在创建用户后立即禁用它。 -
老苏不建议启用,如果要建用户,可以用 API
接口直接创建; -
USE_INSECURE_COOKIE
:默认情况下,Cherry
使用仅适用于HTTPS
的Secure cookie
。但是,如果您想尝试在本地主机上运行Cherry
,您可以将此环境变量设置1
为暂时禁用Secure cookie
,否则您可能无法登录。 -
按官方的说法,在局域网用 IP
访问需要将其设为1
,但是实际上在Chrome
和Safari
浏览器上测试都没成功,原因不明,只能反代后用https
协议访问才能登陆,所以这项可以不要设置
命令行安装
如果你熟悉命令行,可能用 docker cli
更快捷
# 新建文件夹 cherry 和 子目录
mkdir -p /volume2/docker/cherry/data
# 进入 cherry 目录
cd /volume2/docker/cherry
# 运行容器
docker run -d
--restart unless-stopped
--name cherry
-p 5150:8000
-v $(pwd)/data:/data
-e JWT_SECRET=some-secret-string
haishanh/cherry
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
version: '3'
services:
cherry:
image: haishanh/cherry
container_name: cherry
restart: unless-stopped
ports:
- 5150:8000
volumes:
- ./data:/data
environment:
- JWT_SECRET=some-some-secret-string
然后执行下面的命令
# 新建文件夹 cherry 和 子目录
mkdir -p /volume2/docker/cherry/data
# 进入 cherry 目录
cd /volume2/docker/cherry
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
准备工作
接下来我们要添加用户,并准备 https
的运行环境
用户操作
# 创建用户
docker exec cherry cherry create-user <email> <password>
# 更新现有用户密码
docker exec cherry cherry update-user-password <email> <newPassword>
# 删除用户
docker exec cherry cherry delete-user <id> <email>
老苏给自己建了一个账号
# 邮件:wbsu2003@hotmail.com
# 密码:123456
docker exec cherry cherry create-user wbsu2003@hotmail.com 123456
如果你是在『终端机』里操作,只要输入
# 邮件:wbsu2003@gmail.com
# 密码:123456
cherry create-user wbsu2003@gmail.com 123456
反向代理
老苏在环境变量里设置了 USE_INSECURE_COOKIE
为 1
,但是在使用 http://群晖IP:5150
访问时,浏览器调试工具中会看到返回下面信息,表现症状为一直卡在登录界面
window.__sveltekit_data = {type:"redirect",location:"u002Fsignin"}
所以只能通过反代实现 https
协议访问
没问题的话,SSL
就全勾了
运行
在浏览器中输入 https://cherry.laosu.ml:444
就能看到主界面
如果没有在环境变量中启用外部注册,即便
https://cherry.laosu.ml:444/signup
看到注册页面,也是不能注册的
登录成功
Setting
–> Import
可以导入浏览器导出的书签
将 Chrome
中导出的书签文件 bookmarks_2022_10_9.html
拖进来,点下面的 Import
按钮开始导入
等导入完成即可
浏览器插件
支持 Chrome
和 Firefox
以 Chrome
为例,首先需要 Add Server
填入服务器地址,有端口也要带上
回到 Cherry
主界面,右上角 Settings
–> Account
–> Personal Access Token
,直接点后面的复制按钮
在你需要添加书签的页面上点 Cherry
插件按钮
点 Edit
可以添加 Tags
和 选择 Group
参考文档
haishanh/cherry: Cherry is a self-hostable bookmark service
地址:https://github.com/haishanh/cherryCherry
地址:https://cherry.haishan.me/Intro | Cherry
地址:https://cherry.haishan.me/docs/intro
@所有人:写文不易,如果你都看到了这里,请点个赞
和在看
,分享给更多的朋友;为确保你能收到每一篇文章,请主页右上角设置星标。
原文始发于微信公众号(各种折腾):开源的书签服务Cherry
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/55743.html