# Provisioning a Core

> How to download CoreServer, install it on your VM, and connect it to the platform.

- Web page: https://documentation.federated.computer/platform/coreplatform/cores/provisioning-a-core/

On You host, a **Core** is a bundle of open source business software running on **CoreServer** — our custom operating system — installed on a virtual machine you provide. You bring the compute; we supply the OS and software, and connect it to the platform.

## Before You Begin

- You need an active You host account.
- You need a virtual machine provisioned at your cloud provider. CoreServer supports x86 64-bit VMs.
- You need SSH access to your VM during setup.

## Step 1: Download the CoreServer Image

Download the image format that matches your cloud provider's import requirements:

| Format                     | Download                                                                                                                                             | Use With                                                        |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- |
| Compressed raw (`.img.xz`) | [coreserver-enterprise-x86-26-05-12.img.xz](https://nginx.core-x86builder.federatedcomputer.cloud/coreserver-enterprise-x86-26-05-12.img.xz)         | DigitalOcean, Hetzner                                           |
| QCOW2 (`.qcow2`)           | [coreserver-enterprise-x86-26-05-12.qcow2](https://nginx.core-x86builder.federatedcomputer.cloud/coreserver-enterprise-x86-26-05-12.qcow2)           | KVM, QEMU, Proxmox, Contabo, Cloudstack                         |
| Raw image (`.img`)         | [coreserver-enterprise-x86-26-05-12.img](https://nginx.core-x86builder.federatedcomputer.cloud/coreserver-enterprise-x86-26-05-12.img)               | AWS EC2, general use                                            |
| Compressed tar (`.tar.gz`) | [coreserver-enterprise-gcp-x86-26-06-30.tar.gz](https://nginx.core-x86builder.federatedcomputer.cloud/coreserver-enterprise-gcp-x86-26-06-30.tar.gz) | Google Cloud [see notes...](https://documentation.federated.computer/platform/coreplatform/reference/google-cloud-notes/) |
| VMDK (`.vmdk`)             | [coreserver-enterprise-x86-26-05-12.vmdk](https://nginx.core-x86builder.federatedcomputer.cloud/coreserver-enterprise-x86-26-05-12.vmdk)             | VMware (ESXi, vSphere), AWS EC2                                 |

Import the image into your cloud provider and create a VM from it. Refer to your provider's documentation for the import process.

## Step 2: Add Your SSH Public Key

Your account's SSH public key authorizes the Provisioner to connect to and configure your CoreServer VM.

1. In the dashboard, navigate to **Cores**.
2. Copy your account's **SSH public key**.
3. Add the key to the `authorized_keys` file on your VM (typically `~/.ssh/authorized_keys` for the root user).

## Step 3: Run core-create

Once the SSH key is in place, run the following command to provision your Core. Your `account_id` is pre-filled in the template provided to you at signup.

```bash
curl -k -X POST https://178.156.242.210:4445/core-create \
  -H "Content-Type: application/json" \
  -d '{
  "account_id": "your-account-id",
  "ip": "<ip address of your VM>",
  "subdomain": "<your subdomain>",
  "apps": "<app string>",
  "backups": "yes | no",
  "monitoring": "yes | no",
  "email": "<optional: email to send welcome message to>"
}'
```

| Field        | Required | Description                                                                                                                                                                                                                                                                                                      |
| ------------ | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `account_id` | Yes      | Your account ID on You host.                                                                                                                                                                                                                                                                            |
| `ip`         | Yes      | The IP address of your CoreServer VM.                                                                                                                                                                                                                                                                            |
| `subdomain`  | Yes      | A name of your choosing for this Core (e.g. `team`, `prod`, `nyc1`).                                                                                                                                                                                                                                             |
| `apps`       | Yes      | Comma-separated list of apps to install (e.g. `"nextcloud,gitea,vaultwarden"`). Available apps: `jitsi`, `element`, `nextcloud`, `baserow`, `freescout`, `espocrm`, `castopod`, `wordpress`, `kimai`, `plane`, `headscale`, `vaultwarden`, `calcom`, `listmonk`, `plausible`, `discourse`, `gitea`, `bookstack`. |
| `backups`    | Yes      | Enable automated backups (`yes` or `no`).                                                                                                                                                                                                                                                                        |
| `monitoring` | Yes      | Enable monitoring (`yes` or `no`).                                                                                                                                                                                                                                                                               |
| `email`      | No       | Who to send the welcome email to. If omitted, the email goes to the account holder.                                                                                                                                                                                                                              |

## What Happens Next

The Provisioner configures your CoreServer VM and notifies the platform when complete. The Core will automatically appear in the **Cores** section of your dashboard as **Active** — no manual refresh needed.

If you specified a recipient email, they'll receive a welcome email confirming the Core is live.

## Billing for New Cores

Cores are charged on a monthly basis as part of your regular billing cycle. When you provision a Core mid-cycle, the cost for the remaining days in the current period is **prorated** — you're only charged for the time the Core was active, not the full month.

Any Core add-ons selected at provisioning are also prorated in the same way.

> **Note:** Your account balance is used first when any charge is incurred. Only the amount exceeding your balance is charged to your card. See [Account Balance](https://documentation.federated.computer/platform/coreplatform/billing/account-balance/) for details.
