diff options
author | Joshua Hull <josh@fireflop.com> | 2023-01-15 10:49:21 +0100 |
---|---|---|
committer | Emil Renner Berthing <esmil@labitat.dk> | 2023-01-27 11:19:24 +0100 |
commit | 50d0af489296a42f8773066ffc37265dab1d5b0a (patch) | |
tree | 239da772f1c500721f35ea2a8b2a8af88269dbda /roles/sky/tasks/homepage.yml | |
parent | 0562d72eaafaedf0f10414e0b42fa92d248c60f3 (diff) | |
download | labitat-ansible-50d0af489296a42f8773066ffc37265dab1d5b0a.tar.gz labitat-ansible-50d0af489296a42f8773066ffc37265dab1d5b0a.tar.xz labitat-ansible-50d0af489296a42f8773066ffc37265dab1d5b0a.zip |
sky: homepage: set up the frontpage of labitat.dk
esmil:
- use timer to update the homepage
- git clone/update and install gems as the homepage user
Diffstat (limited to 'roles/sky/tasks/homepage.yml')
-rw-r--r-- | roles/sky/tasks/homepage.yml | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/roles/sky/tasks/homepage.yml b/roles/sky/tasks/homepage.yml new file mode 100644 index 0000000..54872ed --- /dev/null +++ b/roles/sky/tasks/homepage.yml @@ -0,0 +1,82 @@ +--- +- name: Create homepage user + user: + comment: 'user for homepage' + name: homepage + group: homepage + uid: 3000 + shell: '/bin/bash' + +- name: Clone/update homepage git repo + git: + dest: '~homepage/homepage' + repo: 'https://github.com/labitat/homepage' + version: main + remote: origin + #single_branch: yes + #accept_newhostkey: yes + clone: yes + update: yes + become_user: homepage + register: homepage_git + +- name: Deploy new homepage + block: + - name: Delete old gems + file: + path: '~homepage/homepage/{{ item }}' + state: absent + with_items: + - Gemfile.lock + - lib + - bin + - name: Install dependencies + command: /usr/bin/bundle + args: + chdir: '~homepage/homepage' + become_user: homepage + - name: Create build and out directories + file: + path: '~homepage/homepage/{{ item }}' + state: directory + owner: homepage + group: homepage + mode: 0755 + with_items: + - build + - out + when: homepage_git is changed + +- name: Create update-homepage service and timer + copy: + dest: '/etc/systemd/system/{{ item }}' + src: '{{ item }}' + owner: root + group: root + mode: 0644 + with_items: + - update-homepage.service + - update-homepage.timer + notify: + - restart update-homepage + +- name: Enable update-homepage timer + systemd: + name: update-homepage.timer + enabled: yes + masked: no + state: started + +- name: Install nginx site for homepage + template: + dest: '/etc/nginx/sites-enabled/homepage' + src: homepage.nginx.j2 + owner: root + group: root + mode: 0644 + notify: + - reload nginx + tags: + - nginx + +# vim: set ts=2 sw=2 et: |