This project aims to build a Docker Swarm utilizing resources rented from Providers on the Golem Network. As a user, you can:
- Request resource allocation from Golem Network Providers.
- Deploy and configure a Docker Swarm using this tool.
- Add a
docker context
to your local Docker node. - Execute Docker workloads on the Swarm deployed on Golem Network's resources.
After installing yagna on your system by following the official installation guide:
npm i -g docker-on-golem@latest
Once installed, explore the available options using the help command:
docker-on-golem --help
Deploy your Docker Swarm using the following command:
docker-on-golem -k [your-yagna-app-key]
# Additional options are available; use --help to explore possibilities
To add a new Docker context pointing to the Swarm deployed on Golem Network:
docker context create golem-swarm --docker "host=tcp://localhost:3375"
docker context use golem-swarm
You should now be able to use docker
, docker compose
, or docker stack
in this setup.
- Runtime name:
vm
- Runtime version:
0.4.2
Add outbound URLs to the whitelist:
# Allow internet access to everyone, but restricted to the whitelist
ya-provider rule set outbound everyone --mode whitelist
# Add the Docker registry to the whitelist
ya-provider whitelist add -p registry-1.docker.io -t strict
You can check if everything is set with these commands
# Here, you should see the Everyone/whitelist entry
ya-provider rule list
# Here you should see the entry on the whitelist
ya-provider whitelist list