Docker is the de facto industry standard for packaging applications into a container. By doing so, all dependencies, such as the language runtimes, operating system, and libraries are combined with the product.

Configure your delegate secret and password. Just use the additional script enc.sh.

bash enc.sh

You will be asked to enter your delegate secret, followed by entering your password twice.
Script will create a new folder named enc, containing set of encrypted public and private keys.

WARNING

Folder enc is needed during core container startup. After making sure your forger is up and running it is preferably to delete it. The disadvantage of this would be that if you your server gets rebooted or simply core container restarted, you will have repeat step 2.

Now let's run the forger:

docker-compose up -d

This will fire up two separate containers. One for Core itself and another one for PostgreSQL.

Run a PostgreSQL container, build and run Ark-Core using a mounted volume.

When a container is built, all files are copied inside the container. It cannot interact with the host's filesystem unless a directory is specifically mounted during container start. This configuration works well when developing Ark Core itself, as you do not need to rebuild the container to test your changes.

TIP

Along with PostgreSQL container, now you also have a NodeJS container which mounts your local ark-core git folder inside the container and installs all NPM prerequisites.