{"id":16100060,"url":"https://github.com/fooock/bitcoind-ansible","last_synced_at":"2025-04-05T23:33:40.416Z","repository":{"id":128381980,"uuid":"597444460","full_name":"fooock/bitcoind-ansible","owner":"fooock","description":"Install Bitcoin Core using Ansible","archived":false,"fork":false,"pushed_at":"2024-04-01T08:49:58.000Z","size":16,"stargazers_count":2,"open_issues_count":6,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-12T05:56:59.936Z","etag":null,"topics":["ansible","bitcoin","bitcoin-core","bitcoind"],"latest_commit_sha":null,"homepage":"https://galaxy.ansible.com/fooock/bitcoind","language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fooock.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-04T15:18:44.000Z","updated_at":"2024-12-13T12:42:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"f42f7178-1bba-4da3-8dd8-fe516d3ac66a","html_url":"https://github.com/fooock/bitcoind-ansible","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fooock%2Fbitcoind-ansible","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fooock%2Fbitcoind-ansible/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fooock%2Fbitcoind-ansible/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fooock%2Fbitcoind-ansible/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fooock","download_url":"https://codeload.github.com/fooock/bitcoind-ansible/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247415826,"owners_count":20935384,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","bitcoin","bitcoin-core","bitcoind"],"created_at":"2024-10-09T18:44:51.514Z","updated_at":"2025-04-05T23:33:40.388Z","avatar_url":"https://github.com/fooock.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bitcoin Core Ansible role\n\n![GitHub Workflow Status (with branch)](https://img.shields.io/github/actions/workflow/status/fooock/bitcoind-ansible/ansible.yml?branch=main\u0026label=Ansible%20Tests\u0026logo=github\u0026style=for-the-badge)\n\nAnsible role to install the [Bitcoin Core](https://bitcoincore.org/en/about/) client as a `systemd` service. By default,\nit uses sane defaults and some hardening measures for the Systemd service.\n\nBy default, all binaries are installed inside `/usr/local/bitcoin-core-\u003cversion\u003e/bin` directory. So for example, if you\nare installing the version `23.0`, if you want to invoke the `bitcoin-cli` binary, you will need to\nuse `/usr/local/bitcoin-core-23.0/bin/bitcoin-cli`. Note this is the case for the rest of the binaries from Bitcoin.\n\nUsually, you don't need the absolute binary path since this role creates a symbolic link\nto `/home/\u003cuser\u003e/.bitcoin`. Using absolute routes is only useful when doing updates to the binary and a rollback is\nrequired\nor to using a specific binary version to execute an operation.\n\n### Requirements\n\nThis role requires a user with `sudo` permissions to work properly.\n\nList of officially supported operating systems:\n\n| ID           | Name         | Status             |\n|--------------|--------------|--------------------|\n| `ubuntu2004` | Ubuntu 20.04 | :white_check_mark: |\n| `ubuntu2204` | Ubuntu 22.04 | :white_check_mark: |\n\n### How to run this?\n\nCreate a playbook like this one:\n\n```yaml\n- hosts: bitcoind\n  roles:\n    - role: fooock.bitcoind\n      become: yes\n```\n\nNote that you can use `become` at a global level instead at the role level.\nIf you want to install the Bitcoin node into a Raspberry Pi, just change the architecture:\n\n```yaml\n- hosts: bitcoind\n  become: yes\n  vars:\n    bitcoin_arch: aarch64-linux-gnu\n  roles:\n    - role: fooock.bitcoind\n```\n\n### Testing\n\nYou can execute tests using `molecule`. Install the [`requirements.txt`](molecule) file depending on if you want\nto execute tests through Docker or with a VM managed by Vagrant.\n\n```bash\n$ molecule test\n```\n\nIf you want to run a test through a specific operating system you can update the `MOLECULE_DISTRO` variable using\nthe operating system ID mentioned in the requirements table.\n\n## Variables\n\nYou can change some variables to install this role to fit your needs. The default values to install the\nBitcoin node are the following ones:\n\n| Name              \t | Value              \t |\n|---------------------|----------------------|\n| `bitcoin_user`    \t | `bitcoin`          \t |\n| `bitcoin_group`   \t | `bitcoin`          \t |\n| `bitcoin_version` \t | `26.0`             \t |\n| `bitcoin_arch`    \t | `x86_64-linux-gnu` \t |\n\n\u003e If you want to install Bitcoin into a Raspberry you need to change the architecture to `aarch64-linux-gnu`.\n\nTo configure the Bitcoin node, you can use the following variables:\n\n| Name                   \t     | Value           \t | Note                                             \t |\n|------------------------------|-------------------|----------------------------------------------------|\n| `bitcoin_data_dir`     \t     | `/data/bitcoin` \t | \t                                                  |\n| `bitcoin_network`      \t     | `main`          \t | Valid values are: `regtest`, `signet` and `test` \t |\n| `bitcoin_rpc_user`     \t     | `bitcoin`       \t | \t                                                  |\n| `bitcoin_rpc_password` \t     | `bitcoin`       \t | \t                                                  |\n| `bitcoin_zmq_host`     \t     | `127.0.0.1`     \t | \t                                                  |\n| `bitcoin_bind`     \t         | `127.0.0.1`     \t | \t                                                  |\n| `bitcoin_rpc_bind`     \t     | `127.0.0.1`     \t | This is where to expose the RPC server\t            |\n| `bitcoin_rpc_allow_ip`     \t | `127.0.0.1`     \t | This can be an IP or a range like `10.0.0.0/24`\t   |\n\n### GPG verification\n\nBy default, this installer uses `gpg` to verify the integrity and signature of the downloaded artifacts. This\nbehaviour is controlled by the `bitcoin_pgp_builders_pub_key` field. The content of this structure and default values\nare the following:\n\n| Name       \t | ID                                         \t |\n|--------------|----------------------------------------------|\n| `laanwj` \t   | `71A3B16735405025D447E8F274810B012346C9A6` \t |\n| `fanquake` \t | `E777299FC265DD04793070EB944D35F9AC3DB76A` \t |\n\nIf you only want to verify with one user, you should use something like this:\n\n```yaml\nbitcoin_pgp_builders_pub_key:\n  - id: 71A3B16735405025D447E8F274810B012346C9A6\n    name: laanwj\n```\n\n\u003e I use the Guix attestations to verify the release. The data can be found on\n\u003e the [Bitcoin Github official repository](https://github.com/bitcoin-core/guix.sigs).\n\u003e If the release can't be trusted the role will fail the installation.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffooock%2Fbitcoind-ansible","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffooock%2Fbitcoind-ansible","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffooock%2Fbitcoind-ansible/lists"}