前言
不知道大家有没有遇到这样情况,当我们看到优秀的文章时,通常喜欢把它加入书签栏。不过自从加入书签后便再也没有打开过,突然某天想要点击链接进行阅读时,发现链接早已失效。
而接下来要介绍的开源服务 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相关技术分享,原创!干货!
觉得老宁的文章对你有帮助,记得点赞、收藏、加关注!
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
,