开源的书签服务Cherry
什么是 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/cherrycontainer_name: cherryrestart: unless-stoppedports:- 5150:8000volumes:- ./data:/dataenvironment: - 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/cherry
Cherry
地址:https://cherry.haishan.me/
Intro | Cherry
地址:https://cherry.haishan.me/docs/intro
开源的书签服务Cherry相关推荐
- 开源Api后台服务/管理系统 HoServer
开源Api后台服务/管理系统 HoServer 简介 功能特性 HoServer Pro 特性 :gem: 支持 开源版使用须知 快速开始 系统功能截图 简介 HoServer 是基于Node.js开 ...
- java开源即时通讯软件服务端openfire源码构建
java开源即时通讯软件服务端openfire源码构建 本文使用最新的openfire主干代码为例,讲解了如何搭建一个openfire开源开发环境,正在实现自己写java聊天软件: 编译环境搭建 调试 ...
- 简单的书签服务LinkDing
今天是上海全域静态管理的第 29 天. 周三抗原,周四老苏刚做完核酸,居委突然通知后面的不做了,大家一阵慌乱,结果后来又通知继续,这是要闹哪样?据说是怕系统崩溃.周五终于休息了. 根据居委会的通告,周 ...
- 从0到1介绍一下开源大数据服务平台dataService
1.背景&现状 在大数据领域也已经工作了多年,无论所待过的大公司还是小公司,统计出来的数据经常需要查询展示,比如说:用做大屏或者报表或者给一些线上服务提供数据源,经常会要用代码写一套接口服务, ...
- 软件成分分析:华为云重磅发布开源软件治理服务
摘要:软件成分分析,指通过对软件源码.二进制软件包等的静态分析,挖掘其所存在的开源合规.已知漏洞等安全合规风险,是一种业界常见的安全测试手段. 本文分享自华为云社区<华为云重磅发布开源软件治理服 ...
- VS Code 扩展 WebTS 早期预览版发布;微软开源其搜索服务的 SPTAG 算法
(给技术最前线加星标,每天看技术热点) 转自:开源中国.solidot.cnBeta.腾讯科技.快科技等 [技术资讯] 0.VS Code 扩展 WebTS 早期预览版发布:帮助创建新 Web 应用 ...
- 日调用量超三十万亿,腾讯开源百万级服务发现和治理中心北极星
目前很多企业在微服务实施和演化过程中,都会面临技术栈的多样性问题.整个微服务领域逐渐沉淀出了无数个相关组件,大家在选择上更加困难,也为企业的基础设施建设不断带来挑战.腾讯也曾面临这样的痛点,因此从 2 ...
- 开源企业级数字化服务平台——Choerodon猪齿鱼发布0.8版本
Choerodon猪齿鱼是一个开源企业服务平台,是基于Kubernetes的容器编排和管理能力,整合DevOps工具链.微服务和移动应用框架,来帮助企业实现敏捷化的应用交付和自动化的运营管理的开源平台 ...
- microdot - 一个开源 .NET 微服务框架。
简介 Microdot 是一个开源 .NET 框架,可满足轻松创建微服务的许多需求. 它的一些主要特点 •用于托管微服务的服务容器•服务间 RPC,便于基于接口的服务通信•服务之间的客户端透明响应缓存 ...
- 一文学搞懂阿里开源的微服务新贵Nacos!
正式开始之前我们先来了解一下什么是 Nacos? Nacos 是阿里的一个开源产品,它是针对微服务架构中的 「服务发现」.「配置管理」.「服务治理」的综合性解决方案. 官网给出的回答: " ...
最新文章
- CSS3选择器 :read-only选择器 CSS3选择器 :read-write选择器
- 互信息的数学解释以及matlab编程
- 数学家眼里的相同与不同
- 项目运行报'vue-cli-service' 不是内部或外部命令,也不是可运行的程序 或批处理文件“
- 国盾量子等参与中国量子通信行业首批标准编制 量子通信商用再加速
- mysql空间是什么格式_MySQL数据类型 - 空间数据类型 (6)
- yue-library是一个基于SpringBoot封装的基础库
- 11款免费而强大的PCB设计软件 还用什么AD PADS?
- 横向合计代码 锐浪报表_[原创]锐浪报表动态加入列和最后加入合计列+进度条显示...
- Prophet文档中文翻译--outliers
- 数字后端——信号完整性分析
- 怎么讲计算机e盘设置共享,共享盘怎么设置(电脑如何设置共享盘)
- hadoop环境新手安装教程
- c语言程序设计拉丁方阵结构图,C语言实例:拉丁方阵
- CF 770 B(奇偶性), C(规律)
- 《现代软件工程--构建之法》第一章整理
- Servlet 原来是这个玩意儿,看完恍然大悟 ~
- Linux中使用rz命令和sz命令传输文件
- [J2SE]java电子词典LocalDictionary多功能版
- 阿萨德阿斯顿的的点点滴滴
热门文章
- 屏幕小于6英寸的手机_2019小屏手机有哪些 8款6英寸以下小屏全面屏手机推荐 (全文)...
- Spider学习笔记
- BZOJ2827 : 千山鸟飞绝
- c语言stract函数是什么,您好,这个函数该怎么办,是关于C语言strcat函数?
- Kubernetes 学习笔记(一)--- 基本概念及利用kubeadm部署K8S
- Oracle:ORA-00054 资源正忙 -- 锁表的解决方法
- 【历史上的今天】4 月 3 日:亚马逊卖出第一本书;世界上第一通手机电话;IBM 计算机先驱出生
- java 倒计时_Java倒计时实现的三种简单方式
- 今日头条安卓_考察今日头条总部—字节跳动
- php读取路由器arp表,详解ARP地址解析协议的工作流程