Vela is a self-hostable, serverless Postgres development platform. Built on a high-performance distributed storage layer, it provides instant database branching, independent scaling of compute and storage, and enterprise-grade access control — all deployable in your own cloud. Enterprise-grade features and toolkit developers love in one product.
Vela OS is the operating system which runs the Vela branch services inside the Neon Autoscaling VM.
The Vela main repository is here.
Vela OS is built using Buildroot and a set of additional packages, which mostly integrate PostgreSQL extensions and tools.
This repository contains the required Buildroot configuration files and the scripts which help build the Vela OS image in a Docker or podman environment. This build system itself if fully containerized and self-contained for easy execution.
The following section describes the main steps and commands to build the Vela OS image. Additional commands are available through the builder script.
A full set of commands can be retrieved by running the builder script:
$ ./builderThe Vela OS build system contains of a comprehensive script which unifies and simplifies the build process.
Clone the Vela OS repository and change into the directory. These steps, typically, only have to performed once or when the buildroot submodule is updated.
$ git clone https://github.com/simplyblock/vela-os.git
$ cd vela-osThe Buildroot submodule needs to be initialized, downloaded, and patched. The build system has a command to do this in one step:
$ ./builder initializeSince the build system is fully containerized, the container image of the builder needs to be built. The image is versioned (through the checksum of the Dockerfile) and can be cached for faster builds. If the image needs to be updated, the build system will notify and ask to rebuild the image.
$ ./builder docker setupTo build the Vela OS image, run the following command:
$ ./builder buildThe build system will build all required host tools, as well as all required target packages. The build is extensive and takes a while, especially for the first run. To speed up further builds, the build system caches built object files through CCache and downloaded sources. The caches are located in $HOME/ccache and $HOME/dlcache.
The build system uses configuration files to adjust what needs to be built. The set of configuration files contains the Buildroot, the Linux kernel, and the Busybox configuration.
To adjust the Buildroot configuration run the following command:
$ ./builder configTo adjust the Linux kernel configuration run the following command:
$ ./builder config LinuxTo adjust the Busybox configuration run the following command:
$ ./builder config busyboxAfter adjusting one or more of the configurations, the following command needs to be run to store the changes back into the prototype directory:
$ ./builder saveconfigThe easiest way to get started is through Vela Cloud.
Free tier available — no credit card required.
Find help, explore resources, or get involved with the Vela community.
- Open an Issue – Report bugs or suggest improvements
- Start a Discussion – Share feedback and feature ideas, ask questions, share ideas, and connect with other users
- Contribute Code – Submit pull requests following our contribution guidelines
We welcome contributions of all kinds — from documentation improvements and bug fixes to new features and integrations.