Commit graph

813 commits

Author SHA1 Message Date
Erik Arvstedt
343bf4731c
charge-lnd: remove electrum server support
This has been removed upstream:
481ccf5282
2025-05-25 13:28:21 +02:00
Erik Arvstedt
c65cfdcbec
bitcoind: remove upper limit of option dbcache
The upper limit has been removed.
See item `The maximum allowed value...` at
https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-29.0.md#updated-settings
2025-05-22 15:04:37 +02:00
Erik Arvstedt
ce6244cc69
clightning: set service as active only after clnrest has started 2025-05-20 22:42:41 +02:00
Erik Arvstedt
a2a0174d0f
bitcoind-rpc-public-whitelist.nixbitcoind-rpc-public-whitelist: add getblockfrompeer
This is used by nbxplorer since v2.5.24 on pruned nodes:
https://github.com/dgarage/NBXplorer/pull/511
2025-05-15 23:11:37 +02:00
Erik Arvstedt
69090cddfa
pinned pkgs: add bitcoind-knots 2025-05-13 00:00:54 +02:00
Erik Arvstedt
815f2cd325
clightning: don't set datadir for bitcoin-cli plugin
This option is unneeded because `bitcoin-cli` auth and connection
settings are already provided by other options like `bitcoin-rpcpassword`.

In bitcoind versions prior to 29.0, option `datadir` (passed by clightning to `bitcoin-cli`)
was therefore ignored.
Since 29.0, option `datadir` is always checked for validity. This causes a
file permission error because service clighting has no access to the
bitcoin datadir. This is now fixed.
2025-05-09 13:56:18 +02:00
Erik Arvstedt
04b6a09be4
clightning-plugins: use clnrest, remove Python version 2025-05-09 13:32:19 +02:00
Erik Arvstedt
4aaef5fdf4
services: use wants dependency where possible
Let A be a service that depends on another service B.
When A can gracefully handle failures and restarts of B, use
```
wants = [ "B.service" ];
after = [ "B.service" ];
```
instead of
```
requires = [ "B.service" ];
after = [ "B.service" ];
```
in the definition of A.

This way, A keeps running when B is stopped or restarted after a failure.
With `requires`, A is instead stopped when B is stopped or restarted due to a failure.

This brings two benefits:

1. Improved uptime
Examples:
- RTL keeps running when one lightning node has failed
- btcpayserver keeps running and accepting on-chain payments when the lightning node has crashed

2. Avoids a systemd bug where depending units (`A.service` in the
above example) are not restarted when their dependency fails
(issue github/systemd#18856, no full link to avoid spamming the issue).
In real world nix-bitcoin deployments, this issue was only likely to
appear when clightning failed during activation, causing depending
units (like `RTL`) to stop and not be restarted.
All services depending on `clightning` have now been changed to use
`wants`, thereby avoiding the bug.

Services `electrs` and `lightning-loop` fail when their respective
dependencies stop, so these services have not been changed.
I also haven't changed services `joinmarket` and
`joinmarket-yieldgenerator`. Further manual testing is needed to
determine if they can be switched to `wants`.
2025-01-29 20:44:26 +01:00
Jonas Nick
ed163fece1
update nixpkgs
bitcoin: 28.0 -> 28.1
bitcoind: 28.0 -> 28.1
clightning: 24.11 -> 24.11.1
electrs: 0.10.7 -> 0.10.8
extra-container: 0.12 -> 0.13
lnd: 0.18.3-beta -> 0.18.4-beta
2025-01-21 16:51:29 +00:00
Erik Arvstedt
09ba739719
nbxplorer: remove deprecated option
Fixes this warning:
Explorer: Options 'automigrate' is obsolete and ignored...
2024-12-14 10:52:26 +01:00
Erik Arvstedt
3ce3a000b2
modules: update to NixOS 24.11 2024-12-14 10:52:26 +01:00
Erik Arvstedt
daa3bfbae3
lndconnect: add clnrest 2024-11-27 21:35:46 +01:00
Erik Arvstedt
ad2a128471
rtl: use clnrest
Using `clightning-rest` is no longer supported by rtl.
2024-11-27 21:35:46 +01:00
Erik Arvstedt
e74ddd9464
clightning.plugins.clnrest: init 2024-11-27 18:48:24 +01:00
Jonas Nick
c0994bfc7b
Merge fort-nix/nix-bitcoin#744: update nixpkgs
2f986c80e5 update nixpkgs (Jonas Nick)
76ea066809 trustedcoin: 0.8.2 -> 2024-11-15 (Erik Arvstedt)

Pull request description:

ACKs for top commit:
  erikarvstedt:
    ACK 2f986c80e5

Tree-SHA512: 2824fc5f2c0f5586d1912c237a0b129387a913283d70840c6c4020e168bf924814b335796e863a64b97f6d60aced0e65fd10561fb3c1d4a33542dc235df46d25
2024-11-16 14:57:49 +00:00
Jonas Nick
2f986c80e5
update nixpkgs
bitcoin: 27.1 -> 28.0
bitcoind: 27.1 -> 28.0
clboss: 0.13.3 -> 0.14.0
2024-11-15 19:37:56 +01:00
Erik Arvstedt
ca96e1959e
lnd: make ExecStartPost extensible
By wrapping the value in a list, users can add other `ExecStartPost` scripts.
The previous scalar value could only be replaced, but not merged with
other definitions.
2024-11-06 16:48:30 +01:00
Erik Arvstedt
8e34b25164
btcpayserver: fix lnd with "bind to any" restAddress 2024-08-29 20:34:36 +02:00
Jonas Nick
6e208d6a7b
Merge fort-nix/nix-bitcoin#722: joinmarket: Add option settings
cf3f0dbb2d joinmarket: add option `settings` (Erik Arvstedt)
da2e473158 joinmarket: don't set default config options (Erik Arvstedt)
74eb9a17b6 joinmarket/yieldgenerator: add docs link to description (Erik Arvstedt)
5694408d3a joinmarket: remove deleted option `txfee` (Erik Arvstedt)

Pull request description:

ACKs for top commit:
  jonasnick:
    utACK cf3f0dbb2d

Tree-SHA512: 36754539670dedcc494b28fa8383b189bd8fcf4044e0be624f47db953b189d706ed76df305e10fbea69f4e0dd9c419eb1eaf35de75e860883ea3305456fc31ed
2024-08-13 07:17:49 +00:00
Erik Arvstedt
cf3f0dbb2d
joinmarket: add option settings
Joinmarket settings can now be freely specified.
2024-08-11 20:16:56 +02:00
Erik Arvstedt
da625fc13d
bitcoind.rpc.users: improve example
Add RPC entries that don't exist in the public whitelist.
2024-07-31 18:13:29 +02:00
Erik Arvstedt
a04c15958a
btcpayserver: remove redundant RPC entry from whitelist
`getpeerinfo` already exists in the public whitelist.
2024-07-31 18:13:29 +02:00
Erik Arvstedt
fee9dc8c17
bitcoind-rpc-public-whitelist: add getnodeaddresses
`getnodeaddresses` returns addresses of peers the bitcoind instance
has seen over its lifetime. It's safe for public use.
2024-07-31 18:13:29 +02:00
Erik Arvstedt
da2e473158
joinmarket: don't set default config options
These options are set by default in `jmclient/configure.py` and don't
need to be repeated.

Some options, like those in section `POLICY`, might be assigned more
suitable default values in future joinmarket releases, so don't override
them in nix-bitcoin.
2024-07-29 11:24:37 +02:00
Erik Arvstedt
74eb9a17b6
joinmarket/yieldgenerator: add docs link to description 2024-07-29 11:22:47 +02:00
Erik Arvstedt
5694408d3a
joinmarket: remove deleted option txfee 2024-07-27 19:55:29 +02:00
Jonas Nick
1c6e35e152
Merge fort-nix/nix-bitcoin#718: Update to Nixos 24.05
2a9489ec0b tests/flake: check flake outputs for all systems (Erik Arvstedt)
b7bce52da9 examples: fix call to `start-bash-session.sh` (Erik Arvstedt)
5d0907b064 test/nixos-search: fix running `flake-info` in an offline environment (Erik Arvstedt)
3cc6010658 test/nixos-search/ci-test.sh: remove unneded setup step (Erik Arvstedt)
22c1424552 backups: fix for nixos 24.05 (Erik Arvstedt)
69b3d5f1b3 bitcoind: fix module warning (Erik Arvstedt)
e8e5d8cf4c python3Packages.joinmarket: update to nixos 24.05 (Erik Arvstedt)
7f8563afec python3Packages.pyln-proto: update to nixos 24.05 (Erik Arvstedt)
5d463b1677 treewide: remove `buildPythonPackageWithDepsCheck` (Erik Arvstedt)
fc703c38c9 treewide: remove obsolete `mdDoc` (Erik Arvstedt)
83eb1de24b update to nixos 24.05 (Erik Arvstedt)
7daab61431 rtl: remove unused pkg arg (Erik Arvstedt)

Pull request description:

ACKs for top commit:
  jonasnick:
    ACK 2a9489ec0b

Tree-SHA512: 1e88d52b52050ea39c18570eb22b3b83471ebbf30d7ba77f212947ffaaf80ebb851782aa6a5e42752bdfb0db00fa31d5fb9cebb7f42a50145acfeeef1c1aa934
2024-07-22 13:09:15 +00:00
Erik Arvstedt
22c1424552
backups: fix for nixos 24.05 2024-07-20 22:41:18 +02:00
Erik Arvstedt
69b3d5f1b3
bitcoind: fix module warning
Fix warning:
```
bitcoind.service is ordered after 'network-online.target' but doesn't depend on it
```
2024-07-20 22:41:18 +02:00
Erik Arvstedt
fc703c38c9
treewide: remove obsolete mdDoc 2024-07-18 20:57:00 +02:00
Erik Arvstedt
1f32792d31
bitcoind-rpc-public-whitelist: add getpeerinfo
Required by lnd 0.18.0.
2024-07-08 12:54:56 +02:00
Erik Arvstedt
5730afe48e
obsolete-options: add removed clightning plugins 2024-04-09 05:30:23 +00:00
Jonas Nick
b27078efa5
clightning-plugins: remove unmaintained summary plugin 2024-04-08 06:19:38 +00:00
Jonas Nick
24bc983363
clightning-plugins: remove unmaintained plugins prometheus & helpme 2024-04-08 06:01:47 +00:00
Jonas Nick
4e5c5dfe9b
Merge fort-nix/nix-bitcoin#671: bitcoind: set default ports in regtest mode
143fe30e03 bitcoind: set default ports in regtest mode (Jonas Nick)

Pull request description:

ACKs for top commit:
  erikarvstedt:
    ACK 143fe30e03

Tree-SHA512: 8a212dddd0c208058dfee79d50ca1b22fadcca6b852b2044cee110a258b86a8ce1b2c1c1f9da2c989c7f21cf6cd7d59680624ac8cced7a03e6d4202f9848c4f5
2024-01-16 12:11:01 +00:00
Jonas Nick
792e724897
Merge fort-nix/nix-bitcoin#673: Minor improvements
73d6d1e8ca dev: move mempool to `dev-features.sh` (Erik Arvstedt)
d61dc8b8d9 test/README: fix typos (Erik Arvstedt)
c1a7ab7b2f onion-services: fix markdown code formatting (Erik Arvstedt)
4347125344 nix-bitcoin: add example for option `pkgOverlays` (Erik Arvstedt)
7e0d54a19a docs/services: improve lndconnect-wireguard docs (Erik Arvstedt)

Pull request description:

ACKs for top commit:
  jonasnick:
    ACK 73d6d1e8ca

Tree-SHA512: 6a3348711e3f0d314935086eb081c6d98c2e5654740106d2e11954560ae7adce3d29a9435746eafbc3ead47d696ba48c4f492e2ca3f4673ff65a9e24b8cfac3a
2024-01-16 11:56:48 +00:00
Jonas Nick
143fe30e03
bitcoind: set default ports in regtest mode 2024-01-16 11:21:44 +00:00
Erik Arvstedt
c1a7ab7b2f
onion-services: fix markdown code formatting 2024-01-15 23:05:26 +01:00
Erik Arvstedt
4347125344
nix-bitcoin: add example for option pkgOverlays 2024-01-15 23:05:26 +01:00
Jonas Nick
3afe639215
update nixpkgs
bitcoind: 25.1 -> 26.0
clightning: 23.08.1 -> 23.11.2
elementsd: 22.1.1 -> 23.2.1
fulcrum: 1.9.7 -> 1.9.8
2024-01-15 10:32:22 +00:00
Erik Arvstedt
770a4354b4
btcpayserver: fix PostgreSQL 15 user permissions
Since PostgreSQL 15, DB users need to be DB owners to be able to create tables.

We can't use the new `ensureDBOwnerhip` NixOS option [1] to set this up,
because it requires the PostgreSQL user name and the database name to be
identical, which is not the case for btcpayserver.

Instead, we manually issue a PostgreSQL admin statement similar to the one
used by `ensureDBOwnerhip`.

This method of setting up the user is also compatible with older
PostgreSQL versions that come with older NixOS `system.stateVersion`s.

[1] https://github.com/NixOS/nixpkgs/pull/266270
2023-12-12 11:22:38 +01:00
Erik Arvstedt
be2028f2e8
mempool: use recommendedBrotliSettings 2023-12-12 11:22:38 +01:00
nixbitcoin
e4cb004905
joinmarket: 0.9.9 -> 0.9.10 2023-12-02 23:01:15 +01:00
Jonas Nick
a1eacce676
Merge fort-nix/nix-bitcoin#658: presets/wireguard: make compatible with secure-node preset
e784e0ceb8 presets/wireguard: make compatible with `secure-node` preset (Erik Arvstedt)

Pull request description:

ACKs for top commit:
  jonasnick:
    utACK e784e0ceb8

Tree-SHA512: a5506e487b01b78f9c420314980bb837079c2960a076f1fbf665db26b5325d9e96cef0743a9f66ab681dfc42fe6fabcee736519013c4c4d164b7d0922ebe8edf
2023-11-05 09:50:42 +00:00
Erik Arvstedt
e784e0ceb8
presets/wireguard: make compatible with secure-node preset
Disable Tor enforcement set by the secure-node preset.
2023-11-01 18:29:32 +01:00
Erik Arvstedt
1de259485b
mempool: add module 2023-10-31 13:44:04 +01:00
Erik Arvstedt
8cdedac046
bitcoind-rpc-public-whitelist: add getindexinfo 2023-10-30 11:58:24 +01:00
Jonas Nick
749901b923
Merge fort-nix/nix-bitcoin#653: Revert "clightning: don't cleanup socket on startup"
fc1466e743 Revert "clightning: don't cleanup socket on startup" (Erik Arvstedt)

Pull request description:

ACKs for top commit:
  jonasnick:
    ACK fc1466e743

Tree-SHA512: e4139ef9163fe371964cb8ab668f70dc414ecc5169e3d5d7a0637ef61493d51f1416d878abd21b28d5763e089e00ff10a2e8f30103b488871470ad31dd387025
2023-10-09 07:59:33 +00:00
Erik Arvstedt
fc1466e743
Revert "clightning: don't cleanup socket on startup"
Also, add a detailed comment.

Without this commit, clightning client services may fail to start
due to clightning RPC connection failures.
2023-10-08 21:39:46 +02:00
Erik Arvstedt
90ce68cb16
treewide: ensure services are started after secrets setup
Now all services that access secrets only run after the secrets setup
has finished.

Previously, we assumed that the systemd `after` dependency is
transitive, i.e. that adding an `after = [ "bitcoind.service" ]`
to a service implicitly pulled in the `after` dependency to
`nix-bitcoin-secrets.target` (which is defined for `bitcoind`).
This is not the case. Services could start before secrets setup
had finished, leading to service failure.
2023-10-08 13:56:56 +02:00