Predictable container deployment and management on top of automated multi-host docker-compose

Very easy to use

Overnode is as easy as Docker Compose.
You need only 15 minutes to learn multi-host part of it. Secure network is run by Weavenet, which is famous for its simplicity and great ops tools. Learn more...

Production graded

Once your containers are up and running,
Docker and Weavenet are the only runtime acting components of the tool.
Both power many known small and large scale production deployments.

Config samples for 1000x apps

We bet you can find suitable Docker Compose configuration for any more or less known application. All of them will require only minor or no changes to work with specifics of your overnode cluster.

Flexible and predictable

You have got full control of all of the parameters of containers, including names, sub-networks, ip addresses, DNS names, volumes, environment variables, etc. and also placement across hosts. Overnode changes it only when an operator applies new or updated configurations.

Automated rollover upgrade

Upgrade your stacks with a piece of mind. Overnode can apply configurations and recreate services layer-by-layer and / or node-by-node, ensuring healthy status of the upgraded components at each step.

Off the shelf devops infrastructure

Save time on setting up your devops tools. Overnode provides optional pre-configured off the shelf stacks: monitoring and alerting by Prometheus, central logging by Loki, metrics and logs browsing by Grafana, awesome interactive display by Weave Scope.

1. # Install overnode for the required hosts:
hostX > wget --no-cache -O - https://overnode.org/install | sudo sh
2. # Form a cluster:
host1 > sudo overnode launch --id 1 --token my-cluster-password host1 host2 host3
host2 > sudo overnode launch --id 2 --token my-cluster-password host1 host2 host3
host3 > sudo overnode launch --id 3 --token my-cluster-password host1 host2 host3
3. # Create new project, optionally adding pre-configured stacks (yours or 3rd party):
host1 > sudo overnode init --project my-project \
host1 > https://github.com/overnode-org/overnode@examples/infrastructure/weavescope \
host1 > https://github.com/overnode-org/overnode@examples/infrastructure/prometheus \
host1 > https://github.com/overnode-org/overnode@examples/infrastructure/loki \
host1 > https://github.com/overnode-org/overnode@examples/infrastructure/grafana
4. # Adjust containers placement, if necessary:
host1 > nano overnode.yml
5. # (Re-)deploy containers to the cluster:
host1 > sudo overnode up # run once from any host in the cluster