# Running Edera (no Kubernetes required)

This guide explains how to run Edera without using Kubernetes. You’ll learn how to start the Edera daemon, launch zones, deploy container workloads, and clean up resources using the `protect` CLI.

## Prerequisites

- An AWS account
- Access to the Edera AMI
- Familiarity with Linux command-line tools

ℹ️

This can be ran without AWS. To gain access to Edera, reach out to the customer engineering team at [support@edera.dev](mailto:support@edera.dev) to discuss your requirements.

## Launch an instance

Create a new EC2 instance using the Edera AMI. You can use the AWS Console or Terraform. **Important:** Edera AMIs are only available in `us-west-2`.

```hcl
# Example Terraform configuration
resource "aws_instance" "edera" {
  ami           = "ami-xxxxxxxxxxxxxxx"
  instance_type = "t3.medium"

root_block_device {
    volume_size = 20 # needs ~1GB /usr, ~5GB /var/lib, ~200MB /boot
    volume_type = "gp3"
  }

tags = {
    Name = "edera-protect"
  }
}
```

## Start the Edera daemon

After launching your instance, SSH in and start the Edera daemon.

```bash
sudo systemctl start protect-daemon
```

Verify the services are running:

```bash
ps auxww | grep protect
```

You should see:

```bash
/usr/sbin/protect-daemon
/usr/sbin/protect-storage
/usr/sbin/protect-network
/usr/sbin/protect-cri
```

## Launch a zone

Use the `protect zone launch` command to start a new zone.

```bash
protect zone launch --name zone-test
```

To verify the zone status:

```bash
protect zone list
```

The output should show that the zone is in a `ready` state.

### Optional: Enable kernel verbose logging

To see detailed logs from the zone’s kernel:

```bash
protect zone launch --name zone-test --kernel-verbose
protect zone logs zone-test
```

You’ll see boot output like:

```bash
[    0.000000] Linux version 6.15.1 ...
[    0.000000] Hypervisor detected: Xen PV
...
```

To launch with a specific, non-default kernel, select a configured kernel variant:

```bash
protect zone launch \
  --name zone-test \
  --kernel-verbose \
  --kernel-variant nvidia
```

List the available variants with `protect image list-kernel-variants`, see [Selecting a zone kernel with variants](https://docs.edera.dev/guides/kernel/kernel-variants/) for more details.

## Launch a workload

Once your zone is up, you can launch workloads using standard container images:

```bash
protect workload launch \
  --zone zone-test \
  --name nginx-test \
  docker.io/library/nginx:alpine
```

Protect will:

- Pull the image from Docker Hub
- Cache it locally
- Launch it inside the zone

Check which images are cached:

```bash
protect image list
```

Verify the workload is running:

```bash
protect workload list
```

### Optional: Run an interactive shell

For testing or debugging, launch a container with an interactive shell.

```bash
protect workload launch \
  --zone zone-test \
  --name nginx-test \
  -t -a \
  docker.io/library/nginx:alpine sh
```

Inside the container, you can inspect system info:

```bash
ip a
cat /proc/1/cgroup
hostname
```

To detach from a running workload without stopping the workload, press ctrl + "].

### Optional: Mount a volume in the workload

To access data inside the workload, mount a volume from your local machine into the workload.

```bash
protect workload launch \
  --zone zone-test \
  --name nginx-test \
  -m local/path/to/volume:remote/path/to/volume \
  -at \
  docker.io/library/nginx:alpine sh
```

Inside the container, you can now access the volume:

```bash
cat remote/path/to/volume/file.sh
```

## Clean up resources

To remove a workload:

```bash
protect workload destroy nginx-test
protect workload list
```

To delete the zone:

```bash
protect zone destroy zone-test
protect zone list
```

## Additional resources

- [Getting started with Kubernetes](https://docs.edera.dev/getting-started/) for the Kubernetes-based installation path
- [Using a scratch disk with Edera](https://docs.edera.dev/guides/storage/scratch-disks/)
- [Edera CLI Reference](https://docs.edera.dev/reference/cli/)

Last updated on 2026-07-20
