Build docker image and push to registry.bitdeals.org / main-build-job (push) Successful in 2m12s
The daemon has always listened on 8444 and nothing published it, so every node built from this image was outbound-only. Publishing it is now a documented choice rather than an omission -- including the two things that are not obvious from the config: peers are told the port from `port` in keys.dat rather than the one you mapped it to (so only 8444:8444 works), and the node's own address is never configured at all, because every peer replaces the hardcoded 127.0.0.1 in the version message with the IP it sees on the socket. An open port needs a brake, hence BITMESSAGE_MAXTOTALCONNECTIONS. It defaults to the PyBitmessage stock 200, so nothing changes for existing users of the image. The key is inserted when the stock config lacks it instead of trusting the substitution: the PyBitmessage clone is unpinned, and a silent no-op would ship a node that looks capped and is not. The API port in the example compose moves to loopback, which is what the README already prescribed.
28 lines
900 B
YAML
28 lines
900 B
YAML
services:
|
|
bitmessage:
|
|
build:
|
|
context: ./docker
|
|
dockerfile: Dockerfile
|
|
image: registry.bitdeals.org/bitmessage
|
|
environment:
|
|
- BITMESSAGE_API_USER=bitmessage_api_user
|
|
- BITMESSAGE_API_PASSWORD=bitmessage_api_password
|
|
- BITMESSAGE_SEED_PHRASE=
|
|
- BITMESSAGE_SEED_ADDRESSES=1
|
|
- BITMESSAGE_TTL=172800
|
|
- BITMESSAGE_STOPRESENDINGAFTERXDAYS=60
|
|
- BITMESSAGE_MAXTOTALCONNECTIONS=40
|
|
ports:
|
|
# The API controls the daemon completely and has no TLS, so it never
|
|
# leaves loopback -- the README has said so all along, this file did not.
|
|
- 127.0.0.1:8442:8442
|
|
# P2P. Only 8444:8444 works — the daemon announces its own configured
|
|
# port to peers, not the one you mapped it to. Drop this line to run
|
|
# outbound-only.
|
|
- 8444:8444
|
|
volumes:
|
|
- bitmessage:/home/bitmessage
|
|
volumes:
|
|
bitmessage:
|
|
|