<feed xmlns='http://www.w3.org/2005/Atom'>
<title>luke/ansible-roles/pleroma/otp/tasks, 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>Harden role security: file permissions, service binding, no_log, strict defaults</title>
<updated>2026-04-06T02:19:55+00:00</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-04-06T02:19:55+00:00</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/ansible-roles/commit/?id=06b69bd8def0aae07d3fb565d19193be1a8dfe20'/>
<id>urn:sha1:06b69bd8def0aae07d3fb565d19193be1a8dfe20</id>
<content type='text'>
- Add no_log: true to tasks that handle passwords/secrets
- Tighten config file permissions (0644 -&gt; 0600/0640 where appropriate)
- Bind pleroma to 127.0.0.1 instead of 0.0.0.0
- Tighten ergo unix socket mode 0777 -&gt; 0770
- Remove weak defaults; roles now fail explicitly if required vars not set
</content>
</entry>
<entry>
<title>Added soju role.</title>
<updated>2026-03-28T18:42:08+00:00</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-03-28T18:42:08+00:00</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/ansible-roles/commit/?id=45da5bca82200af63b0ee16479b267eb209386f3'/>
<id>urn:sha1:45da5bca82200af63b0ee16479b267eb209386f3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Lots of updates and fixes for Ubuntu 24.04 Noble.</title>
<updated>2024-10-07T20:25:37+00:00</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2024-10-07T20:25:37+00:00</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/ansible-roles/commit/?id=27739609362360b2bf533f5a59106ce52c8d4b9f'/>
<id>urn:sha1:27739609362360b2bf533f5a59106ce52c8d4b9f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Cleaned up always-changed status tasks.</title>
<updated>2024-07-29T17:41:57+00:00</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2024-07-29T17:41:57+00:00</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/ansible-roles/commit/?id=874be10f6646a66cd0e994963b2746ad48f5b73e'/>
<id>urn:sha1:874be10f6646a66cd0e994963b2746ad48f5b73e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Tons of updates to fix migration to new server.</title>
<updated>2024-02-05T02:27:19+00:00</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2024-02-05T02:27:19+00:00</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/ansible-roles/commit/?id=04edbf561c44e28753cbbaa3870b23b220cc644c'/>
<id>urn:sha1:04edbf561c44e28753cbbaa3870b23b220cc644c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Changed pleroma logging to "warn" status.</title>
<updated>2022-09-05T16:14:16+00:00</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2022-09-05T16:14:16+00:00</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/ansible-roles/commit/?id=d39e7c2142f5920a4e4b135eb92a1e44a863dd6d'/>
<id>urn:sha1:d39e7c2142f5920a4e4b135eb92a1e44a863dd6d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fixed typo</title>
<updated>2021-07-25T03:12:04+00:00</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2021-07-25T03:12:04+00:00</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/ansible-roles/commit/?id=33e25728398a9ccdd446197b1eb12e66c40a890e'/>
<id>urn:sha1:33e25728398a9ccdd446197b1eb12e66c40a890e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>More fixes.</title>
<updated>2021-07-24T23:15:24+00:00</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2021-07-24T23:15:24+00:00</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/ansible-roles/commit/?id=db88719c9dad036143867533ad136a35e0fc9c1f'/>
<id>urn:sha1:db88719c9dad036143867533ad136a35e0fc9c1f</id>
<content type='text'>
</content>
</entry>
</feed>
