add RSS aggregator miniflux

This commit is contained in:
Pim Kunis 2023-01-17 21:14:57 +01:00
parent 64709cab98
commit 38f6eade56
7 changed files with 77 additions and 2 deletions

View file

@ -12,6 +12,7 @@
- {role: 'mastodon', tags: 'mastodon'} - {role: 'mastodon', tags: 'mastodon'}
- {role: 'seafile', tags: 'seafile'} - {role: 'seafile', tags: 'seafile'}
- {role: 'jitsi', tags: 'jitsi'} - {role: 'jitsi', tags: 'jitsi'}
- {role: 'miniflux', tags: 'miniflux'}
- name: Setup dataserver - name: Setup dataserver
hosts: dataserver hosts: dataserver
roles: roles:

View file

@ -24,7 +24,7 @@ services:
- traefik.http.routers.forgejo.rule=Host(`git.pizzapim.nl`) - traefik.http.routers.forgejo.rule=Host(`git.pizzapim.nl`)
- traefik.http.routers.forgejo.tls=true - traefik.http.routers.forgejo.tls=true
- traefik.http.routers.forgejo.tls.certresolver=pizzapim - traefik.http.routers.forgejo.tls.certresolver=pizzapim
- traefik.tcp.routers.forgejo-ssh.service=forgejo - traefik.tcp.routers.forgejo.service=forgejo
- traefik.http.services.forgejo.loadbalancer.server.port=3000 - traefik.http.services.forgejo.loadbalancer.server.port=3000
- traefik.tcp.routers.forgejo-ssh.rule=HostSNI(`*`) - traefik.tcp.routers.forgejo-ssh.rule=HostSNI(`*`)

View file

@ -0,0 +1,4 @@
dependencies:
- role: common
- role: docker
- role: traefik

View file

@ -0,0 +1,17 @@
- name: Create app directory
file:
path: "{{ service_dir }}"
state: directory
- name: Copy Docker Compose script
template:
src: "{{ role_path }}/templates/docker-compose.yml.j2"
dest: "{{ service_dir }}/docker-compose.yml"
- name: Create data directory
file:
path: "{{ data_dir }}"
state: directory
- name: Start the Docker Compose
docker_compose:
project_src: "{{ service_dir }}"
pull: true
remove_orphans: true

View file

@ -0,0 +1,39 @@
version: '3.4'
services:
miniflux:
image: miniflux/miniflux:latest
container_name: miniflux-web
depends_on:
- db
environment:
- DATABASE_URL=postgres://{{ database_user }}:{{ database_password }}@db/miniflux?sslmode=disable
networks:
- default
- traefik
labels:
- traefik.http.routers.miniflux.entrypoints=websecure
- traefik.http.routers.miniflux.rule=Host(`rss.pizzapim.nl`)
- traefik.http.routers.miniflux.tls=true
- traefik.http.routers.miniflux.tls.certresolver=pizzapim
- traefik.tcp.routers.miniflux.service=miniflux
- traefik.http.services.miniflux.loadbalancer.server.port=8080
db:
image: postgres:15
container_name: miniflux_db
environment:
- POSTGRES_USER={{ database_user }}
- POSTGRES_PASSWORD={{ database_password }}
volumes:
- {{ data_dir }}:/var/lib/postgresql/data
healthcheck:
test: ["CMD", "pg_isready", "-U", "miniflux"]
interval: 10s
start_period: 30s
networks:
- default
networks:
traefik:
external: true

View file

@ -0,0 +1,13 @@
service_name: miniflux
service_dir: "{{ base_service_dir }}/{{ service_name }}"
data_dir: "{{ base_data_dir }}/{{ service_name }}"
database_user: miniflux
database_password: !vault |
$ANSIBLE_VAULT;1.1;AES256
61306531373964613837363565376137363538626632613564313266396231346233356130383531
3030336565333663643233303034336366326632386666650a303232373838353065333930643633
34326663363833303666666538386165613734303939343062376230366666346134626533396165
3837383263353264640a633865653865383866303431383762653363656133656135626238366539
64633732333230303339626234623534656463353232373234366161356364313566336637316339
6634373066326536393064643162663139323835303233333131

View file

@ -1,7 +1,7 @@
$ORIGIN pizzapim.nl. $ORIGIN pizzapim.nl.
$TTL 60 $TTL 60
pizzapim.nl. IN SOA ns.pizzapim.nl. pim.kunis.nl. 2023011400 1800 3600 1209600 3600 pizzapim.nl. IN SOA ns.pizzapim.nl. pim.kunis.nl. 2023011700 1800 3600 1209600 3600
NS ns.pizzapim.nl. NS ns.pizzapim.nl.
NS ns0.transip.net. NS ns0.transip.net.
@ -23,3 +23,4 @@ social IN CNAME www.pizzapim.nl.
dav IN CNAME www.pizzapim.nl. dav IN CNAME www.pizzapim.nl.
git IN CNAME www.pizzapim.nl. git IN CNAME www.pizzapim.nl.
meet IN CNAME www.pizzapim.nl. meet IN CNAME www.pizzapim.nl.
rss IN CNAME www.pizzapim.nl.