Build Your Own PaaS/IDP with Cato Digital Bare Metal Servers
Creating a custom cloud platform brings powerful advantages—cost savings, full control, data sovereignty, and, crucially, the ability to make your solution self-hostable. This tool helps you deploy Tau, an open-source PaaS/IDP, across your servers using Spore-drive.
-
Install Dependencies
Run the following command to install the necessary packages:npm install
-
Prepare Server List
Create a CSV file (default:cato.csv
) with your server information:hostname,public_ip server1.example.com,192.168.1.1 server2.example.com,192.168.1.2
-
Configure Environment
Copy the example environment file and edit it with your values:cp .env.example .env
The following variables can be configured in your
.env
file:# Server Configuration SSH_KEY=cato.pem # Path to SSH private key SERVERS_CSV_PATH=cato.csv # Path to servers list CATO_USER=cato-user # SSH user for server access # Domain Configuration ROOT_DOMAIN=pom.ac # Root domain for your platform GENERATED_DOMAIN=g.pom.ac # Generated subdomain for your platform # Namecheap DNS Configuration (Optional) NAMECHEAP_API_KEY=your_api_key NAMECHEAP_IP=your_ip NAMECHEAP_USERNAME=your_username
-
Deploy
Deploy your platform with:npm run displace
The servers CSV file should contain the following columns:
hostname
: The fully qualified domain name of your serverpublic_ip
: The public IP address of your server
Example:
hostname,public_ip
node1.mycloud.com,203.0.113.1
node2.mycloud.com,203.0.113.2
- Linux servers with SSH access on port 22
- User account (defaults to 'cato-user') with:
- sudo/root privileges
- SSH key authentication enabled