writefreely/tasks/main.yaml
author Luke Hoersten <luke@hoersten.org>
Sat, 16 May 2020 09:55:46 -0500
changeset 25 b4e52ddd1210
parent 18 ea20908c3904
child 26 b0e4ad2f4291
permissions -rw-r--r--
Removed newlines at end of minecraft config files to avoid generating changes after server removes them.

---

- name: add writefreely user
  become: yes
  user: name="{{writefreely_user}}"

- name: unarchive writefreely
  become: yes
  unarchive:
    remote_src: yes
    src: "{{writefreely_tar}}"
    dest: "/tmp/"
    creates: "/tmp/writefreely/"
    owner: "root"
    group: "root"

- name: install writefreely binary
  become: yes
  copy:
    src: "/tmp/writefreely/writefreely"
    dest: "/usr/local/bin/"
    remote_src: yes
    owner: "{{writefreely_user}}"
    group: "{{writefreely_user}}"
    mode: "0755"

- name: create root dir
  become: yes
  file:
    path: "{{writefreely_dir}}"
    state: "directory"
    owner: "{{writefreely_user}}"
    group: "{{writefreely_user}}"
    mode: "0755"
  notify: reload service

- name: create instance dir
  become: yes
  file:
    path: "{{writefreely_dir}}/{{writefreely_instance}}"
    state: "directory"
    owner: "{{writefreely_user}}"
    group: "{{writefreely_user}}"
    mode: "0755"
  notify: reload service

- name: install static content
  become: yes
  copy:
    src: "/tmp/writefreely/"
    remote_src: yes
    dest: "{{writefreely_dir}}/{{writefreely_instance}}/"
    owner: "{{writefreely_user}}"
    group: "{{writefreely_user}}"
    mode: "0755"

- name: configure
  become: yes
  template:
    src: "config.ini.j2"
    dest: "{{writefreely_dir}}/{{writefreely_instance}}/config.ini"
    mode: "0644"
    owner: "{{writefreely_user}}"
    group: "{{writefreely_user}}"
  notify: reload service

- name: generate keys
  become: yes
  become_user: "{{writefreely_user}}"
  command: "writefreely keys gen"
  args:
    chdir: "{{writefreely_dir}}/{{writefreely_instance}}/"

- name: check if db exists
  stat:
    path: "{{writefreely_dir}}/{{writefreely_instance}}/writefreely.db"
  register: db_file

- name: create db
  become: yes
  become_user: "{{writefreely_user}}"
  command: "writefreely db init"
  args:
    chdir: "{{writefreely_dir}}/{{writefreely_instance}}/"
  when: not db_file.stat.exists

- name: create admin
  become: yes
  become_user: "{{writefreely_user}}"
  command: "writefreely --create-admin admin:admin"
  args:
    chdir: "{{writefreely_dir}}/{{writefreely_instance}}/"
  when: not db_file.stat.exists

- name: migrate db
  become: yes
  become_user: "{{writefreely_user}}"
  command: "writefreely db migrate"
  args:
    chdir: "{{writefreely_dir}}/{{writefreely_instance}}/"
  when: db_file.stat.exists

- name: install systemd service
  become: yes
  template:
    src: "[email protected]"
    dest: "/lib/systemd/system/[email protected]"

- name: ensure service is started
  become: yes
  systemd: name="writefreely@{{writefreely_instance}}.service" enabled="yes" state="started"