使用 Docker 和 Traefik v2 搭建 RSS 服务(Miniflux)

栏目: IT技术 · 发布时间: 5年前

内容简介:之前提过,接下来要针对去年的老文章,聊聊如何升级老应用。本篇将以 RSS 服务为例,简单聊聊如何操作。去年写过三篇使用 Docker 搭建 RSS 服务的文章,适逢升级 Traefik ,暂以下面搭建 RSS 服务文章的第一篇为例,聊聊在 2020 年初,如何升级这类应用/服务:如果你还不太了解 Traefik,可以参考

之前提过,接下来要针对去年的老文章,聊聊如何升级老应用。本篇将以 RSS 服务为例,简单聊聊如何操作。

写在前面

去年写过三篇使用 Docker 搭建 RSS 服务的文章,适逢升级 Traefik ,暂以下面搭建 RSS 服务文章的第一篇为例,聊聊在 2020 年初,如何升级这类应用/服务:

如果你还不太了解 Traefik,可以参考 《Traefik 2 使用指南,愉悦的开发体验 》配置基于Traefik v2的 Web 服务器  先行了解掌握 Traefik v2 相关的知识。

如果你之前已经使用了这些服务,请做好数据备份操作,再跟随文章进行升级,如果你是新用户,那么就可以忽略这些问题,大胆放心的搞起啦。

Miniflux 升级

自去年文章写好后,miniflux 从 2.0.14 升级到了 2.0.19,应用命令有了比较大的变化: 文档地址

数据库升级

当时示例中的数据库postgres,也从 10.1 升级到了 12.1,因为跨了大版本,数据文件不兼容。如果要升级,需要先将数据导出,再重新导入。所以如果你已经在使用 Miniflux,并且没有使用云服务商的数据库,而是使用文章示例中的数据库方案,请不要直接修改配置,升级数据库版本,单独升级应用就好了。

应用配置

单机使用的完整配置依旧很简单,如果你使用云服务商的数据库,可以删除掉:

version: '3'
 
services:
 
  miniflux:
    image: miniflux/miniflux:2.0.19
    restart: always
    depends_on:
      - db
    expose:
      - 8080
    networks:
      - traefik
    environment:
      - DEBUG=0
      - LOG_DATE_TIME=1
      # 15 mins
      - POLLING_FREQUENCY=15
      - LISTEN_ADDR=0.0.0.0:8080
      - BASE_URL=https://miniflux.lab.com/
      - CLEANUP_FREQUENCY_HOURS=876000
      - CLEANUP_ARCHIVE_READ_DAYS=36500
      - CLEANUP_REMOVE_SESSIONS_DAYS=36500
      - RUN_MIGRATIONS=1
      - CREATE_ADMIN=1
      - ADMIN_USERNAME=soulteary
      - ADMIN_PASSWORD=soulteary
      - PROXY_IMAGES=all
      - DATABASE_URL=postgres://miniflux:secret@db/miniflux?sslmode=disable
    labels:
      - "traefik.enable=true"
      - "traefik.docker.network=traefik"
      - "traefik.http.routers.whoami0.middlewares=https-redirect@file"
      - "traefik.http.routers.whoami0.entrypoints=http"
      - "traefik.http.routers.whoami0.rule=Host(`miniflux.lab.com`,`miniflux.lab.io`)"
      - "traefik.http.routers.whoami1.middlewares=content-compress@file"
      - "traefik.http.routers.whoami1.entrypoints=https"
      - "traefik.http.routers.whoami1.tls=true"
      - "traefik.http.routers.whoami1.rule=Host(`miniflux.lab.com`,`miniflux.lab.io`)"
      - "traefik.http.services.whoamibackend.loadbalancer.server.scheme=http"
      - "traefik.http.services.whoamibackend.loadbalancer.server.port=8080"
 
  db:
    image: postgres:12.1-alpine
    restart: always
    expose:
      - 5432
    networks:
      - traefik
    volumes:
      - ./data:/var/lib/postgresql/data
    environment:
      - POSTGRES_USER=miniflux
      - POSTGRES_PASSWORD=secret
 
networks:
  traefik:
    external: true

将内容保存为 docker-compose.yml 后,使用 docker-compose up -d 启动应用,稍等片刻看到下面的内容的时候,就说明应用启动完毕了。

启动过程中可能遇到 miniflux_miniflux_1 exited with code 1 的报错,这是因为 depends_on 仅检查依赖数据库是否启动,而不检查数据库是否 ready for connection ,更好的解决方案是,搭配 “wait-for” 脚本使用,不过因为这里声明了应用出错重启,所以耐心等待应用重启就好了。

db_1        | 2020-02-02 14:43:24.329 UTC [45] LOG:  database system was shut down at 2020-02-02 14:43:24 UTC
db_1        | 2020-02-02 14:43:24.353 UTC [1] LOG:  database system is ready to accept connections
miniflux_1  | Current schema version: 0
miniflux_1  | Latest schema version: 25
miniflux_1  | Migrating to version: 1
db_1        | 2020-02-02 14:43:26.795 UTC [52] ERROR:  relation "schema_version" does not exist at character 21
db_1        | 2020-02-02 14:43:26.795 UTC [52] STATEMENT:  select version from schema_version
miniflux_1  | Migrating to version: 2
miniflux_1  | Migrating to version: 3
miniflux_1  | Migrating to version: 4
miniflux_1  | Migrating to version: 5
miniflux_1  | Migrating to version: 6
miniflux_1  | Migrating to version: 7
miniflux_1  | Migrating to version: 8
miniflux_1  | Migrating to version: 9
miniflux_1  | Migrating to version: 10
miniflux_1  | Migrating to version: 11
miniflux_1  | Migrating to version: 12
miniflux_1  | Migrating to version: 13
miniflux_1  | Migrating to version: 14
miniflux_1  | Migrating to version: 15
miniflux_1  | Migrating to version: 16
miniflux_1  | Migrating to version: 17
miniflux_1  | Migrating to version: 18
miniflux_1  | Migrating to version: 19
miniflux_1  | Migrating to version: 20
miniflux_1  | Migrating to version: 21
miniflux_1  | Migrating to version: 22
miniflux_1  | Migrating to version: 23
miniflux_1  | Migrating to version: 24
miniflux_1  | Migrating to version: 25
miniflux_1  | [2020-02-02T14:43:27] [INFO] Starting Miniflux...
miniflux_1  | [2020-02-02T14:43:27] [INFO] Starting scheduler...
miniflux_1  | [2020-02-02T14:43:27] [INFO] Listening on "0.0.0.0:8080" without TLS

浏览器中访问配置好的域名,比如本例中的 miniflux.lab.comminiflux.lab.io ,即可开始使用。

应用界面

使用 Docker 和 Traefik v2 搭建 RSS 服务(Miniflux)

界面配置等,可参考去年的文章进行配置。

最后

其他 RSS 应用的更新,可以参考上面的配置进行操作,目前看来 Miniflux / FreshRSS 还是值得继续使用的,stringer 的更新维护相比之下稍显逊色。

–EOF


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Coming of Age in Second Life

Coming of Age in Second Life

Tom Boellstorff / Princeton University Press / 2008-04-21 / USD 29.95

The gap between the virtual and the physical, and its effect on the ideas of personhood and relationships, is the most interesting aspect of Boellstorff's analysis... Boellstorff's portrayal of a virt......一起来看看 《Coming of Age in Second Life》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

随机密码生成器
随机密码生成器

多种字符组合密码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换