From e74bf260c64b1795bf6768f5f6d3ce6aae50700c Mon Sep 17 00:00:00 2001 From: Quotengrote <38253905+quotengrote@users.noreply.github.com> Date: Tue, 27 Oct 2020 22:37:29 +0100 Subject: [PATCH] Added Ansible Role + Playbook for Miniflux --- .../inventories/group_vars/miniflux_vars.yml | 8 ++++ contrib/ansible/playbooks/playbook.yml | 4 ++ .../ansible/roles/mgrote.miniflux/README.md | 23 ++++++++++ .../roles/mgrote.miniflux/defaults/main.yml | 0 .../roles/mgrote.miniflux/handlers/main.yml | 11 +++++ .../roles/mgrote.miniflux/tasks/main.yml | 43 +++++++++++++++++++ .../mgrote.miniflux/templates/miniflux.conf | 18 ++++++++ 7 files changed, 107 insertions(+) create mode 100644 contrib/ansible/inventories/group_vars/miniflux_vars.yml create mode 100644 contrib/ansible/playbooks/playbook.yml create mode 100644 contrib/ansible/roles/mgrote.miniflux/README.md create mode 100644 contrib/ansible/roles/mgrote.miniflux/defaults/main.yml create mode 100644 contrib/ansible/roles/mgrote.miniflux/handlers/main.yml create mode 100644 contrib/ansible/roles/mgrote.miniflux/tasks/main.yml create mode 100644 contrib/ansible/roles/mgrote.miniflux/templates/miniflux.conf diff --git a/contrib/ansible/inventories/group_vars/miniflux_vars.yml b/contrib/ansible/inventories/group_vars/miniflux_vars.yml new file mode 100644 index 00000000..8884772d --- /dev/null +++ b/contrib/ansible/inventories/group_vars/miniflux_vars.yml @@ -0,0 +1,8 @@ +--- + miniflux_linux_user: miniflux + miniflux_db_user_name: miniflux_db_user + miniflux_db_user_password: miniflux_db_user_password + miniflux_db: miniflux_db + miniflux_admin_name: admin + miniflux_admin_passwort: miniflux_admin_password + miniflux_port: 8080 diff --git a/contrib/ansible/playbooks/playbook.yml b/contrib/ansible/playbooks/playbook.yml new file mode 100644 index 00000000..05c3b4e9 --- /dev/null +++ b/contrib/ansible/playbooks/playbook.yml @@ -0,0 +1,4 @@ +--- +- hosts: miniflux + roles: + - { role: mgrote.miniflux, tags: "miniflux" } \ No newline at end of file diff --git a/contrib/ansible/roles/mgrote.miniflux/README.md b/contrib/ansible/roles/mgrote.miniflux/README.md new file mode 100644 index 00000000..ba1c9419 --- /dev/null +++ b/contrib/ansible/roles/mgrote.miniflux/README.md @@ -0,0 +1,23 @@ +## mgrote.miniflux + +### Details +Installs and configures Miniflux v2 with ansible + +### Works on... +- [x] Ubuntu (>=18.04) + +### Variables and Defaults +##### Linux User + miniflux_linux_user: miniflux +##### DB User + miniflux_db_user_name: miniflux_db_user +##### DB Password + miniflux_db_user_password: qqqqqqqqqqqqq +##### Database + miniflux_db: miniflux_db +##### Username Miniflux Admin + miniflux_admin_name: admin +##### Password Miniflux Admin + miniflux_admin_passwort: hallowelt +##### Port for Miniflux Frontend + miniflux_port: 8080 diff --git a/contrib/ansible/roles/mgrote.miniflux/defaults/main.yml b/contrib/ansible/roles/mgrote.miniflux/defaults/main.yml new file mode 100644 index 00000000..e69de29b diff --git a/contrib/ansible/roles/mgrote.miniflux/handlers/main.yml b/contrib/ansible/roles/mgrote.miniflux/handlers/main.yml new file mode 100644 index 00000000..6ab1fe05 --- /dev/null +++ b/contrib/ansible/roles/mgrote.miniflux/handlers/main.yml @@ -0,0 +1,11 @@ +--- + - name: start_miniflux.service + become: yes + systemd: + name: miniflux + state: restarted + enabled: yes +# wait 15 seconds(for systemd) + - name: miniflux_wait + wait_for: + timeout: 15 diff --git a/contrib/ansible/roles/mgrote.miniflux/tasks/main.yml b/contrib/ansible/roles/mgrote.miniflux/tasks/main.yml new file mode 100644 index 00000000..3aaf3210 --- /dev/null +++ b/contrib/ansible/roles/mgrote.miniflux/tasks/main.yml @@ -0,0 +1,43 @@ + - name: add Apt-key for miniflux-repo + become: yes + apt_key: + url: https://apt.miniflux.app/KEY.gpg + state: present + + - name: add miniflux-repo + become: yes + apt_repository: + repo: 'deb https://apt.miniflux.app/ /' + state: present + filename: miniflux_repo + update_cache: yes + + - name: install miniflux + become: yes + apt: + name: miniflux + state: present + + - name: add miniflux linux_user + become: yes + user: + name: "{{ miniflux_linux_user }}" + home: "/var/empty" + create_home: "no" + system: "yes" + shell: "/bin/false" + + - name: create directory "/etc/miniflux.d" + become: yes + file: + path: /etc/miniflux.d + state: directory + + - name: copy miniflux.conf + become: yes + template: + src: "miniflux.conf" + dest: "/etc/miniflux.conf" + notify: + - start_miniflux.service + - miniflux_wait diff --git a/contrib/ansible/roles/mgrote.miniflux/templates/miniflux.conf b/contrib/ansible/roles/mgrote.miniflux/templates/miniflux.conf new file mode 100644 index 00000000..661b4917 --- /dev/null +++ b/contrib/ansible/roles/mgrote.miniflux/templates/miniflux.conf @@ -0,0 +1,18 @@ +# See https://docs.miniflux.app/ + +LISTEN_ADDR=0.0.0.0:{{ miniflux_port }} +DATABASE_URL=user={{ miniflux_db_user_name }} password={{ miniflux_db_user_password }} dbname={{ miniflux_db }} sslmode=disable + +POLLING_FREQUENCY=15 +PROXY_IMAGES=http-only + +# Run SQL migrations automatically: +RUN_MIGRATIONS=1 + +CREATE_ADMIN=1 +ADMIN_USERNAME={{ miniflux_admin_name }} +ADMIN_PASSWORD={{ miniflux_admin_passwort }} + +POLLING_FREQUENCY=10 + +# Options: https://miniflux.app/miniflux.1.html