前言
不知道大家有没有遇到这样情况,当我们看到优秀的文章时,通常喜欢把它加入书签栏。不过自从加入书签后便再也没有打开过,突然某天想要点击链接进行阅读时,发现链接早已失效。
而接下来要介绍的开源服务 Wallabag 就能解决上面的痛点,通过 Wallabag 插件可以把网页文章保存到自建的 Wallabag 服务上,当我们有空闲时间时再进行阅读,永远不必担心链接失效的问题。
项目地址
https://github.com/wallabag/wallabag
安装
Docker compose
Wallabag 默认自带 SQLite 数据库,如果单独配置数据库,那么默认的数据库不会使用。(下面的配置使用了 mariadb 和 redis 数据库)
version: '3'
services:
wallabag:
image: wallabag/wallabag
restart: unless-stopped
environment:
- MYSQL_ROOT_PASSWORD=wallaroot
- SYMFONY__ENV__DATABASE_DRIVER=pdo_mysql
- SYMFONY__ENV__DATABASE_HOST=db
- SYMFONY__ENV__DATABASE_PORT=3306
- SYMFONY__ENV__DATABASE_NAME=wallabag
- SYMFONY__ENV__DATABASE_USER=wallabag
- SYMFONY__ENV__DATABASE_PASSWORD=wallapass
- SYMFONY__ENV__DATABASE_CHARSET=utf8mb4
- SYMFONY__ENV__DATABASE_TABLE_PREFIX="wallabag_"
- SYMFONY__ENV__MAILER_DSN=smtp://127.0.0.1
- SYMFONY__ENV__FROM_EMAIL=wallabag@example.com
- SYMFONY__ENV__DOMAIN_NAME=https://your-wallabag-instance.wallabag.org
- SYMFONY__ENV__SERVER_NAME="Your wallabag instance"
ports:
- "80"
volumes:
- /opt/wallabag/images:/var/www/wallabag/web/assets/images
healthcheck:
test: ["CMD", "wget" ,"--no-verbose", "--tries=1", "--spider", "http://localhost/api/info"]
interval: 1m
timeout: 3s
depends_on:
- db
- redis
db:
image: mariadb
restart: unless-stopped
environment:
- MYSQL_ROOT_PASSWORD=wallaroot
volumes:
- /opt/wallabag/data:/var/lib/mysql
healthcheck:
test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
interval: 20s
timeout: 3s
redis:
image: redis:alpine
restart: unless-stopped
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 20s
timeout: 3s
群晖
打开群晖的【Container Manager】,搜索wallabag,选择第一个wallabag/wallabag镜像进行下载。
在等待下载过程中,在【File Station】套件中创建wallabag文件夹,并在该文件夹中新建images和data分别存放图片和文件。
设置wallabag文件夹权限为 Everyone 可读写,并勾选应用到子文件、文件夹。
等待镜像下载完毕。运行wallabag镜像,端口设置为任意端口(8187)与容器的80端口进行映射。
把容器中的/var/www/wallabag/web/assets/images、/var/www/wallabag/data文件分别与前面新建的 images、data 文件夹进行映射。
设置环境变量SYMFONY__ENV__DOMAIN_NAME为后面将要反代的域名(例如https://wallabag.laoning.com:12443)。
确认配置没有问题后直接启动容器。
反向代理
打开 Nginx Proxy Manager 新增反代配置。填入域名、IP、端口。(IP为群晖的内网IP,端口为 Wallabag 服务的端口)
选择SSL证书。
配置完成的URL加端口要与环境变量SYMFONY__ENV__DOMAIN_NAME设置的一致。
使用
电脑端
浏览器打开域名即可访问。(账户密码都为:wallabag)
在右上角->config菜单中修改语言为中文。
在右上角->教程 菜单中选择安装浏览器插件。
按要求配置插件。
配置完成后,打开要保存的网页,点击插件就能把文章保存到 Wallabag 。
保存到 Wallabag 的文章。
点击文章后,可以对文章进行重新抓取、打印、导出等操作。
手机端
下载手机APP并按照要求输入客户端ID、密钥、用户名和密码完成登录。
APP上也能阅读保存的文章。
如果要在手机上保存文章,用浏览器打开文章链接地址后,并把当前页面分享到 Wallabag 即可。
后记
试了群晖自带的 MariaDB 和以前搭建好的 MySQL 数据库来存储 Wallabag 的数据,发现环境变量SYMFONY__ENV__DATABASE_HOST为IP地址的时候都无法成功,个人猜测应该只能使用用 docker-compose 配置文件中定义的数据库容器名称。
我是老宁
一个热爱技术的程序员和极客,群晖NAS深度玩家!
专注NAS相关技术分享,原创!干货!
觉得老宁的文章对你有帮助,记得点赞、收藏、加关注!
本文暂时没有评论,来添加一个吧(●'◡'●)