summaryrefslogtreecommitdiff
path: root/ansible/roles/gemini/tasks
diff options
context:
space:
mode:
authorJoe Carstairs <me@joeac.net>2026-08-12 17:20:08 +0100
committerJoe Carstairs <me@joeac.net>2026-08-12 17:20:08 +0100
commit4f8d16ebcb16811d6a7a95d659be7e138d2713ef (patch)
tree491b2e0980cbc2ce61bbdaf62df8acb83313fecf /ansible/roles/gemini/tasks
parent96877bf48ae0920a3439dc3f7866638df4cc633c (diff)
ansible installs gemini capsule
Diffstat (limited to 'ansible/roles/gemini/tasks')
-rw-r--r--ansible/roles/gemini/tasks/main.yml44
1 files changed, 44 insertions, 0 deletions
diff --git a/ansible/roles/gemini/tasks/main.yml b/ansible/roles/gemini/tasks/main.yml
new file mode 100644
index 0000000..73d730e
--- /dev/null
+++ b/ansible/roles/gemini/tasks/main.yml
@@ -0,0 +1,44 @@
+- name: Checkout joeac.net source code
+ ansible.builtin.git:
+ repo: https://git.joeac.net/joeac/joeac.net.git
+ dest: "{{ src_dir }}/joeac.net"
+ depth: 1
+ version: main
+
+- name: Run initial comitium refresh
+ register: comitium_refresh
+ ansible.builtin.command:
+ cmd: /usr/local/bin/comitium refresh --data {{ src_dir }}/joeac.net/gemini/comitium-data
+ creates: "{{ src_dir }}/joeac.net/gemini/comitium-data/feed.gmi"
+
+- name: Schedule daily comitium refresh
+ ansible.builtin.cron:
+ special_time: daily
+ job: /usr/local/bin/comitium refresh --data {{ src_dir }}/joeac.net/gemini/comitium-data
+ name: daily comitium refresh for joeac.net capsule
+
+- name: Build joeac.net capsule
+ register: build_capsule
+ community.general.make:
+ chdir: "{{ src_dir }}/joeac.net/gemini"
+
+- name: Install gemini service
+ register: install_service
+ ansible.builtin.template:
+ src: openrc/gemini
+ dest: /etc/init.d/gemini
+ mode: "775"
+
+- name: Start gemini service and configure to start on boot
+ when: not ( comitium_refresh is changed or build_capsule is changed or install_service is changed )
+ ansible.builtin.service:
+ name: gemini
+ enabled: true
+ state: started
+
+- name: Restart gemini service and configure to start on boot
+ when: comitium_refresh is changed or build_capsule is changed or install_service is changed
+ ansible.builtin.service:
+ name: gemini
+ enabled: true
+ state: restarted