|
1 | 1 | # [c8k.in](https://github.com/apache/cloudstack-installer): One-liner installer for [Apache CloudStack](https://cloudstack.apache.org) |
2 | 2 |
|
3 | 3 | > [!NOTE] |
4 | | -> Only supports CloudStack installation on Ubuntu with x86_64 KVM and tested with Ubuntu 22.04 LTS (x86_64). Please use this on a throwaway host or a VM (with hardware acceleration) that wouldn't hurt you to lose, in an [RFC1918 local private network](https://en.wikipedia.org/wiki/Private_network). This is currently in `beta` and open for users testing and issue reporting. |
| 4 | +> Supports CloudStack installation on Ubuntu or EL based distro with x86_64 KVM and tested with Ubuntu 24.04 LTS (x86_64) and Rocky Linux 8. Please use this on a throwaway host or a VM (with hardware acceleration) that wouldn't hurt you to lose, in an [RFC1918 local private network](https://en.wikipedia.org/wiki/Private_network). This is currently in `beta` and open for users testing and issue reporting. |
5 | 5 |
|
6 | 6 | NOTE: Work in progress |
7 | 7 |
|
| 8 | +### 🚀 The Easiest Way to Install Apache CloudStack on Ubuntu or EL-based Distros |
| 9 | + |
| 10 | +One-liners installer automates and simplifies the installation and configuration of **Apache CloudStack** and its components: |
| 11 | + |
| 12 | +- CloudStack Management Server |
| 13 | +- CloudStack Agent for KVM Host |
| 14 | +- CloudStack Usage Server |
| 15 | +- MySQL Server |
| 16 | +- NFS Server |
| 17 | + |
| 18 | +--- |
| 19 | + |
| 20 | +## Features |
| 21 | + |
| 22 | +- **All-in-One Installation**: Deploy a complete CloudStack setup on a single machine |
| 23 | +- **Custom Installation**: Select specific CloudStack components to install |
| 24 | +- **Repository Configuration**: Set up CloudStack repository automatically |
| 25 | +- **Zone Deployment**: Guided wizard for zone deployment |
| 26 | +- **Network Configuration**: Automatically configure network bridges for CloudStack |
| 27 | +- **Component Validation**: Verify that all components are properly configured |
| 28 | +- **Progress Tracking**: Track installation progress and resume interrupted installations |
| 29 | +- Support re-runs, idempotent with tracker |
| 30 | + |
| 31 | +--- |
| 32 | + |
| 33 | +## ⚙️ Requirements |
| 34 | + |
| 35 | +| Resource | Minimum | |
| 36 | +|-----------|----------| |
| 37 | +| **RAM** | 8 GB | |
| 38 | +| **Disk** | 75 GB | |
| 39 | +| **Privileges** | Root / `sudo` | |
| 40 | +| **Virtualization** | Hardware virtualization (Intel VT-x / AMD-V) | |
| 41 | + |
| 42 | +Supported Operating Systems: |
| 43 | +- Ubuntu 20.04+, Debian 11+ |
| 44 | +- RHEL 8+/CentOS/AlmaLinux/RockyLinux |
| 45 | + |
| 46 | +--- |
| 47 | + |
| 48 | +## 📦 Installation |
| 49 | + |
8 | 50 | To install and deploy [CloudStack](https://cloudstack.apache.org), just copy and run the following as `root` user: |
9 | 51 |
|
| 52 | +### Quick Install |
| 53 | + |
10 | 54 | ```bash |
11 | | -curl -sL https://c8k.in/stall.sh | bash |
| 55 | +curl -sSfL https://c8k.in/installer.sh | bash |
12 | 56 | ``` |
13 | 57 |
|
14 | | -Here's how you should really run it though: |
| 58 | +### Download and Run |
15 | 59 |
|
16 | 60 | ```bash |
17 | | -curl -o install.sh https://c8k.in/stall.sh |
18 | | -cat install.sh | more # to read it |
19 | | -bash -x install.sh # to also see what it's doing |
| 61 | +wget https://c8k.in/installer.sh |
| 62 | +chmod +x installer.sh |
| 63 | +sudo ./installer.sh |
| 64 | +``` |
| 65 | + |
| 66 | +--- |
| 67 | + |
| 68 | +## 🖥️ Installation Menu Options |
| 69 | + |
| 70 | +When you launch the installer, you’ll see a dialog menu like this: |
| 71 | + |
20 | 72 | ``` |
| 73 | +Select an option: |
| 74 | +1. All-in-One Installation |
| 75 | +2. Custom Installation |
| 76 | +3. Configure CloudStack Repository |
| 77 | +4. Deploy CloudStack Zone |
| 78 | +``` |
| 79 | + |
| 80 | +Here’s what each option does: |
| 81 | + |
| 82 | +### **1️⃣ All-in-One Installation** |
| 83 | +Performs a full automated setup of Apache CloudStack on a single host. |
| 84 | +Includes installation and configuration of: |
| 85 | +- CloudStack Management Server |
| 86 | +- KVM Agent (libvirt, bridge, VNC, firewall) |
| 87 | +- MySQL database server |
| 88 | +- NFS primary and secondary storage |
| 89 | +- Usage Server |
| 90 | +- Zone Deployment |
| 91 | + |
| 92 | +Ideal for test environments, PoC labs, or quick demos — ready to use in under an hour. |
| 93 | + |
| 94 | +### **2️⃣ Custom Installation** |
| 95 | +Lets you select individual components to install and configure. |
| 96 | +Useful when you want to: |
| 97 | +- Separate Management and KVM roles across multiple machines |
| 98 | +- Install/Configure or skip specific services (e.g., NFS, CloudStack Agent, Skipping Usage Server) |
| 99 | +- Integrate with an existing CloudStack deployment |
| 100 | + |
| 101 | +### **3️⃣ Configure CloudStack Repository** |
| 102 | +Sets up the official or custom CloudStack package repository for your OS. |
| 103 | +Automatically detects your distribution (Ubuntu, Debian, RHEL, Rocky, etc.) and configures: |
| 104 | +- GPG key |
| 105 | +- Repository URL |
| 106 | +- Package source file |
| 107 | + |
| 108 | +You can reconfigure repository using this option at any time to switch versions or mirrors. |
| 109 | + |
| 110 | +### **4️⃣ Deploy CloudStack Zone** |
| 111 | +After installing the components, this option launches a guided **Zone Deployment Wizard** that: |
| 112 | +- Creates a new CloudStack Zone (Advanced networking) |
| 113 | +- Adds Pod, Cluster, Host, and Storage resources |
| 114 | +- Configures networking (bridge, IP ranges, VLANs) |
| 115 | + |
| 116 | +Perfect for creating a ready-to-use cloud zone in minutes. |
| 117 | + |
| 118 | +--- |
| 119 | + |
| 120 | +## 💡 Use Cases |
| 121 | +This installer is designed to make **Apache CloudStack** accessible for learning, testing, and experimentation - without needing a large-scale infrastructure. |
| 122 | +1. Spin up a fully functional CloudStack zone (management, KVM host, and NFS storage) on a single VM or physical host for development or QA. |
| 123 | +2. Ideal for CloudStack contributors to test new PRs, validate feature behaviour across OS. |
| 124 | +3. Experiment with configuration, template registration, Network and zone orchestration. |
| 125 | +4. Perfect for demo, workshops and PoCs. |
| 126 | + |
| 127 | +--- |
| 128 | + |
| 129 | +## 🗂️ Installation Logs & Tracking |
| 130 | + |
| 131 | +| File | Purpose | |
| 132 | +|------|----------| |
| 133 | +| `cloudstack-install.log` | Detailed logs for all operations | |
| 134 | +| `cloudstack-installer-tracker.conf` | Tracks completed steps to allow safe re-runs | |
| 135 | + |
| 136 | +--- |
| 137 | + |
| 138 | +## 🔐 Post-Install Access |
| 139 | + |
| 140 | +After successful setup, CloudStack is accessible at: |
| 141 | + |
| 142 | +``` |
| 143 | +URL: http://<management-server-ip>:8080/client |
| 144 | +Username: admin |
| 145 | +Password: password |
| 146 | +``` |
| 147 | +--- |
| 148 | + |
| 149 | +## 🧰 Utilities Used |
| 150 | + |
| 151 | +- `dialog` for interactive menus |
| 152 | +- `apt` or `dnf` for package management |
| 153 | +- `systemctl` for service management |
| 154 | +- `nmap` for IP discovery |
| 155 | + |
| 156 | +--- |
| 157 | + |
| 158 | +## 🪪 License |
| 159 | + |
| 160 | +Licensed under the **Apache License, Version 2.0** |
| 161 | +See [LICENSE](http://www.apache.org/licenses/LICENSE-2.0) for details. |
| 162 | + |
| 163 | +--- |
| 164 | + |
21 | 165 |
|
22 | 166 | > [!IMPORTANT] |
23 | | -> This deploys an all-in-a-box CloudStack installation that has the CloudStack management & usage server, CloudStack agent, MySQL DB, NFS and KVM on a single Linux host and is only useful for anyone who just wants to try CloudStack on a host or a VM, but does not want to [read the official docs](https://docs.cloudstack.apache.org). It makes several assumptions about the IaaS deployment, and tries to figure out host's network setup so the deployment could work out of the box. This is not advised for production deployment. |
| 167 | +> This is only useful for anyone who just wants to try CloudStack on a host or a VM, but does not want to [read the official docs](https://docs.cloudstack.apache.org). It makes several assumptions about the IaaS deployment, and tries to figure out host's network setup so the deployment could work out of the box. This is not advised for production deployment. |
24 | 168 |
|
25 | 169 | Screenshot when the command finishes: |
26 | 170 |
|
|
0 commit comments