add RSS aggregator miniflux
This commit is contained in:
parent
64709cab98
commit
38f6eade56
7 changed files with 77 additions and 2 deletions
|
@ -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:
|
||||||
|
|
|
@ -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(`*`)
|
||||||
|
|
4
roles/miniflux/meta/main.yml
Normal file
4
roles/miniflux/meta/main.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
dependencies:
|
||||||
|
- role: common
|
||||||
|
- role: docker
|
||||||
|
- role: traefik
|
17
roles/miniflux/tasks/main.yml
Normal file
17
roles/miniflux/tasks/main.yml
Normal 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
|
39
roles/miniflux/templates/docker-compose.yml.j2
Normal file
39
roles/miniflux/templates/docker-compose.yml.j2
Normal 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
|
13
roles/miniflux/vars/main.yml
Normal file
13
roles/miniflux/vars/main.yml
Normal 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
|
|
@ -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.
|
||||||
|
|
Reference in a new issue