summaryrefslogtreecommitdiff
path: root/roles/gemini
diff options
context:
space:
mode:
authorJoe Carstairs <me@joeac.net>2026-09-14 09:10:59 +0100
committerJoe Carstairs <me@joeac.net>2026-09-14 09:10:59 +0100
commit8aba55f1517810cb4eedf2cd0255eb2bea3b8173 (patch)
tree3c10c1114efba24b9e0bf61ed5abaf3451fae76a /roles/gemini
parentbeb4a9e5ab8ad5ab8637f2154427c3dc88c0e991 (diff)
http, gemini source code stored in ~, not /usr/share/src
Diffstat (limited to 'roles/gemini')
-rw-r--r--roles/gemini/files/update_gemini9
-rw-r--r--roles/gemini/tasks/main.yml34
-rw-r--r--roles/gemini/templates/openrc/gemini6
-rw-r--r--roles/gemini/templates/update_gemini9
4 files changed, 26 insertions, 32 deletions
diff --git a/roles/gemini/files/update_gemini b/roles/gemini/files/update_gemini
deleted file mode 100644
index 75f2e6a..0000000
--- a/roles/gemini/files/update_gemini
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-
-prev_version="$(~/.cargo/bin/agate --version)"
-cargo install agate
-new_version="$(~/.cargo/bin/agate --version)"
-if [ "$prev_version" != "$new_version" ]
-then
- rc-service gemini restart
-fi
diff --git a/roles/gemini/tasks/main.yml b/roles/gemini/tasks/main.yml
index 8239bb6..ffc00d4 100644
--- a/roles/gemini/tasks/main.yml
+++ b/roles/gemini/tasks/main.yml
@@ -1,30 +1,42 @@
+- name: Create joeac.net source code directory
+ ansible.builtin.file:
+ path: ~nginx/src
+ state: directory
+ recurse: true
+ owner: "{{ ansible_ssh_user }}"
+ group: "{{ ansible_ssh_user }}"
+
- name: Checkout joeac.net source code
- become: false
ansible.builtin.git:
repo: git://git.joeac.net/joeac.net.git
- dest: "{{ src_dir }}/joeac.net"
+ dest: ~nginx/src/joeac.net
depth: 1
version: main
- name: Run initial comitium refresh
- become: false
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"
+ cmd: /usr/local/bin/comitium refresh --data ~nginx/src/joeac.net/gemini/comitium-data
+ creates: ~nginx/src/joeac.net/gemini/comitium-data/feed.gmi
- name: Schedule daily comitium refresh
- become: false
ansible.builtin.cron:
special_time: daily
- job: /usr/local/bin/comitium refresh --data {{ src_dir }}/joeac.net/gemini/comitium-data
+ job: /usr/local/bin/comitium refresh --data ~nginx/src/joeac.net/gemini/comitium-data
name: daily comitium refresh for joeac.net capsule
+ user: nginx
- name: Build joeac.net capsule
- become: false
register: build_capsule
community.general.make:
- chdir: "{{ src_dir }}/joeac.net/gemini"
+ chdir: ~nginx/src/joeac.net/gemini
+
+- name: Chown joeac.net source code for nginx
+ ansible.builtin.file:
+ path: ~nginx/src
+ recurse: true
+ owner: nginx
+ group: nginx
- name: Install gemini service
register: install_service
@@ -48,8 +60,8 @@
state: restarted
- name: Install daily crontab to update gemini
- become: false
ansible.builtin.cron:
special_time: daily
name: Update gemini
- job: git -C {{ src_dir }}/joeac.net pull; make -C {{ src_dir }}/joeac.net/gemini
+ job: git -C ~nginx/src/joeac.net pull; make -C ~nginx/src/joeac.net/gemini
+ user: nginx
diff --git a/roles/gemini/templates/openrc/gemini b/roles/gemini/templates/openrc/gemini
index fbc2cc8..de066e7 100644
--- a/roles/gemini/templates/openrc/gemini
+++ b/roles/gemini/templates/openrc/gemini
@@ -1,10 +1,10 @@
#!/sbin/openrc-run
-description="agate gemini server (serving {{ src_dir }}/joeac.net/gemini/content)"
+description="agate gemini server (serving /home/{{ ansible_ssh_user }}/src/joeac.net/gemini/content)"
start()
{
- ebegin "Starting agate (serving {{ src_dir }}/joeac.net/gemini/content)"
+ ebegin "Starting agate (serving /home/{{ ansible_ssh_user }}/src/joeac.net/gemini/content)"
start-stop-daemon --start \
--exec /root/.cargo/bin/agate \
--background \
@@ -13,7 +13,7 @@ start()
--make-pidfile \
--pidfile /run/agate.pid \
-- \
- --content {{ src_dir }}/joeac.net/gemini/content/ \
+ --content /home/{{ ansible_ssh_user }}/src/joeac.net/gemini/content/ \
--addr 0.0.0.0:1965 \
--addr [::]:1965 \
--lang en-GB
diff --git a/roles/gemini/templates/update_gemini b/roles/gemini/templates/update_gemini
deleted file mode 100644
index 4e4f319..0000000
--- a/roles/gemini/templates/update_gemini
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-
-cd {{ src_dir }}/joeac.net/gemini
-git pull
-if make -q
-then
- make
- rc-service gemini restart
-fi