<feed xmlns='http://www.w3.org/2005/Atom'>
<title>luke/bitcoin-ansible-roles/bitcoind, branch main</title>
<subtitle>Ansible roles for Bitcoin and Lightning Network node
</subtitle>
<id>https://src.nth.io/luke/bitcoin-ansible-roles/atom?h=main</id>
<link rel='self' href='https://src.nth.io/luke/bitcoin-ansible-roles/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/bitcoin-ansible-roles/'/>
<updated>2026-08-09T17:17:36Z</updated>
<entry>
<title>bitcoin: natpmp toggle; bump bitcoind 31.1, lnd 0.20.2-beta</title>
<updated>2026-08-09T17:17:36Z</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-08-09T17:04:49Z</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/bitcoin-ansible-roles/commit/?id=01bf1a09928ec308cd58fd00005ec85241b5d04f'/>
<id>urn:sha1:01bf1a09928ec308cd58fd00005ec85241b5d04f</id>
<content type='text'>
Add bitcoind_natpmp (default on, matching Core 28+); upnp dropped since the
official binaries ship without miniupnpc. Bump bitcoind 31.0 -&gt; 31.1 and lnd
0.20.x -&gt; 0.20.2-beta, with sha256 hashes updated from the signed bitcoin
SHA256SUMS and the lnd release manifest.
</content>
</entry>
<entry>
<title>bitcoind: verify the release tarball against a pinned sha256</title>
<updated>2026-07-31T19:30:29Z</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-07-31T19:30:29Z</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/bitcoin-ansible-roles/commit/?id=960d14f9f2af1990dac0ae887c150d8a9ea00dce'/>
<id>urn:sha1:960d14f9f2af1990dac0ae887c150d8a9ea00dce</id>
<content type='text'>
Pinned per arch from the official SHA256SUMS; download and unarchive
are split so nothing extracts unless the tarball matches. Update the
pins when bumping bitcoind_version.
</content>
</entry>
<entry>
<title>bitcoind-prometheus-exporter: grant read access to bitcoin.conf</title>
<updated>2026-07-30T23:19:43Z</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-07-30T23:19:43Z</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/bitcoin-ansible-roles/commit/?id=81809160f41aed1161070148d8cf60a1ed24a6f3'/>
<id>urn:sha1:81809160f41aed1161070148d8cf60a1ed24a6f3</id>
<content type='text'>
The exporter reads rpc credentials from bitcoin.conf but the bitcoind
role writes it 0600 bitcoin:bitcoin, so the prometheus user could
never read it (only long-lived processes predating the tightened mode
kept working). Make the conf group-readable and add prometheus to the
bitcoin group.
</content>
</entry>
<entry>
<title>bitcoind: harden the service unit for boot and shutdown</title>
<updated>2026-07-30T23:19:43Z</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-07-30T23:19:43Z</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/bitcoin-ansible-roles/commit/?id=4d15c92944280312d47198d6861918b3316784bf'/>
<id>urn:sha1:4d15c92944280312d47198d6861918b3316784bf</id>
<content type='text'>
- order after network-online: rpcbind fails with getaddrinfo errors
  when bitcoind starts before addresses are configured
- restart on failure so a transient bad start heals itself
- 30min stop timeout: the chainstate flush can far exceed systemd's
  90s default, and a SIGKILL there risks a slow replay or a reindex
</content>
</entry>
<entry>
<title>bitcoind: bump to 31.0</title>
<updated>2026-07-21T00:01:32Z</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-07-21T00:01:32Z</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/bitcoin-ansible-roles/commit/?id=f7ac758286927494d8238a28702b85386a80478e'/>
<id>urn:sha1:f7ac758286927494d8238a28702b85386a80478e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Harden bitcoind and lnd: file permissions, service binding, no_log</title>
<updated>2026-04-06T02:24:11Z</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-04-06T01:19:40Z</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/bitcoin-ansible-roles/commit/?id=f2f3906b8e9f1af99de9cf6488d54732a711dfc6'/>
<id>urn:sha1:f2f3906b8e9f1af99de9cf6488d54732a711dfc6</id>
<content type='text'>
- Config files 0644 -&gt; 0600
- Add no_log: true to config tasks
- Bind lnd rpclisten and restlisten to 127.0.0.1
</content>
</entry>
<entry>
<title>Reverted rev of bitcoind.</title>
<updated>2026-03-27T20:25:13Z</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-03-27T20:25:13Z</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/bitcoin-ansible-roles/commit/?id=caf13f1cbef5faf089a27f23b25202660780829c'/>
<id>urn:sha1:caf13f1cbef5faf089a27f23b25202660780829c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>version bumps.</title>
<updated>2026-03-27T16:06:26Z</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-03-27T16:06:26Z</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/bitcoin-ansible-roles/commit/?id=083f604f4e3b3cf152cb42be92ea05635d03df59'/>
<id>urn:sha1:083f604f4e3b3cf152cb42be92ea05635d03df59</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fixed logging</title>
<updated>2026-03-24T04:33:20Z</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-03-24T04:33:20Z</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/bitcoin-ansible-roles/commit/?id=cb2bfbfa2abd06b52f1d7b40527c8d132eab06a3'/>
<id>urn:sha1:cb2bfbfa2abd06b52f1d7b40527c8d132eab06a3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Performance tweaks.</title>
<updated>2025-09-01T17:37:03Z</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2025-09-01T17:37:03Z</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/bitcoin-ansible-roles/commit/?id=dc12f6e742dac76c8fb46047dc7313196751a427'/>
<id>urn:sha1:dc12f6e742dac76c8fb46047dc7313196751a427</id>
<content type='text'>
</content>
</entry>
</feed>
