aboutsummaryrefslogtreecommitdiffstats
path: root/roles/sky/tasks
diff options
context:
space:
mode:
authorJoshua Hull <josh@fireflop.com>2023-01-15 10:49:21 +0100
committerEmil Renner Berthing <esmil@labitat.dk>2023-01-27 11:19:24 +0100
commit50d0af489296a42f8773066ffc37265dab1d5b0a (patch)
tree239da772f1c500721f35ea2a8b2a8af88269dbda /roles/sky/tasks
parent0562d72eaafaedf0f10414e0b42fa92d248c60f3 (diff)
downloadlabitat-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')
-rw-r--r--roles/sky/tasks/homepage.yml82
-rw-r--r--roles/sky/tasks/main.yml2
2 files changed, 84 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:
diff --git a/roles/sky/tasks/main.yml b/roles/sky/tasks/main.yml
index 6144e82..9d04b9f 100644
--- a/roles/sky/tasks/main.yml
+++ b/roles/sky/tasks/main.yml
@@ -11,5 +11,7 @@
- import_tasks: certbot.yml
tags: certbot
+- import_tasks: homepage.yml
+ tags: homepage
# vim: set ts=2 sw=2 et: