aboutsummaryrefslogtreecommitdiffstats
path: root/roles/sky/tasks/homepage.yml
blob: 54872edb850fef6222debb067997b32411ce8c58 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
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: