Please run
generate-dev.sh
in order to generate ARK Core Docker files
bash generate-dev.sh
NOTE
This by default generates all Docker dev files with token ark
. If you prefer a different token name, just pass it as an extra argument to the script:
bash generate-dev.sh MyToken
Run a PostgreSQL container, build and run ARK Core using a mounted volume.
During container start your locally cloned ARK Core folder is being mounted inside the container. This configuration works well when developing ARK Core itself, as you do not need to rebuild the container to test your changes.
WARNING
The build process expectes your locally cloned ARK Core git folder location to be ~/core
or it will fail.
Along with PostgreSQL container, you also have a NodeJS container which mounts your local ARK Core git folder inside the container and installs all NPM prerequisites.
Clone ARK Core repository. Recommended branch to use for development is
develop
.
git clone https://github.com/ArkEcosystem/core.git -b develop ~/core
Let's build and run the containers:
cd ~/core-docker/development/$NETWORK # (NETWORK = testnet || devnet)
docker-compose up -d
NOTE
Your local core-docker
git folder is expected to be at ~/core-docker
. This is also important for the build process.
You can now enter your ark-core container and use NodeJS in a Docker container (Linux environment).
docker exec -it $TOKEN-$NETWORK-core bash # (NETWORK = testnet || devnet, default TOKEN is `ark`)
In case you need to start with a clean Database:
docker-compose down -v postgres
docker-compose up -d postgres
Need to start everything from scratch and make sure there are no remaining cached containers, images or volumes left? Just use the purge_all.sh script.
WARNING Development files/presets are not Production ready. Official Production ARK-Core Docker images are now available at Docker Hub.
If you discover a security vulnerability within this package, please send an e-mail to security@ark.io. All security vulnerabilities will be promptly addressed.
This project exists thanks to all the people who contribute.