diff options
author | Stonewall Jackson <stonewall@sacredheartsc.com> | 2023-02-04 01:23:43 -0500 |
---|---|---|
committer | Stonewall Jackson <stonewall@sacredheartsc.com> | 2023-02-04 01:52:13 -0500 |
commit | 0261e875679f1bf63c8d689da7fc7e014597885d (patch) | |
tree | 3f19cd74a0c1070944f75437f30b098d6ef2ffcb /roles/psitransfer/tasks | |
download | selfhosted-0261e875679f1bf63c8d689da7fc7e014597885d.tar.gz selfhosted-0261e875679f1bf63c8d689da7fc7e014597885d.zip |
initial commit
Diffstat (limited to 'roles/psitransfer/tasks')
-rw-r--r-- | roles/psitransfer/tasks/main.yml | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/roles/psitransfer/tasks/main.yml b/roles/psitransfer/tasks/main.yml new file mode 100644 index 0000000..8526465 --- /dev/null +++ b/roles/psitransfer/tasks/main.yml @@ -0,0 +1,76 @@ +- name: install nodejs + dnf: + name: nodejs + state: present + +- name: create local user + user: + name: '{{ psitransfer_user }}' + system: yes + home: '{{ psitransfer_home }}' + shell: /sbin/nologin + create_home: no + +- name: create directories + file: + path: '{{ item }}' + owner: '{{ psitransfer_user }}' + group: '{{ psitransfer_user }}' + mode: 0700 + state: directory + loop: + - '{{ psitransfer_home }}' + - '{{ psitransfer_install_dir }}' + - '{{ psitransfer_data_dir }}' + +- name: extract tarball + unarchive: + src: '{{ psitransfer_url }}' + remote_src: yes + dest: '{{ psitransfer_install_dir }}' + owner: '{{ psitransfer_user }}' + group: '{{ psitransfer_user }}' + extra_opts: + - '--strip-components=1' + +- name: install npm dependencies + npm: + path: '{{ psitransfer_install_dir }}' + production: yes + become: yes + become_user: '{{ psitransfer_user }}' + +- name: create systemd unit + template: + src: etc/systemd/system/psitransfer.service.j2 + dest: /etc/systemd/system/psitransfer.service + register: psitransfer_unit + notify: restart psitransfer + +- name: reload systemd daemons + systemd: + daemon_reload: yes + when: psitransfer_unit.changed + +- name: generate config file + template: + src: '{{ psitransfer_install_dir[1:] }}/config.production.js.j2' + dest: '{{ psitransfer_install_dir }}/config.production.js' + owner: '{{ psitransfer_user }}' + group: '{{ psitransfer_user }}' + mode: 0600 + notify: restart psitransfer + +- name: start psitransfer + systemd: + name: psitransfer + enabled: yes + state: started + +- name: set http_port_t selinux context on psitransfer port + seport: + ports: '{{ psitransfer_port }}' + proto: tcp + setype: http_port_t + state: present + tags: selinux |