Ver código fonte

Added Ansible Role + Playbook for Miniflux

Quotengrote 5 anos atrás
pai
commit
e74bf260c6

+ 8 - 0
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

+ 4 - 0
contrib/ansible/playbooks/playbook.yml

@@ -0,0 +1,4 @@
+---
+- hosts: miniflux
+  roles:
+    - { role: mgrote.miniflux, tags: "miniflux" }

+ 23 - 0
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

+ 0 - 0
contrib/ansible/roles/mgrote.miniflux/defaults/main.yml


+ 11 - 0
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

+ 43 - 0
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

+ 18 - 0
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