支持存档的书签服务LinkWarden

在这里插入图片描述

什么是 LinkWarden ?

Linkwarden 是一个自托管、开源协作书签管理器,用于收集、组织和存档网页。目标是将您在网络上找到的有用网页和文章组织到一个地方,并且由于有用的网页可能会消失(参见链接失效的必然性),Linkwarden 还将每个网页的副本保存为屏幕截图和 PDF,确保可访问性即使原始内容不再可用。

在这里插入图片描述

官方提供了试用站点:https://linkwarden.app

重要说明

本文完成于 8 月,当时官方提供了 Dockerfile ,但是没有现成的镜像,发文时老苏发现官方对 Dockerfile 文件做了比较大的调整 ,而且也在 ghcr.io 提供了镜像,连 logo 都做了变更。 😂

老苏建议大家用官方的镜像,请将下文中 docker-compose.yml 中的 wbsu2003/linkwarden 替换为 ghcr.io/linkwarden/linkwarden:latest,其他的都是一样的。

ghcr.io 镜像的下载,可以试试 docker 代理网站:https://dockerproxy.com/,可能是现在用的人太多,速度有时候会非常慢,下载失败也是常事,不行就多试几次吧。

构建镜像

如果你不想自己构建,可以跳过,直接阅读下一章节

官方提供了 Dockerfile,但没找到现成的镜像,所以需要自己编译

# playwright doesnt support debian image  
FROM ubuntu:focal  RUN apt-get update && apt-get install wget xz-utils -y  RUN mkdir /data  WORKDIR /data  RUN wget https://nodejs.org/dist/v20.5.0/node-v20.5.0-linux-x64.tar.xz -O nodejs.tar.xz \  && mkdir /opt/nodejs \  && tar -xf nodejs.tar.xz --strip-components 1 -C /opt/nodejs \  && rm nodejs.tar.xz  
ENV PATH="$PATH:/opt/nodejs/bin"  
RUN npm install -g yarn  COPY ./package.json ./yarn.lock ./playwright.config.ts ./  RUN yarn  
RUN npx playwright install-deps  COPY . .  RUN yarn prisma generate  
RUN yarn build  CMD yarn prisma migrate deploy && yarn start

构建镜像和容器运行的基本命令如下👇

# 下载代码
git clone https://github.com/linkwarden/linkwarden.git# 或者加个代理
git clone https://ghproxy.com/github.com/linkwarden/linkwarden.git# 进入目录  
cd linkwarden# 构建镜像
docker build -t wbsu2003/linkwarden:v1 .

老苏就修改了 nodejs 的版本,从 v20.5.0 改为了 v20.5.1 ,其他的未做任何改动

RUN wget https://nodejs.org/dist/v20.5.1/node-v20.5.1-linux-x64.tar.xz -O nodejs.tar.xz \  && mkdir /opt/nodejs \  && tar -xf nodejs.tar.xz --strip-components 1 -C /opt/nodejs \  && rm nodejs.tar.xz  

编译出来的镜像有点大,就这样吧

在这里插入图片描述

官方镜像是一样的

在这里插入图片描述

命令行安装

将下面的内容保存为 docker-compose.yml 文件

version: "3.5"services:postgres:image: postgres:14container_name: linkwarden-dbrestart: alwaysvolumes:- ./pgdata:/var/lib/postgresql/dataenvironment:- POSTGRES_USER=linkwarden- POSTGRES_PASSWORD=qP4oMQGewTi- POSTGRES_DB=linkwardenlinkwarden:image: wbsu2003/linkwardencontainer_name: linkwarden-webrestart: alwaysplatform: linux/x86_64ports:- 3035:3000volumes:- ./data:/data/dataenvironment:- DATABASE_URL=postgresql://linkwarden:qP4oMQGewTi@postgres:5432/linkwarden- NEXTAUTH_URL=http://192.168.0.197:3035- NEXTAUTH_SECRET=23NhmBsT7TzC6996XwLX9PjPNnAciPZVdepends_on:- postgres
  • postgres 环境变量
可变
POSTGRES_USER数据库用户,设为 linkwarden
POSTGRES_PASSWORD数据库密码,用 vaultwarden 生成
POSTGRES_DB数据库库名,设为 linkwarden
  • linkwarden 环境变量
可变
NEXTAUTH_URL站点地址
NEXTAUTH_SECRET随机字符串,可用vaultwarden 生成,或者用 openssl rand -base64 32 创建
DATABASE_URL数据库访问地址,格式如下👇:
postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@数据库主机地址:5432/${POSTGRES_DB}

更多的环境变量,请参考 .env.sample 文件:https://github.com/linkwarden/linkwarden/blob/main/.env.sample

然后执行下面的命令

# 新建文件夹 linkwarden 和 子目录
mkdir -p /volume1/docker/linkwarden/{data,pgdata}# 进入 linkwarden 目录
cd /volume1/docker/linkwarden# 将 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d

运行

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

在这里插入图片描述

第一次需要注册

密码不能少于 8 个字符

在这里插入图片描述

登录成功后的主界面

在这里插入图片描述

Collections 是分类,可以设置为共享或者协作

在这里插入图片描述

有了分类就可以添加 Link

在这里插入图片描述

Link 属性除了 Collection ,还支持 Tags,查询起来会比较快

在这里插入图片描述

新增一个 link

在这里插入图片描述

可用固定在主页

在这里插入图片描述

可用截屏或者导出 pdf

在这里插入图片描述

效果还行

在这里插入图片描述

最后来一张官方的效果图

在这里插入图片描述

参考文献

Daniel31x13/link-warden: A self-hosted bookmark + archive manager to store your useful links.
地址:https://github.com/Daniel31x13/link-warden

Linkwarden
地址:https://linkwarden.app/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/164251.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于单片机的甲醛检测器设计

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式 文章目录 概要 一、设计的主要内容二、系统硬件设计三、软件设计4.1 程序结构流程图原理图 四、结论五、 文章目录 概要 本文将要提…

把wpf的窗体保存为png图片

昨晚在stack overflow刷问题时看到有这个问题,今天早上刚好来尝试学习一下 stack overflow的链接如下: c# - How to render a WPF UserControl to a bitmap without creating a window - Stack Overflow 测试步骤如下: 1 新建.net frame…

【达梦数据库】学习笔记

【达梦数据库】学习笔记 【一】如何使用idea连接达梦数据库【二】idea项目导入本地的达梦数据库驱动jar包(方法一)【三】idea项目把本地的达梦数据库驱动jar包安装到本地仓库(方法二) 【一】如何使用idea连接达梦数据库 &#xf…

深入理解强化学习——多臂赌博机:乐观初始值

分类目录:《深入理解强化学习》总目录 目前为止我们讨论的所有方法都在一定程度上依赖于初始动作值 Q 1 ( a ) Q_1(a) Q1​(a)的选择。从统计学角度来说,这些方法(由于初始估计值)是有偏的。对于采样平均法来说,当所有…

蓝桥杯双周赛算法心得——串门(双链表数组+双dfs)

大家好,我是晴天学长,树和dfs的结合,其邻接表的存图方法也很重要。需要的小伙伴可以关注支持一下哦!后续会继续更新的。💪💪💪 1) .串门 2) .算法思路 串门(怎么存图很关键&#xf…

springboot本地启动多个模块报错:Address already in use: JVM_Bind

目录 背景解决方法 背景 环境: jdk1.8 idea 2019.2.4idea本地启动多个模块联调时,提示报错: 错误: 代理抛出异常错误: java.rmi.server.ExportException: Port already in use: 9090; nested exception is: java.net.BindException: Addre…

Flink SQL TopN语句详解

TopN 定义(⽀持 Batch\Streaming): TopN 对应离线数仓的 row_number(),使⽤ row_number() 对某⼀个分组的数据进⾏排序。 应⽤场景: 根据 某个排序 条件,计算 某个分组 下的排⾏榜数据。 SQL 语法标准&am…

kubernetes-调度

目录 一、k8s调度简介 二、影响kubernetes调度的因素 1、nodename 2、nodeselector 3、亲和与反亲和 (1)nodeaffinity (2)podaffinity(亲和) (3)podantiaffinity&#xff0…

怎样在iOS手机上进行自动化测试

Airtest支持iOS自动化测试,在Mac上为iOS手机部署iOS-Tagent之后,就可以使用AirtestIDE连接设备,像连接安卓设备一样,实时投影、控制手机。iOS测试不仅限于真机测试,iOS模拟器也可以进行。Mac端上部署完成后还可以提供给…

大数据毕业设计选题推荐-营业厅营业效能监控平台-Hadoop-Spark-Hive

✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

最新 vie-vite框架下 jtopo安装使用

官方地址 官方源码 安装下载 1.官方好像都没有给git地址,尝试npm安装报错 2.找到1.0.5之前的版本npm i jtopo2,安装成功后使用报错,应该是版本冲突了 1.本地引入, 点击官方源码下载,需要jtopo_npm文件 2.引入到本…

如何选择SVM中最佳的【核函数】

参数“kernel"在sklearn中可选以下几种 选项: 接下来我们 就通过一个例子,来探索一下不同数据集上核函数的表现。我们现在有一系列线性或非线性可分的数据,我们希望通过绘制SVC在不同核函数下的决策边界并计算SVC在不同核函数下分类准确…