# Prerequisites

{% hint style="danger" %}
**Community Edition is not for production workloads.** Use it for labs, evaluation, and learning only.
{% endhint %}

## Quick Start Checklist

Use this if you want the minimum viable lab setup.

* [ ] CE Host: [Ubuntu 22.04](https://cloud-images.ubuntu.com/releases/jammy/release/) VM with 8 CPUs, 32GB RAM, 100GB disk
* [ ] Hypervisor host: [Ubuntu 22.04](https://cloud-images.ubuntu.com/releases/jammy/release/) or [24.04](https://cloud-images.ubuntu.com/releases/noble/release/) VM with 8 CPUs, 16GB RAM, 100GB disk
* [ ] Both systems can reach the internet
* [ ] You can access both via SSH
* [ ] Install CE from the CE host (see [Install](https://docs.platform9.com/private-cloud-director/2025.10/getting-started/getting-started-with-community-edition/install))

```bash
curl -sfL https://go.pcd.run | bash
```

## Detailed Prerequisites

Community Edition (CE) uses two system types:

* **CE host**: runs the control plane and web UI.
* **Hypervisor hosts**: run your VMs.

### Community Edition Host (CE Host)

This host runs the <code class="expression">space.vars.product\_name</code> control plane and web interface.

#### Operating system

* **Required:** [Ubuntu 22.04 AMD64 cloud image](https://cloud-images.ubuntu.com/releases/jammy/release/)
* **Not supported:** Minimal cloud image (missing required packages)
* **Other distributions:** Not supported by the installer

#### Sizing

* **CPU:** 8 logical CPUs
* **RAM:** 28GB minimum, 32GB recommended
* **Disk:** 100GB minimum, SSD recommended
* **CPU architecture:** Intel Nehalem / AMD Bulldozer or newer (x86-64-v2)

#### Network

* **Internet access**
* **IPv6:** Must be enabled (doesn't need an address)
* **Swap:** Must be disabled

```bash
sudo swapoff -a
```

* **Firewalld:** Must be stopped and disabled (if installed)

```bash
# Stop the firewalld service
sudo systemctl stop firewalld
# Prevent it from starting on boot
sudo systemctl disable firewalld
```

<details>

<summary>Ports and outbound access</summary>

**Ports open locally (CE host):**

* 443, 2379, 2380, 3306, 4194, 5395, 5672, 5673, 6264, 8023, 8158, 8285, 8558, 9080, 10250, 10255

**Outbound access:**

* TCP 53, 443
* UDP 53, 123

</details>

### Hypervisor Hosts

These hosts run your actual VMs.

#### Operating system

* **Supported:** Ubuntu [22.04](https://cloud-images.ubuntu.com/releases/jammy/release/) or [24.04](https://cloud-images.ubuntu.com/releases/noble/release/) AMD64 cloud image
* **Not supported:** Minimal cloud image, other distributions

#### Sizing

* **CPU:** 8 logical minimum, 16+ recommended
* **RAM:** 16GB minimum, 32GB+ recommended
* **Disk:** 100GB minimum, 200GB+ recommended (shared storage is better)

#### Nested virtualization (if hypervisors are VMs)

If your hypervisor hosts run as VMs, nested virtualization must be enabled.

**VMware vSphere**

* Enable nested virtualization in VM settings for hypervisor hosts
* Allocate at least 100GB thin-provisioned disk
* Enable promiscuous mode & forged transmits on the vSwitch to allow nested VMs hosted by a hypervisor VM to access the external network

**Proxmox**

* Enable CPU type "host" or "kvm64"
* Enable nested virtualization

{% hint style="info" %}
If hypervisor hosts are running as VMs, nested virtualization must be enabled and visible to the hypervisor host operating system.
{% endhint %}

#### Nested virtualization check

```bash
# Run this on the hypervisor host
egrep "svm|vmx" /proc/cpuinfo

# Should show output with vmx (Intel) or svm (AMD) flags
# No output = nested virtualization not enabled
```

### Storage Backend

You need shared storage for persistent VM disks and live migration. Ephemeral disks work without shared storage and are stored locally on each hypervisor host.

Options:

1. **NFS (Easiest for Testing)**
   * Minimum: 100GB+ of NFS exports
   * Best for: Lab environments, proof-of-concept
   * Performance: Good for testing, adequate for light workloads
2. **External Storage Array**
   * Minimum: Depends on your needs
   * Best for: dev/test environments, extended proof-of-concept
   * Performance: Excellent
3. **Local Storage**
   * Uses hypervisor local disk
   * Best for: Ephemeral VMs, temporary workloads
   * Limitation: VMs can't live migrate

See [Storage Overview](https://docs.platform9.com/private-cloud-director/2025.10/storage) for detailed configuration.

### Network Requirements

#### Default Kubernetes CIDRs

* Services: `10.21.0.0/16`
* Pods: `10.20.0.0/16`

{% hint style="info" %}
**Check for conflicts:** If your network uses these ranges, see [Custom Installation](https://docs.platform9.com/private-cloud-director/2025.10/getting-started/getting-started-with-community-edition/custom-installation) to change them BEFORE installing.
{% endhint %}

#### Required external URLs

The CE installer must reach these endpoints. If you’re behind a firewall, whitelist them.

* `go.pcd.run` - Installer script
* `quay.io`, `registry.k8s.io` - Container images
* `github.com` - Software downloads
* [Complete list](https://docs.platform9.com/private-cloud-director/2025.10/getting-started/common-issues#required-ports-and-external-urls) of required ports and URLs
