- 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 ansible.builtin.git: repo: git://git.joeac.net/joeac.net.git dest: ~nginx/src/joeac.net depth: 1 version: main - name: Run initial comitium refresh register: comitium_refresh ansible.builtin.command: 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 ansible.builtin.cron: special_time: daily 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 register: build_capsule community.general.make: 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 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 - name: Install daily crontab to update gemini ansible.builtin.cron: special_time: daily name: Update gemini job: git -C ~nginx/src/joeac.net pull; make -C ~nginx/src/joeac.net/gemini user: nginx