<feed xmlns='http://www.w3.org/2005/Atom'>
<title>luke/ansible-roles, branch main</title>
<subtitle>Ansible roles for nth.io infrastructure
</subtitle>
<id>https://src.nth.io/luke/ansible-roles/atom?h=main</id>
<link rel='self' href='https://src.nth.io/luke/ansible-roles/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/ansible-roles/'/>
<updated>2026-04-26T01:04:39+00:00</updated>
<entry>
<title>Only run pleroma migrate on version change or first install</title>
<updated>2026-04-26T01:04:39+00:00</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-04-26T01:04:39+00:00</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/ansible-roles/commit/?id=ad2215ee82a87f11c23a7b50c7cc09de9bb7c802'/>
<id>urn:sha1:ad2215ee82a87f11c23a7b50c7cc09de9bb7c802</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Build all roles from source with versioned artifacts</title>
<updated>2026-04-26T00:54:49+00:00</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-04-26T00:54:49+00:00</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/ansible-roles/commit/?id=6a8cb5f10557733f1521035d57a191b12832d634'/>
<id>urn:sha1:6a8cb5f10557733f1521035d57a191b12832d634</id>
<content type='text'>
- Add pleroma/build role to compile from source (OTP binaries no longer published)
- Install Elixir 1.18.3 manually on Ubuntu Noble (ships 1.14, needs 1.15+)
- Standardize all build roles to produce versioned .tar.gz artifacts
- Add version defaults to all server roles (bin, dendrite, nostr/relayer)
- Switch server roles from get_url to unarchive for .tar.gz installs
- Add build_srv_dir variable to all build roles
- Deploy pleroma styles.json so custom FE themes appear in picker
- Fix pleroma OTP install: version check, root ownership, auto-cleanup old releases
- Fix pleroma config: log level :warn -&gt; :warning, remove availableStyles
- Add wait_for grafana readiness before dashboard install
- Set minecraft ops changed_when: false
</content>
</entry>
<entry>
<title>Add cgit favicon deploy task</title>
<updated>2026-04-19T19:12:06+00:00</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-04-19T19:12:06+00:00</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/ansible-roles/commit/?id=5d5b976e379487e8b1eccc4fc96d5920a930ff0f'/>
<id>urn:sha1:5d5b976e379487e8b1eccc4fc96d5920a930ff0f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make cgit source-filter path configurable, add deploy task</title>
<updated>2026-04-19T18:52:04+00:00</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-04-19T18:52:04+00:00</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/ansible-roles/commit/?id=7802f85d65b6227cf836b57efd8b84483aa4d877'/>
<id>urn:sha1:7802f85d65b6227cf836b57efd8b84483aa4d877</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove nginx config tasks from git/web role, make owner discovery recursive</title>
<updated>2026-04-19T02:45:06+00:00</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-04-19T02:45:06+00:00</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/ansible-roles/commit/?id=9e4694c554b75b115d54f610c4e22c8027e94e0b'/>
<id>urn:sha1:9e4694c554b75b115d54f610c4e22c8027e94e0b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make cgit theme configurable via variables, fix owner discovery</title>
<updated>2026-04-19T01:55:32+00:00</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-04-19T01:55:32+00:00</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/ansible-roles/commit/?id=2592380207121753a2f64abd9c4fd4b3e99b3c0f'/>
<id>urn:sha1:2592380207121753a2f64abd9c4fd4b3e99b3c0f</id>
<content type='text'>
Add cgit_css_src, cgit_header_src, cgit_footer_src, cgit_owner variables to
optionally install a custom theme without hardcoding nth.io. Move scan-path
after enable-git-config in cgitrc so gitweb.owner is read from repo git
configs. Switch repo owner loop from find|while to glob for loop to avoid
subshell issues.
</content>
</entry>
<entry>
<title>Use checksum-based rsync for nginx root file sync</title>
<updated>2026-04-19T00:06:12+00:00</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-04-19T00:06:12+00:00</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/ansible-roles/commit/?id=eb73ba26e2ef66e38097b784fb3c4621a2991a40'/>
<id>urn:sha1:eb73ba26e2ef66e38097b784fb3c4621a2991a40</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add nginx permanent redirects for old Mercurial /file/tip/ paths to cgit /tree/</title>
<updated>2026-04-18T23:29:40+00:00</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-04-18T23:29:40+00:00</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/ansible-roles/commit/?id=2d9c77f71cd0d98f499326f1a7750880ae7ce5c6'/>
<id>urn:sha1:2d9c77f71cd0d98f499326f1a7750880ae7ce5c6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix cgit duplicate repo name in URLs by setting virtual-root=/</title>
<updated>2026-04-18T20:42:41+00:00</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-04-18T20:42:41+00:00</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/ansible-roles/commit/?id=fd4cc06d93bbcfb374c787a258c04351e33f6653'/>
<id>urn:sha1:fd4cc06d93bbcfb374c787a258c04351e33f6653</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename unifi role to unifi-controller</title>
<updated>2026-04-18T17:52:35+00:00</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-04-18T17:52:35+00:00</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/ansible-roles/commit/?id=d609c10d0f93817d30608b6bb64fd07848c25705'/>
<id>urn:sha1:d609c10d0f93817d30608b6bb64fd07848c25705</id>
<content type='text'>
</content>
</entry>
</feed>
