Quick Start
curl -fsSL https://unbind.app | sudo shThe installer is self-guided and will walk you through the process.
Server Requirements
Unbind only supports x86_64 (Intel/AMD) and ARM64/AArch64 architectures.
At least one server is required to run Unbind. You can add more after installation at any time.
System Specifications:
| Component | Minimum | Recommended |
|---|---|---|
| CPU | 2 cores | 4 cores |
| Memory | 4 GB | 8 GB |
Operating System:
| OS | Version Supported | Recommended Version |
|---|---|---|
| Ubuntu | 22.04 or later | 24.04 (LTS) |
| Debian | 11 or later | Latest |
| Fedora | 40 or later | Latest |
| OpenSUSE Leap | 15 or later | Latest |
| CentOS Stream | 9 or later | Latest |
| AlmaLinux | 9 or later | Latest |
| Rocky Linux | 9 or later | Latest |
Your first server will act as a control plane. This adds some overhead that reduces the overall capacity of resources available to your workloads. If you add additional worker nodes, they will not have this overhead and will be able to run significantly more workloads than a single server.
Unbind’s installer will install k3s on your server - a certified Kubernetes distribution that is lightweight and easy to manage.
Domain Name
Unlike some other platforms, Unbind requires a domain name (or subdomain). The installer will automatically guide you through the configuration, but you will need to have a domain name ready and have access to create DNS records.
The DNS Section below will guide you through the process of setting up your domain name and wildcard DNS record.
A Wildcard DNS record will allow Unbind to generate domains for all of your applications without any additional DNS configuration.
Installation
Automated Installation
The easiest way to install Unbind is using our installation script:
curl -fsSL https://unbind.app | sudo shManual Installation
See the Bring Your Own Kubernetes section below for more information.
Installation Process
The installer will:
- System Check - Ensure your system is compatible with Unbind
- Install system dependencies - Install required packages
- Domain configuration - Setup your domain and wildcard DNS
- K3S setup - Install and configure k3s and Longhorn
- Install Unbind - Install Unbind and all of its dependencies into the new k3s cluster.
Most steps are fully automated, user input is only required during the domain configuration step.
DNS Setup
Unbind requires a domain name (or subdomain) to be setup before installation.
For this example, we are going to use:
unbind.appas the domain that we own.unbind.unbind.appas the domain that we will use to access our Unbind instance.unbind-registry.unbind.appas the domain that we will use for our container registry.
DNS options
You have two options for setting up DNS for Unbind:
- Wildcard DNS: This is the recommended option for the best experience.
- No Wildcard DNS: You will only lose the automatic domain generation feature of Unbind, but you can still manually create DNS records for each application you deploy.
Primary DNS
For the best experience, it is recommended to configure a wildcard DNS record for Unbind. This will allow Unbind to automatically generate routes for all of your applications without any additional DNS configuration.
Wildcard DNS Example
For our example domain, we are going to create an A record for *.unbind.app pointing to the public IP address of our Unbind server.
Cloudflare Example:
Porkbun Example:
Namecheap Example:
GoDaddy Example:
Other providers: Most DNS providers have a similar interface for creating DNS records - not all support Wildcard DNS, if you need help please join our Discord community and ask for assistance!
Some providers, such as Squarespace, do not support wildcard DNS records. You can either forego Wildcard DNS all together, or connect your domain to another provider such as Cloudflare or Porkbun.
Normal DNS Example
For our example domain, we are going to create an A record for unbind.unbind.app pointing to the public IP address of our Unbind server.
Cloudflare Example:
Porkbun Example:
Namecheap Example:
GoDaddy Example:
Other providers:
The process is the exact same as described above, just create an A record for unbind.unbind.app pointing to the public IP address of your Unbind server.
Registry DNS
For our example domain, we are going to create an A record for unbind-registry.unbind.app pointing to the public IP address of our Unbind server.
Cloudflare Example:
Other providers:
The process is the exact same as described above, just create an A record for unbind-registry.unbind.app pointing to the public IP address of your Unbind server.
You can also omit the internal registry and use any public registry such as Docker Hub, Quay.io, or GitHub Container Registry - just choose the option in the installer when prompted.
Final Steps
The installer will validate that your DNS records are set up correctly before proceeding with the installation. If you have any issues, please double-check your DNS records and ensure they are pointing to the correct IP address.
(Advanced) Bring Your Own Kubernetes
This is not officially supported yet and is intended for advanced users with deep Kubernetes familiarity.
You can install Unbind on existing Kubernetes clusters including managed solutions like EKS (AWS), GKE (Google), AKS (Azure), or DOKS (DigitalOcean).
Recommendations:
- Use a new cluster rather than installing on a pre-existing cluster.
- Configure a default storage class for your cluster, many cloud providers will do this automatically.
- For K3S: install with
--disable=traefikflag, as we currently require ingress-nginx to be installed.
Installation: Use Helmfile with our configuration from GitHub.