Fully configurable docker image for Stellar Core
100K+
The Docker images are published at satoshipay/stellar-core and come in multiple flavors that are available as tags:
10.0.0 or latest.10.0.0-aws or latest-aws.10.0.0-gcloud or latest-gcloud.The container can be fully configured via environment variables, see below.
There is also an example Docker Compose config – just run
docker-compose -f docker-compose.example.yml up to get a functional node.
Make sure to use a new NODE_SEED if you intend to run this in production!
If you don't have a node seed yet you can create one by running
docker run --rm -it --entrypoint '' satoshipay/stellar-core stellar-core --genseed
Use the Secret seed only for the NODE_SEED env variable and tell other nodes
your Public key.
All Stellar Core config options can be set via environment variables. Here we list the ones you probably want to set:
NODE_SEED: your secret seed, see above.
NETWORK_PASSPHRASE: default is Public Global Stellar Network ; September 2015 which
is the public production network; use Test SDF Network ; September 2015 for the testnet.
DATABASE: default is sqlite3://stellar.db which you should definitely change for production,
e.g., postgresql://dbname=stellar user=postgres host=postgres or
postgresql://dbname=stellar user=postgres password=DATABASE_PASSWORD host=postgres
(see DATABASE_PASSWORD).
DATABASE_PASSWORD: if provided, the string DATABASE_PASSWORD in the DATABASE
variable is replace with its value. This is useful for providing passwords separately,
e.g., via secrets in Kubernetes.
KNOWN_PEERS: comma-separated list of peers (ip:port) to connect to when
below TARGET_PEER_CONNECTIONS, e.g.,
core-live-a.stellar.org:11625,core-live-b.stellar.org:11625,core-live-c.stellar.org:11625.
HISTORY: JSON of the following form:
{
"h1": {
"get": "curl -sf http://history.stellar.org/prd/core-live/core_live_001/{0} -o {1}"
}
}
INITIALIZE_HISTORY_ARCHIVES: if set to true the history archives with a put command
will be initialized if they haven't been initialized yet. Note: detecting whether
an archive has already been initialized is done via checking a file in the /data volume
so the archive will be re-initialized when the volume is recreated.
NODE_NAMES: comma-separated list of nodes with names (e.g., for using them in QUORUM_SET), for example:
GCGB2S2KGYARPVIA37HYZXVRM2YZUEXA6S33ZU5BUDC6THSB62LZSTYH sdf_watcher1,GCM6QMP3DLRPTAZW2UZPCPX2LF3SXWXKPMP3GKFZBDSF3QZGV2G5QSTK sdf_watcher2,GABMKJM6I25XI4K7U6XWMULOUQIQ27BCTMLS6BYYSOWKTBUXVRJSXHYQ sdf_watcher3
QUORUM_SET: JSON of the following form:
[
{
"validators": [
"GDQWITFJLZ5HT6JCOXYEVV5VFD6FTLAKJAUDKHAV3HKYGVJWA2DPYSQV you_can_add",
"GANLKVE4WOTE75MJS6FQ73CL65TSPYYMFZKC4VDEZ45LGQRCATGAIGIA human_readable"
]
},
{
"path": "1",
"threshold_percent": 67,
"validators": [
"$self",
"GDXJAZZJ3H5MJGR6PDQX3JHRREAVYNCVM7FJYGLZJKEHQV2ZXEUO5SX2 some_name"
]
}
]
Content type
Image
Digest
Size
385.9 MB
Last updated
over 5 years ago
docker pull satoshipay/stellar-core:16.0.0-azure