Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
openBalena VPS Configuration

Locally installing to a server


# /etc/systemd/system/docker.service.d/override.conf
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker.service
  • Install docker-compose:
  • Setup DNS entries:
    • A record “openbalena.{domain}” to the server IP address
    • CNAME record “*.openbalena.{domain}” to “openbalena.{domain}”
    • Setup any firewalls:
    • Allow ports 80, 443, 3128 to the server

Basic tests

  • $ dig *.openbalena.{domain} to check DNS
  • Workstation can ping “openbalena.{domain}”
  • Workstation can ping “test.openbalena.{domain}”

Workstation has balena tools installed:

  • Balena-CLI
  • Etcher
  • Docker


  • $ export DOCKER_HOST=tcp://
  • $ docker ps

Installing openBalena

  • Clone the repository: git clone
  • Setup openBalena:
./scripts/quickstart \
-U <email@address> \
-P <password> \
-d openbalena.<> \
  • Start openBalena: ./scripts/compose up -d

  • Point balena-cli to openBalena: export BALENARC_BALENA_URL=openbalena.<>

  • Create a new app: balena app create testApp

  • Download the balenaOS from here and configure the image to use your app: balena os configure ~/path/to/balenaOS.img --app testApp

  • Flash the SD Card: balena local flash ~/path/to/balenaOS.img

  • Deploy balena project to the device: balena deploy testApp --emulated --logs --build

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.