Manage Gondulf and StarPunk with Ansible

Both were hand-deployed to /opt/stacks. Templates match the live setup
and keep the same stack dirs and volume names, so data stays put.
Secrets come from the vault; .env and the StarPunk compose file are now
0640 root:docker instead of the broken 1204 mode. Adds their DNS
records to dns.yml and drops the dead godulf. Caddy route (no DNS).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Phil
2026-10-31 09:42:36 -06:00
co-authored by Claude Opus 5.5
parent 6f6a669cf3
commit be9523a0c4
11 changed files with 139 additions and 6 deletions
@@ -9,3 +9,7 @@
- name: Install listmonk
import_tasks: listmonk.yml
tags: listmonk
- name: Install starpunk
import_tasks: starpunk.yml
tags: starpunk
@@ -0,0 +1,21 @@
- name: make starpunk directories
ansible.builtin.file:
path: "{{ item }}"
state: directory
loop:
- /opt/stacks/starpunk
- name: Template out the starpunk compose file
ansible.builtin.template:
src: starpunk-compose.yml.j2
dest: /opt/stacks/starpunk/compose.yml
owner: root
mode: '0640'
group: docker
diff: false # contains the session secret
- name: deploy starpunk stack
community.docker.docker_compose_v2:
project_src: /opt/stacks/starpunk
files:
- compose.yml