{"id":13469786,"url":"https://github.com/lncm/docker-bitcoind","last_synced_at":"2026-01-26T07:41:29.496Z","repository":{"id":42979575,"uuid":"169405548","full_name":"lncm/docker-bitcoind","owner":"lncm","description":"Flexible multi-arch (amd \u0026 amd64) Bitcoin Core Docker image ","archived":false,"fork":false,"pushed_at":"2025-01-19T07:19:25.000Z","size":420,"stargazers_count":108,"open_issues_count":17,"forks_count":37,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-03-26T09:40:41.506Z","etag":null,"topics":["alpine","amd64","arm","bitcoin","docker-image","lncm"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/lncm/bitcoind","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lncm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2019-02-06T12:52:52.000Z","updated_at":"2025-02-23T11:47:52.000Z","dependencies_parsed_at":"2024-05-16T03:15:17.707Z","dependency_job_id":"ebb75700-7d0a-4587-af16-3abac6eb2ab4","html_url":"https://github.com/lncm/docker-bitcoind","commit_stats":null,"previous_names":[],"tags_count":69,"template":false,"template_full_name":null,"purl":"pkg:github/lncm/docker-bitcoind","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lncm%2Fdocker-bitcoind","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lncm%2Fdocker-bitcoind/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lncm%2Fdocker-bitcoind/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lncm%2Fdocker-bitcoind/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lncm","download_url":"https://codeload.github.com/lncm/docker-bitcoind/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lncm%2Fdocker-bitcoind/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28769850,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-26T06:37:25.426Z","status":"ssl_error","status_checked_at":"2026-01-26T06:37:23.039Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["alpine","amd64","arm","bitcoin","docker-image","lncm"],"created_at":"2024-07-31T16:00:16.064Z","updated_at":"2026-01-26T07:41:29.480Z","avatar_url":"https://github.com/lncm.png","language":"Dockerfile","funding_links":[],"categories":["Apps"],"sub_categories":["Crypting"],"readme":"lncm/bitcoind\n=============\n\n[![Build Status]][builds]\n[![gh_last_release_svg]][gh_last_release_url]\n[![Docker Image Size]][lnd-docker-hub]\n[![Docker Pulls Count]][lnd-docker-hub]\n\n[Build Status]: https://github.com/lncm/docker-bitcoind/workflows/Build%20\u0026%20deploy%20on%20git%20tag%20push/badge.svg\n[builds]: https://github.com/lncm/docker-bitcoind/actions?query=workflow%3A%22Build+%26+deploy+on+git+tag+push%22\n\n[gh_last_release_svg]: https://img.shields.io/github/v/release/lncm/docker-bitcoind?sort=semver\n[gh_last_release_url]: https://github.com/lncm/docker-bitcoind/releases/latest\n\n[Docker Image Size]: https://img.shields.io/microbadger/image-size/lncm/bitcoind.svg\n[Docker Pulls Count]: https://img.shields.io/docker/pulls/lncm/bitcoind.svg?style=flat\n[lnd-docker-hub]: https://hub.docker.com/r/lncm/bitcoind\n\n\nThis repo builds [`bitcoind`] in an [auditable way](https://github.com/lncm/docker-bitcoind), and packages it into a minimal Docker containers provided for various CPU architectures.\n\n[`bitcoind`]: https://github.com/bitcoin/bitcoin\n\n\n\u003e The work here was initially based on [ruimarinho/docker-bitcoin-core](https://github.com/ruimarinho/docker-bitcoin-core/), but has significantly diverged since.\n\n\n#### Details\n\n* **All [`git-tags`]** \u003csmall\u003e(and most commits)\u003c/small\u003e **are signed** by `D8CA1776EB9265491D07CE67F546ECBEA809CB18`\n* **All [`git-tags`]** \u003csmall\u003e(and most commits)\u003c/small\u003e **are [`opentimestamps`]-ed**\n* **All builds aim to be maximally auditable.**  After `git tag push`, the entire process is automated, with each step printed, and the code aiming to be easy to follow\n* All builds are based on [Alpine]\n* Cross-compiled builds are done using our (also auditable) [`qemu`]\n* To fit build and complete `make check` test suite, BerkeleyDB is build separately [here]\n* Each build produces binaries for: `amd64`, `arm64v8`, and `arm32v7`\n* All architectures are aggregated under an easy-to-use [Docker Manifest]\n* All [`git-tags`] are [build automatically], and with an [auditable trace]\n* Each successful build of a `git tag` pushes result Docker image to [Docker Hub]\n* Images pushed to Docker Hub are never deleted (even if `lnd` version gets overridden, previous one is preserved)\n* All `final` images are based on Alpine for minimum base size\n* All binaries are [`strip`ped]\n* Each `git-tag` build is tagged with a unique tag number\n* Each _minor_ version is stored in a separate directory (for the ease of backporting patches)\n\n\n[`git-tags`]: https://github.com/lncm/docker-lnd/tags\n[`opentimestamps`]: https://github.com/opentimestamps/opentimestamps-client/blob/master/doc/git-integration.md#usage\n[Alpine]: https://github.com/lncm/docker-bitcoind/blob/6beae356ba16ee0297427c6401cd34f93044e256/0.19/Dockerfile#L11-L12\n[`qemu`]: https://github.com/meeDamian/simple-qemu\n[here]: https://github.com/lncm/docker-berkeleydb\n[Docker Manifest]: https://github.com/lncm/docker-bitcoind/blob/6beae356ba16ee0297427c6401cd34f93044e256/.github/workflows/on-tag.yml#L177-L193\n[build automatically]: https://github.com/lncm/docker-bitcoind/blob/6beae356ba16ee0297427c6401cd34f93044e256/.github/workflows/on-tag.yml\n[auditable trace]: https://github.com/lncm/docker-bitcoind/runs/507498587?check_suite_focus=true\n[Docker Hub]: https://github.com/lncm/docker-bitcoind/blob/6beae356ba16ee0297427c6401cd34f93044e256/.github/workflows/on-tag.yml#L167-L193\n[Github Releases]: https://github.com/lncm/docker-bitcoind/blob/6beae356ba16ee0297427c6401cd34f93044e256/.github/workflows/on-tag.yml#L196-L203\n[`strip`ped]: https://github.com/lncm/docker-bitcoind/blob/6beae356ba16ee0297427c6401cd34f93044e256/0.19/Dockerfile#L176\n\n\n\u003e **NOTE:** ZMQ `block` and `tx` ports are set to `28332` and `28333` respectively. \n\n\n## Tags\n\n\u003e **NOTE:** For an always up-to-date list see: https://hub.docker.com/r/lncm/bitcoind/tags\n\n* `v26.0`\n* `v25.1`\n* `v25.0`\n* `v24.0.1`\n* `v23.0`\n* `v22.0`\n* `v0.21.1`\n* `v0.21.0`\n* `v0.20.0`\n* `v0.19.1`\n* `v0.19.0.1`\n* `v0.18.1`\n* `v0.17.2`\n* `v0.16.3`\n* `v0.15.2`\n\n\n## Usage\n\n### Pull\n\nFirst pull the image from [Docker Hub]:\n\n```bash\ndocker pull lncm/bitcoind:v25.0\n```\n\n\u003e **NOTE:** Running above will automatically choose native architecture of your CPU.\n\n[Docker Hub]: https://hub.docker.com/r/lncm/bitcoind\n\nOr, to pull a specific CPU architecture:\n\n```bash\ndocker pull lncm/bitcoind:v25.0-arm64v8\n```\n\n#### Start\n\nFirst of all, create a directory in your home directory called `.bitcoin`\n\nNext, create a config file. You can take a look at the following sample: thebox-compose-system ([1](https://github.com/lncm/thebox-compose-system/blob/master/bitcoin/bitcoin.conf)).\n\nSome guides on how to configure bitcoin can be found [here](https://github.com/bitcoin/bitcoin/blob/master/doc/bitcoin-conf.md) (bitcoin git repo)\n\nThen to start bitcoind, run:\n\n```bash\ndocker run  -it  --rm  --detach \\\n    -v ~/.bitcoin:/data/.bitcoin \\\n    -p 8332:8332 \\\n    -p 8333:8333 \\\n    -p 28332:28332 \\\n    -p 28333:28333 \\\n    --name bitcoind \\\n    lncm/bitcoind:v25.0\n```\n\nThat will run bitcoind such that:\n\n* all data generated by the container is stored in `~/.bitcoin` **on your host machine**,\n* port `8332` will be reachable for the RPC communication,\n* port `8333` will be reachable for the peer-to-peer communication,\n* port `28332` will be reachable for ZMQ **block** notifications,\n* port `28333` will be reachable for ZMQ **transaction** notifications,\n* created container will get named `bitcoind`,\n* within the container, `bitcoind` binary is run as unprivileged user `bitcoind` (`UID=1000`),\n* that command will run the container in the background and print the ID of the container being run.\n\n\n#### Interact\n\nTo issue any commands to a running container, do:\n\n```bash\ndocker exec -it bitcoind BINARY COMMAND\n```\n\nWhere:\n* `BINARY` is either `bitcoind`, `bitcoin-cli`, `bitcoin-tx`, (or `bitcoin-wallet` on `v0.18+`) and\n* `COMMAND` is something you'd normally pass to the binary   \n\nExamples:\n\n```bash\ndocker exec -it bitcoind bitcoind --help\ndocker exec -it bitcoind bitcoind --version\ndocker exec -it bitcoind bitcoin-cli --help\ndocker exec -it bitcoind bitcoin-cli -getinfo\ndocker exec -it bitcoind bitcoin-cli getblockcount\n```\n\n### Docker Compose\nHere is a docker-compose.yml for mainnet\n```yaml\nversion: '3'\nservices:\n  bitcoin:\n    container_name: bitcoind\n    user: 1000:1000\n    image: lncm/bitcoind:v25.0\n    volumes:\n      - ./bitcoin:/data/.bitcoin\n    restart: on-failure\n    stop_grace_period: 15m30s\n    ports:\n      - \"8333:8333\"\n      - \"8332:8332\"\n      - \"28332:28332\"\n      - \"28333:28333\"\n```\nFirst, ensure that the `bitcoin/` folder is in the directory containing docker-compose.yml.\nThen, Docker Compose will mount the `bitcoin/` folder to `/data/.bitcoin`.\n\n#### Troubleshooting\n\n##### Bitcoind isn't starting\n\nHere are some possible reasons why.\n\n###### Permissions for the bitcoin data directory is not correct\n\nThe permissions for the bitcoin data direct is assumed to be UID 1000 (first user). \n\nIf you have a different setup, please do the following\n\n```bash\n# where \".bitcoin\" is the data directory\nsudo chown -R 1000.1000 $HOME/.bitcoin\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flncm%2Fdocker-bitcoind","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flncm%2Fdocker-bitcoind","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flncm%2Fdocker-bitcoind/lists"}