From 4ea3c8dfb9d05f544e4d7d63c4c4fc01493afac6 Mon Sep 17 00:00:00 2001 From: Pim Kunis Date: Thu, 19 Jan 2023 00:10:07 +0100 Subject: [PATCH] replace miniflux with freshrss --- playbooks/all.yml | 2 +- roles/freshrss/tasks/main.yml | 17 +++++++++ .../freshrss/templates/docker-compose.yml.j2 | 35 +++++++++++++++++++ roles/freshrss/vars/main.yml | 11 ++++++ 4 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 roles/freshrss/tasks/main.yml create mode 100644 roles/freshrss/templates/docker-compose.yml.j2 create mode 100644 roles/freshrss/vars/main.yml diff --git a/playbooks/all.yml b/playbooks/all.yml index 2a5af86..dee340b 100644 --- a/playbooks/all.yml +++ b/playbooks/all.yml @@ -12,7 +12,7 @@ - {role: 'mastodon', tags: 'mastodon'} - {role: 'seafile', tags: 'seafile'} - {role: 'jitsi', tags: 'jitsi'} - - {role: 'miniflux', tags: 'miniflux'} + - {role: 'freshrss', tags: 'freshrss'} - name: Setup dataserver hosts: dataserver roles: diff --git a/roles/freshrss/tasks/main.yml b/roles/freshrss/tasks/main.yml new file mode 100644 index 0000000..1930c55 --- /dev/null +++ b/roles/freshrss/tasks/main.yml @@ -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 diff --git a/roles/freshrss/templates/docker-compose.yml.j2 b/roles/freshrss/templates/docker-compose.yml.j2 new file mode 100644 index 0000000..85ca331 --- /dev/null +++ b/roles/freshrss/templates/docker-compose.yml.j2 @@ -0,0 +1,35 @@ +version: "2.4" + +services: + freshrss: + image: freshrss/freshrss:edge + container_name: freshrss + restart: unless-stopped + networks: + - traefik + logging: + options: + max-size: 10m + volumes: + # Recommended volume for FreshRSS persistent data such as configuration and SQLite databases + - /data/freshrss/data:/var/www/FreshRSS/data + # Optional volume for storing third-party extensions + - /data/freshrss/extensions:/var/www/FreshRSS/extensions + environment: + TZ: Europe/Amsterdam + CRON_MIN: '2,32' + FRESHRSS_ENV: development + ADMIN_EMAIL: pim@kunis.nl + ADMIN_PASSWORD: {{ admin_password }} + ADMIN_API_PASSWORD: {{ admin_password }} + PUBLISHED_PORT: 443 + labels: + - traefik.http.routers.freshrss.entrypoints=websecure + - traefik.http.routers.freshrss.rule=Host(`rss.pizzapim.nl`) + - traefik.http.routers.freshrss.tls=true + - traefik.http.routers.freshrss.tls.certresolver=pizzapim + - traefik.tcp.routers.freshrss.service=freshrss + +networks: + traefik: + external: true diff --git a/roles/freshrss/vars/main.yml b/roles/freshrss/vars/main.yml new file mode 100644 index 0000000..f82e2bc --- /dev/null +++ b/roles/freshrss/vars/main.yml @@ -0,0 +1,11 @@ +service_name: freshrss +service_dir: "{{ base_service_dir }}/{{ service_name }}" +data_dir: "{{ base_data_dir }}/{{ service_name }}" +admin_password: !vault | + $ANSIBLE_VAULT;1.1;AES256 + 38363734333534376665616439306566613632303739373661333338356533653334323366326130 + 3031316133383432366639613565656134666338326639360a633263363066613964643665316334 + 63373830663239393137653131326630326465343333346430376536393162383836333130353562 + 3336306561636134650a646433633063316431643466326161303666313765323034343233646566 + 66613330616463346561343561616438643763643465373839303861356133313831303338356430 + 6634653635383833303265316662663631376163636134666565