From 28d2d8a0da8b624d0a256ac492afe7605fa8d260 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Wed, 12 Oct 2022 20:28:41 -0400 Subject: Be able to deploy pad to live0 --- pad/defaults/main.yml | 2 - pad/tasks/main.yml | 121 +++++++++++++++++++++++++++++--------------------- pad/tasks/mariadb.yml | 22 ++++++++- 3 files changed, 92 insertions(+), 53 deletions(-) (limited to 'pad') diff --git a/pad/defaults/main.yml b/pad/defaults/main.yml index 386abf7..9d2e294 100644 --- a/pad/defaults/main.yml +++ b/pad/defaults/main.yml @@ -1,11 +1,9 @@ --- # defaults file for pad etherpad_path: /home/etherpad/etherpad -etherpad_database_password: cgdh23dho etherpad_database_name: emacsconf_pad etherpad_database_user: etherpad etherpad_user: etherpad etherpad_group: etherpad -etherpad_api_key: b7a15dc34cc7f6917cca6cd9a2b4b92145af7c7cd9b341af34869ab8cd3568be etherpad_base: emacsconf etherpad_year: 2022 diff --git a/pad/tasks/main.yml b/pad/tasks/main.yml index 8637406..bb3209d 100644 --- a/pad/tasks/main.yml +++ b/pad/tasks/main.yml @@ -1,70 +1,91 @@ --- # tasks file for pad -- name: Add nodesource key - apt_key: - url: https://deb.nodesource.com/gpgkey/nodesource.gpg.key - state: present -- name: Add nodesource repository - ansible.builtin.apt_repository: - repo: deb https://deb.nodesource.com/node_13.x buster main - update_cache: yes -- name: Install packages - apt: - update_cache: yes - name: - - systemd - - sudo - - nodejs - - mariadb-server - - mariadb-client - state: present -- name: Create etherpad user - user: - name: etherpad - home: /home/etherpad - shell: /bin/bash - state: present -- name: Install etherpad - git: - repo: https://github.com/ether/etherpad-lite.git - dest: "{{ etherpad_path }}" - depth: 1 +- name: Set up packages as root become: true - become_user: etherpad -- name: Configure etherpad - template: - src: templates/settings.json - dest: "{{ etherpad_path }}/settings.json" -- name: Set etherpad API key - copy: - content: "{{ etherpad_api_key }}" - dest: "{{ etherpad_path }}/APIKEY.txt" - owner: "{{ etherpad_user }}" - mode: "0600" -- name: Install dependencies - shell: cd {{ etherpad_path }}; . src/bin/functions.sh; src/bin/installDeps.sh + block: + - name: Add nodesource key + apt_key: + url: https://deb.nodesource.com/gpgkey/nodesource.gpg.key + state: present + - name: Add nodesource repository + ansible.builtin.apt_repository: + repo: deb https://deb.nodesource.com/node_13.x buster main + update_cache: yes + - name: Install packages + apt: + update_cache: yes + name: + - systemd + - sudo + - nodejs + - mariadb-server + - mariadb-client + state: present + - name: Create etherpad user + user: + name: etherpad + home: /home/etherpad + shell: /bin/bash + state: present +- include: mariadb.yml become: true - become_user: etherpad -- name: Install etherpad plugins - npm: - name: ep_pad-lister - path: "{{ etherpad_path }}" +- name: Set up etherpad as the etherpad user + tags: etherpad-src become: true - become_user: etherpad -- include: mariadb.yml + block: + - name: Install etherpad + git: + repo: https://github.com/ether/etherpad-lite.git + dest: "{{ etherpad_path }}" + depth: 1 + - name: Configure etherpad + template: + src: templates/settings.json + dest: "{{ etherpad_path }}/settings.json" + - name: Install dependencies + shell: cd {{ etherpad_path }}; . src/bin/functions.sh; src/bin/installDeps.sh + - name: Install etherpad plugins + npm: + name: ep_pad-lister + path: "{{ etherpad_path }}" + - name: Change ownership + file: + dest: /home/etherpad/etherpad + owner: "{{ etherpad_user }}" + group: "{{ etherpad_group }}" + recurse: true + - name: Set etherpad API key + copy: + content: "{{ etherpad_api_key }}" + dest: "{{ etherpad_path }}/APIKEY.txt" + owner: "{{ etherpad_user }}" + mode: "0600" - name: Install init.d configuration tags: system + become: true template: src: etherpad.init.d dest: /etc/init.d/etherpad owner: root group: root + mode: 0644 + when: use_initd is defined +- name: Install systemd configuration + tags: system + become: true + template: + src: etherpad.service + dest: /etc/systemd/system/etherpad.service + owner: root + group: root mode: 0755 + when: use_initd is not defined - name: Start Etherpad tags: system + become: true service: name: etherpad - state: started + state: restarted - tags: create-pads include_vars: file: talks.json diff --git a/pad/tasks/mariadb.yml b/pad/tasks/mariadb.yml index 7a406c9..8e613b6 100644 --- a/pad/tasks/mariadb.yml +++ b/pad/tasks/mariadb.yml @@ -5,10 +5,30 @@ - mariadb-server - mariadb-client - python3-mysqldb +- name: Ensure anonymous users are not in the database + mysql_user: + name: "" + host: "{{ item }}" + state: absent + with_items: + - localhost + - 127.0.0.1 + - ::1 + - "%" +- name: Ensure mysql is configured to bind only to localhost + ini_file: + dest: /etc/mysql/my.cnf + section: mysqld + option: "bind-address" + value: "127.0.0.1" - name: Start MariaDB service: name: mysql - state: started + state: restarted + enabled: yes + runlevel: + - 3 + - 5 - name: Ensure emacsconf-pad database exists mysql_db: name: "{{ etherpad_database_name }}" -- cgit v1.2.3