安装网页书签收藏夹Shiori

news/2024/11/15 5:58:07/

  • 本文完成于 7 月初,最近工作比较忙,只能发发存稿;
  • 到本文发表为止,Shiori 的正式版依然还是 v1.5.3

什么是 Shiori ?

Shiori 是一款用 Go 语言编写的简单书签管理器,旨在作为 Pocket 的简单克隆。您可以将其用作命令行应用程序或 web 应用程序,支持浏览器扩展,但没有手机客户端。

Shiori 是一款比较 的程序,但是一直还在更新中,其兼具了书签和稍后阅读的功能。

之所以想起写 Shiori 是打算帮朋友看个问题,哪知道安装中遇到了一些坑,顺便就记录了一下,防止遗忘,使用的版本为 v1.5.3

建数据库

Shiori 支持带 SQLite3MySQLPostgreSQL 数据库,既然是群晖所以就选择系统自带的 MariaDB 10

phpMyAdmin 中创建了名为 shiori 的空数据库。

这里假定数据库密码也设为了 shiori

往常应该到这就结束了,容器在启动时应该会自己创建表和导入数据,进行数据的迁移,但是Shiori 并没有。直接安装后,在登录时会显示了下面的错误

老苏尝试过使用 SQLite 也遇到同样的问题

failed to fetch accounts: Error 1146: Table 'shiori.account' doesn't exist (500)

从报错看应该是没有创建相应的表,在 phpMyAdmin 看也确实没有表

查阅后发现官方在 v1.5.3Breaking changes 中做了说明

方法一

手动导入 SQL 脚本,在 https://github.com/go-shiori/shiori/tree/master/internal/database/migrations/mysql 可以找到 MySQL 对应的数据库脚本

你可以下载之后再在 phpMyAdmin 中导入,也可以直接复制

phpMyAdmin 中依次执行 SQL

4 个脚本全部完成后会有 4 张表

方法二

是在容器启动之后,再执行下面的命令,完成数据库迁移

docker exec -it shiori shiori migrate

相比而言,方法二适用范围更广,是官方提供的方法;方法一就显得比较笨拙了,这是老苏在看到官方说明前使用的方法;

命令行安装

在群晖上以 Docker 方式安装。

dockerhub 上的镜像已经超过了 2

并不是官方没有发布最新的镜像,而是发布到了 ghcr.io,从版本看,目前最新的版本是 v1.5.3

SSH 客户端登录到群晖后,依次执行下面的命令

# 新建文件夹 shiori 
mkdir -p /volume2/docker/shiori# 进入 shiori 目录
cd /volume2/docker/shiori# 拉取镜像
docker pull ghcr.io/go-shiori/shiori

如果没有科学上网,很可能会拉不动,可以试试 docker 代理网站:https://dockerproxy.com/,但是会多几个步骤

# 如果拉不动的话加个代理
docker pull ghcr.dockerproxy.com/go-shiori/shiori# 重命名镜像(如果是通过代理下载的)
docker tag ghcr.dockerproxy.com/go-shiori/shiori:latest ghcr.io/go-shiori/shiori:latest# 删除代理镜像(如果是通过代理下载的)
docker rmi ghcr.dockerproxy.com/go-shiori/shiori

现在可以开始运行了

# 运行容器
docker run -d \--restart unless-stopped \--name shiori \-p 7388:8080 \-e SHIORI_DBMS='mysql' \-e SHIORI_MYSQL_NAME='shiori' \-e SHIORI_MYSQL_USER='shiori' \-e SHIORI_MYSQL_PASS='shiori' \-e SHIORI_MYSQL_ADDRESS='tcp(192.168.0.197:3307)' \ghcr.io/go-shiori/shiori

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'services:shiori:image: ghcr.io/go-shiori/shioricontainer_name: shiorirestart: unless-stoppedports:- "7388:8080"environment:- SHIORI_DBMS=mysql- SHIORI_MYSQL_NAME=shiori- SHIORI_MYSQL_USER=shiori- SHIORI_MYSQL_PASS=shiori- SHIORI_MYSQL_ADDRESS=tcp(192.168.0.197:3307)

然后执行下面的命令

# 新建文件夹 shiori 和 子目录
mkdir -p /volume2/docker/shiori# 进入 shiori 目录
cd /volume2/docker/shiori# 拉取镜像
docker pull ghcr.io/go-shiori/shiori# 如果拉不动的话加个代理
docker pull ghcr.dockerproxy.com/go-shiori/shiori# 重命名镜像(如果是通过代理下载的)
docker tag ghcr.dockerproxy.com/go-shiori/shiori:latest ghcr.io/go-shiori/shiori:latest# 删除代理镜像(如果是通过代理下载的)
docker rmi ghcr.dockerproxy.com/go-shiori/shiori# 将 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:7388 就能看到登录界面

初始管理员用户名和密码为 shiorigopher

登录成功后

可以创建新的账号

初始账号在数据库中是查不到的,插件登录只能用新建账号

插件

目前支持 Chromefirefox 插件, Chrome 插件可以在 https://github.com/go-shiori/shiori-web-ext 下载,然后在 Chrome 的扩展程序页面打开「开发者模式」把下载的文件拖进去即可。

设置服务器地址、账号、密码就可以开始使用了

只要出现 Active session 就算登录成功了

收藏的时候有时候会报错

没有去深究,可能还有隐藏的问题

实际上已经成功了

Shiori 的使用教程非常多,老苏就不打算再写使用篇了

参考文档

go-shiori/shiori: Simple bookmark manager built with Go
地址:https://github.com/go-shiori/shiori

Package shiori
地址:https://github.com/go-shiori/shiori/pkgs/container/shiori

Docker Proxy 镜像加速
地址:https://dockerproxy.com/

shiori/Usage.md at master · go-shiori/shiori
地址:https://github.com/go-shiori/shiori/blob/master/docs/Usage.md


http://www.ppmy.cn/news/828883.html

相关文章

Chrome如何搜索历史收藏的书签

一、背景说明 以Chrome浏览器为例,可能大家在网上查找资料的时候,遇到好的博客或者资料,会将网页保存到书签,进行分门别类。 如果在只记得部分标题的情况下,需要查找以前曾经搜藏过的书签,该如何搜索呢&a…

【工具】收藏夹在谷歌和Edge浏览器中间的导出和导入

目录 1、简介 2、谷歌浏览器收藏夹导入Edge浏览器中 3、参考 1、简介 因为有一台新的笔记本,需要将PC电脑的收藏夹导入到新笔记本上,因为是不同的浏览器,于是研究下如何导入,发现so easy 2、谷歌浏览器收藏夹导入Edge浏览器中…

【目标检测】基于yolov5的道路坑洼检测(附代码和数据集)

写在前面: 首先感谢兄弟们的订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。 路虽远,行则将至;事虽难,做则必成。只要有愚公移山的志气、滴水穿石的毅力,脚踏实地,埋头苦干,积跬步以至千里,就…

Kotlin~Composite组合模式

概念 能够帮助实现树状结构的模式。 主要特点 递归组合树状结构统一处理所有对象 角色介绍 Component: 组合接口Leaf: 叶子节点,无子节点Composite:枝节点,用来存储子部件 UML 代码实现 interface Organ {fun personCount():Int } cla…

PX4 imu传感器配置

PX4 传感器配置 ##坐标系定义 旋转变化 reference 在机器人中各个坐标系之间的变换是非常常见的,而在ROS tf 工具中,以及Eigen 中 我们常常会见到RPY的旋转表示和四元数的旋转表示。当然学航空出生的我们可能更常见的是Euler描述。那么这三者的关系…

js驼峰与下划线转换

1、驼峰转下划线 function camelToUnderline(str) {return str.replace(/([A-Z])/g,"_$1").toLowerCase();}2、下划线转驼峰 function underlineToCamel(str) {return str.replace(/\_(\w)/g, (all,letter)>letter.toUpperCase())}

1 Ubuntu20.04安装D435i相机驱动

文章目录 1 D435i相机简介2 相机驱动的安装2.1 安装IntelRealSense SDK2.02.2 realsense-ros的安装 1 D435i相机简介 D435i相机是一个双目视觉深度相机,内部集成了IMU,支持在不同的操作系统使用,有开源的驱动包IntelRealsense SDK2.0. 相机通…

RK3588s imx415相机适配及ISP调优系列(二)--- mipi相机适配

上篇简单介绍了下最终效果,本篇开始将详细介绍相机适配、图像调优过程。 RK3588s imx415相机适配及ISP调优系列(一) 目录 1、RK3588S硬件配置及性能介绍1) MIPI CSI2) Vicap3) ISP 2、链接关系3、dtsi详细配置4、出图测试 1、RK3588S硬件配置…