diff options
Diffstat (limited to 'writefreely')
| -rw-r--r-- | writefreely/defaults/main.yaml | 11 | ||||
| -rw-r--r-- | writefreely/handlers/main.yaml | 12 | ||||
| -rw-r--r-- | writefreely/tasks/main.yaml | 103 | ||||
| -rw-r--r-- | writefreely/templates/config.ini.j2 | 71 | ||||
| -rw-r--r-- | writefreely/templates/[email protected] | 12 |
5 files changed, 209 insertions, 0 deletions
diff --git a/writefreely/defaults/main.yaml b/writefreely/defaults/main.yaml new file mode 100644 index 0000000..a785dcc --- /dev/null +++ b/writefreely/defaults/main.yaml @@ -0,0 +1,11 @@ +--- + +writefreely_user: "writefreely" +writefreely_arch: "arm7" +writefreely_version: "0.12.0" +writefreely_tar: "https://github.com/writeas/writefreely/releases/download/v{{writefreely_version}}/writefreely_{{writefreely_version}}_linux_{{writefreely_arch}}.tar.gz" + +writefreely_dir: "/var/writefreely" +writefreely_port: "8080" +writefreely_url: "https://{{writefreely_instance}}" +writefreely_site_name: "{{writefreely_instance}}" diff --git a/writefreely/handlers/main.yaml b/writefreely/handlers/main.yaml new file mode 100644 index 0000000..7317489 --- /dev/null +++ b/writefreely/handlers/main.yaml @@ -0,0 +1,12 @@ +--- + +- name: reload service + become: yes + systemd: name="writefreely@{{writefreely_instance}}.service" enabled="yes" daemon_reload="yes" + +- name: migrate db + become: yes + become_user: "{{writefreely_user}}" + command: "writefreely db migrate" + args: + chdir: "{{writefreely_dir}}/{{writefreely_instance}}/" diff --git a/writefreely/tasks/main.yaml b/writefreely/tasks/main.yaml new file mode 100644 index 0000000..447cf6f --- /dev/null +++ b/writefreely/tasks/main.yaml @@ -0,0 +1,103 @@ +--- + +- 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" + notify: migrate db + +- name: create instance dir + become: yes + file: + path: "{{item}}" + state: "directory" + owner: "{{writefreely_user}}" + group: "{{writefreely_user}}" + mode: "0755" + notify: reload service + loop: + - "{{writefreely_dir}}" + - "{{writefreely_dir}}/{{writefreely_instance}}" + +- 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: check if keys exists + stat: + path: "{{writefreely_dir}}/{{writefreely_instance}}/keys/cookies_auth.aes256" + register: keys_file + +- name: generate keys + become: yes + become_user: "{{writefreely_user}}" + command: "writefreely keys gen" + args: + chdir: "{{writefreely_dir}}/{{writefreely_instance}}/" + when: not keys_file.stat.exists + +- 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: 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" diff --git a/writefreely/templates/config.ini.j2 b/writefreely/templates/config.ini.j2 new file mode 100644 index 0000000..bb5fe7f --- /dev/null +++ b/writefreely/templates/config.ini.j2 @@ -0,0 +1,71 @@ +[server] +hidden_host = +port = {{writefreely_port}} +bind = localhost +tls_cert_path = +tls_key_path = +autocert = false +templates_parent_dir = +static_parent_dir = +pages_parent_dir = +keys_parent_dir = +hash_seed = + +[database] +type = sqlite3 +filename = writefreely.db +username = +password = +database = writefreely +host = localhost +port = 3306 + +[app] +site_name = {{writefreely_site_name}} +site_description = +host = {{writefreely_url}} +theme = write +editor = +disable_js = false +webfonts = true +landing = /read +simple_nav = false +wf_modesty = false +chorus = false +forest = false +disable_drafts = false +single_user = false +open_registration = false +min_username_len = 3 +max_blogs = 1 +federation = true +public_stats = true +private = false +local_timeline = true +user_invites = admin +default_visibility = public +update_checks = false + +[oauth.slack] +client_id = +client_secret = +team_id = +callback_proxy = +callback_proxy_api = + +[oauth.writeas] +client_id = +client_secret = +auth_location = +token_location = +inspect_location = +callback_proxy = +callback_proxy_api = + +[oauth.gitlab] +client_id = +client_secret = +host = +display_name = +callback_proxy = +callback_proxy_api = diff --git a/writefreely/templates/[email protected] b/writefreely/templates/[email protected] new file mode 100644 index 0000000..bf0d03b --- /dev/null +++ b/writefreely/templates/[email protected] @@ -0,0 +1,12 @@ +[Unit] +Description=WriteFreely %I Instance +After=syslog.target network.target + +[Service] +WorkingDirectory={{writefreely_dir}}/%i/ +ExecStart=/usr/local/bin/writefreely +Restart=always +User={{writefreely_user}} + +[Install] +WantedBy=multi-user.target |
