From 2bd16aa3772aa1f7d1cd2a51157d474f235fad3a Mon Sep 17 00:00:00 2001 From: Felix Stupp Date: Sat, 7 Sep 2019 00:15:52 +0200 Subject: [PATCH] Added role server/tt-rss --- roles/server/tt-rss/defaults/main.yml | 15 ++ roles/server/tt-rss/handlers/main.yml | 7 + roles/server/tt-rss/meta/main.yml | 22 +++ roles/server/tt-rss/tasks/main.yml | 37 ++++ roles/server/tt-rss/templates/config.php | 182 +++++++++++++++++++ roles/server/tt-rss/templates/tt-rss.service | 13 ++ 6 files changed, 276 insertions(+) create mode 100644 roles/server/tt-rss/defaults/main.yml create mode 100644 roles/server/tt-rss/handlers/main.yml create mode 100644 roles/server/tt-rss/meta/main.yml create mode 100644 roles/server/tt-rss/tasks/main.yml create mode 100755 roles/server/tt-rss/templates/config.php create mode 100644 roles/server/tt-rss/templates/tt-rss.service diff --git a/roles/server/tt-rss/defaults/main.yml b/roles/server/tt-rss/defaults/main.yml new file mode 100644 index 0000000..c34c0f2 --- /dev/null +++ b/roles/server/tt-rss/defaults/main.yml @@ -0,0 +1,15 @@ +--- + +ttrss_repo: "https://gitlab.com/gothfox/tt-rss.git" +ttrss_version: "master" + +# domain: tt-rss.example +service_name: "{{ domain }}.service" +system_user: "{{ domain | regex_replace('[^A-Za-z0-9-]+', '-') }}" + +user_directory: "{{ global_webservers_directory }}/{{ domain }}" +installation_directory: "{{ user_directory }}/repository" + +database_user: "{{ system_user }}" +# database_pass from mysql/database +# database_name from mysql/database diff --git a/roles/server/tt-rss/handlers/main.yml b/roles/server/tt-rss/handlers/main.yml new file mode 100644 index 0000000..aab1416 --- /dev/null +++ b/roles/server/tt-rss/handlers/main.yml @@ -0,0 +1,7 @@ +--- + +- name: restart {{ domain }} + systemd: + enabled: yes + name: "{{ service_name }}" + state: restarted diff --git a/roles/server/tt-rss/meta/main.yml b/roles/server/tt-rss/meta/main.yml new file mode 100644 index 0000000..84506e4 --- /dev/null +++ b/roles/server/tt-rss/meta/main.yml @@ -0,0 +1,22 @@ +--- + +allow_duplicates: yes + +dependencies: + - role: misc/handlers + - role: misc/system_user + # system_user + # user_directory + user_directory_group: "{{ nginx_system_user }}" + - role: mysql/database + # database_user + - role: nginx/php + # domain + # system_user + src: "{{ installation_directory }}" + includes: + - "{{ installation_directory }}/include" + env_vars: + DATABASE_USERNAME: "{{ database_user }}" + DATABASE_PASSWORD: "{{ database_pass }}" + DATABASE_NAME: "{{ database_name }}" diff --git a/roles/server/tt-rss/tasks/main.yml b/roles/server/tt-rss/tasks/main.yml new file mode 100644 index 0000000..54f89ce --- /dev/null +++ b/roles/server/tt-rss/tasks/main.yml @@ -0,0 +1,37 @@ +--- + +- name: Create installation directory + file: + path: "{{ installation_directory }}" + state: directory + owner: "{{ system_user }}" + group: "{{ nginx_system_user }}" + mode: "u=rwx,g=rx,o=" + +- name: Download Tiny Tiny RSS + become_user: "{{ system_user }}" + git: + repo: "{{ ttrss_repo }}" + version: "{{ ttrss_version }}" + dest: "{{ installation_directory }}" + update: no + +- name: Configure Tiny Tiny RSS + template: + src: config.php + dest: "{{ installation_directory }}/config.php" + owner: "{{ system_user }}" + group: "{{ nginx_system_user }}" + mode: "u=rw,g=r,o=" + notify: "restart {{ domain }}" + +- name: Configure Tiny Tiny RSS systemd service + template: + src: tt-rss.service + dest: "{{ global_systemd_configuration_directory }}/{{ service_name }}" + owner: root + group: root + mode: "u=rw,g=r,o=" + notify: + - reload systemd + - "restart {{ domain }}" diff --git a/roles/server/tt-rss/templates/config.php b/roles/server/tt-rss/templates/config.php new file mode 100755 index 0000000..2f11284 --- /dev/null +++ b/roles/server/tt-rss/templates/config.php @@ -0,0 +1,182 @@ + System), syslog - logs to system log. + // Setting this to blank uses PHP logging (usually to http server + // error.log). + // Note that feed updating daemons don't use this logging facility + // for normal output. + + define('CONFIG_VERSION', 26); + // Expected config version. Please update this option in config.php + // if necessary (after migrating all new options from this file). + + // vim:ft=php diff --git a/roles/server/tt-rss/templates/tt-rss.service b/roles/server/tt-rss/templates/tt-rss.service new file mode 100644 index 0000000..81157f4 --- /dev/null +++ b/roles/server/tt-rss/templates/tt-rss.service @@ -0,0 +1,13 @@ +[Unit] +Description=Tiny Tiny RSS Daemon for {{ domain }} +After=network.target mysql.service + +[Service] +User={{ system_user }} +ExecStart={{ installation_directory }}/update_daemon2.php +Environment="DATABASE_USERNAME={{ database_user }}" +Environment="DATABASE_PASSWORD={{ database_pass }}" +Environment="DATABASE_NAME={{ database_name }}" + +[Install] +WantedBy=multi-user.target