> For the complete documentation index, see [llms.txt](https://doc.engenius.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.engenius.ai/edcc-user-manual/getting-started/installation-and-initial-setup.md).

# Installation and Initial Setup

A step-by-step guide to deploying the EDCC platform and performing the initial configuration.

> 📋 **Installation Guide**
>
> * **Target Audience**: System Administrators with Linux experience
> * **Required Access**: Sudo privileges on host system
> * **Prerequisites**: Ubuntu 20.04.3+ or Debian 10.6+
> * **Deployment Method**: Docker container installation

***

## Overview: Deploying Your EDCC Instance

EDCC is distributed as a **Docker container**, which simplifies and standardizes the installation process across different Linux environments. This chapter will guide you through the three main phases of deployment:

```
Preparation → Installation → Initial Setup
  (verify)      (5-10 min)    (first-time config)
```

**What You'll Accomplish**:

1. **Preparation**: Verify your host system meets all requirements
2. **Installation**: Run the automated script to deploy the EDCC container
3. **Initial Setup**: Create your administrator account and Organization

***

## Pre-Installation Checklist

Before you begin, ensure you can check off all the following items:

* [ ] Host system hardware meets requirements for planned node count
* [ ] Operating system is Ubuntu 20.04.3+ or Debian 10.6+
* [ ] You have sudo (administrator) privileges on the host machine
* [ ] Host has active internet connection for software download
* [ ] Necessary network ports are open on host and network firewalls

***

## 1. System Requirements

{% hint style="warning" %}

#### **CRITICAL REQUIREMENTS - READ FIRST**

* **Do NOT change host system time** after installation - causes data inconsistencies and system instability
* **First account = Organization-level Admin** - highest privilege level, secure credentials carefully
* **SMTP configuration highly recommended** - required for user invitations and system alerts
  {% endhint %}

### **Hardware Requirements**

The resources required depend on the number of server nodes you plan to manage. **SSD storage strongly recommended for optimal performance.**

<table><thead><tr><th width="156.5390625">Managed Nodes</th><th width="150.7109375">CPU Cores</th><th width="98.83984375">RAM</th><th width="161.8515625">Storage</th><th>Deployment Scale</th></tr></thead><tbody><tr><td>≤ 100</td><td>2 Cores (Intel i3 / AMD R3+)</td><td>4GB</td><td>30GB (SSD recommended)</td><td>Entry-level</td></tr><tr><td>≤ 1000</td><td>4 Cores (Intel i5 / AMD R5+)</td><td>16GB</td><td>40GB (SSD recommended)</td><td>Medium</td></tr><tr><td>≤ 3000</td><td>8 Cores (Intel i5 / AMD R5+)</td><td>48GB</td><td>50GB (SSD required)</td><td>Enterprise</td></tr></tbody></table>

### **Software Requirements**

**Supported Operating Systems**:

* Ubuntu 20.04.3 LTS (Server) or newer
* Debian 10.6 or newer

**Docker**: Installation script will install Docker automatically if not present

**User Privileges**: Sudo access required to install Docker and run installation script

### **Network Port Requirements**

Ensure your host and network firewalls allow the following traffic:

<table><thead><tr><th width="129.84375">Direction</th><th width="131.83203125">Port</th><th width="94.47265625">Protocol</th><th>Purpose</th></tr></thead><tbody><tr><td>Inbound</td><td>8080 (HTTP)</td><td>TCP</td><td>Accessing the EDCC Web UI</td></tr><tr><td>Inbound</td><td>443 (HTTPS)</td><td>TCP</td><td>Accessing the EDCC Web UI (Secure)</td></tr><tr><td>Outbound</td><td>443 (HTTPS)</td><td>TCP</td><td>Redfish API communication to server BMCs</td></tr><tr><td>Outbound</td><td>80, 443</td><td>TCP</td><td>Downloading Docker images during installation</td></tr></tbody></table>

***

## 2. Installation Process

The installation uses a single automated script that handles the complete setup.

### **Installation Overview**

```
Download Script → Make Executable → Run Installation → Access Web UI
     (1 min)          (instant)         (5-10 min)        (verify)
```

### **Step 1: Obtain Installation Script**

Open a terminal on your Linux host and download the official installation script:

```bash
# Replace [version] with specific version (e.g., 1.0.0)
wget https://engenius-edcc.s3.us-west-2.amazonaws.com/release/[version]/edcc.sh
```

**Example for version 1.0.0**:

```bash
wget https://engenius-edcc.s3.us-west-2.amazonaws.com/release/1.0.0/edcc.sh
```

Make the script executable:

```bash
chmod +x edcc.sh
```

### **Step 2: Run Installation Script**

Execute the script with sudo privileges:

```bash
sudo ./edcc.sh install/
```

{% hint style="info" %}

### **What This Script Does**

The `edcc.sh` script automates the following:

* ✅ Checks for existing Docker installation; installs latest stable version if needed
* ✅ Downloads required EDCC Docker images from official repository
* ✅ Creates persistent data volumes for configuration and data storage
* ✅ Configures necessary network settings for the container
* ✅ Starts EDCC services in correct order

⏱️ **Estimated Time**: 5-10 minutes (varies with internet connection)

* Docker installation: \~3 minutes (if needed)
* EDCC image download: \~2-5 minutes
* Service configuration: \~1 minute
  {% endhint %}

The installation process may take several minutes. A successful installation will end with a confirmation message indicating that EDCC services are running.

### **Step 3: Access the EDCC Web Interface**

Once the script completes, open a web browser and navigate to your host machine:

**HTTP Access**:

```
http://{your_host_ip_address}:8080
```

**HTTPS Access** (recommended):

```
https://{your_host_ip_address}
```

{% hint style="success" %}
**Quick Tip:**  You can check your host IP address on Linux using **`ifconfig`**.
{% endhint %}

***

## 3. Initial Platform Setup

Upon your first access, EDCC will guide you through a one-time setup wizard to create the foundational elements of your management environment.

**You will create**:

1. **First Organization** - Top-level container for all your managed infrastructure
2. **Organization-level Admin account** - Your user account with full administrative privileges

> 💡 **Next Step: Configure SMTP**
>
> After creating your first account, immediately configure an SMTP server to enable:
>
> * Email-based user invitations
> * System alert notifications
> * Critical event notifications
>
> See **Chapter 15.3: Configuring Mail and File Servers** for detailed instructions.&#x20;

{% hint style="warning" %}

#### **Next Step: Configure SMTP**

After creating your first account, immediately configure an SMTP server to enable:

* Email-based user invitations
* System alert notifications
* Critical event notifications

See **Chapter 15.3: Configuring Mail and File Servers** for detailed instructions.
{% endhint %}

***

## 4. Managing the EDCC Service

Use the `edcc.sh` script to manage the EDCC service lifecycle:

<table><thead><tr><th width="223.08984375">Task</th><th>Command</th></tr></thead><tbody><tr><td>Start EDCC service</td><td><code>sudo ./edcc.sh up</code></td></tr><tr><td>Stop EDCC service</td><td><code>sudo ./edcc.sh down</code></td></tr><tr><td>Check service status</td><td><code>sudo ./edcc.sh status</code></td></tr><tr><td>Uninstall EDCC</td><td><code>sudo ./edcc.sh uninstall</code></td></tr></tbody></table>

{% hint style="success" %}
**Note**: The **`uninstall`** command stops and removes EDCC containers. By default, your data volumes are preserved unless you explicitly remove them.
{% endhint %}

***

## Troubleshooting Common Installation Issues

### **Issue 1: Docker Snap Conflict**

**Symptoms**: Installation fails with Docker conflict errors

**Solution**:

1. Remove snap Docker: `sudo snap remove docker`
2. Clean partial installation: `sudo ./edcc.sh uninstall`
3. Retry installation: `sudo ./edcc.sh install`

### **Issue 2: Cannot Access Web UI**

**Symptoms**: Connection timeout or refused after successful installation

**Diagnostic Steps**:

1. **Verify EDCC service is running**:

```bash
   sudo ./edcc.sh status
```

2. **Check firewall settings**:

```bash
   sudo ufw status
   sudo ufw allow 8080/tcp
   sudo ufw allow 443/tcp
```

3. **Verify correct IP address**:

```bash
   hostname -I
   # or
   ip addr
```

4. **Test network connectivity**: Ensure no network firewalls block access between your browser and EDCC host

### **Issue 3: Offline Installation Required**

**Note**: Standard installation requires internet connection to download Docker and EDCC images.

**For air-gapped environments**: Contact support team for:

* Offline installation package
* Detailed offline installation procedure
* Alternative deployment methods

***

## Quick Reference Card

### **Pre-Installation Verification**

```bash
# Check OS version
lsb_release -a

# Check available resources
free -h              # Memory
df -h                # Disk space
nproc                # CPU cores

# Test internet connectivity
ping -c 3 google.com
```

### **Installation Commands**

```bash
# Download and prepare
wget https://engenius-edcc.s3.us-west-2.amazonaws.com/release/[version]/edcc.sh
chmod +x edcc.sh

# Install EDCC
sudo ./edcc.sh install

# Verify installation
sudo ./edcc.sh status
```

### **Service Management**

```bash
# Start EDCC
sudo ./edcc.sh up

# Stop EDCC
sudo ./edcc.sh down

# Check status
sudo ./edcc.sh status

# Uninstall EDCC
sudo ./edcc.sh uninstall
```

### **Access URLs**

```
HTTP:  http://{host_ip}:8080
HTTPS: https://{host_ip}
```

### **Post-Installation Checklist**

* [ ] Access **EDCC Web UI** successfully
* [ ] Complete initial **Organization** creation
* [ ] Create **Organization-level Admin** account
* [ ] Configure SMTP server (highly recommended)
* [ ] Proceed to create first **POD**

***

#### What's Next?

Your EDCC platform is now installed and running.

Your next step is to bring your first node under management:

1. Create your first **POD** (management group)
2. Register and assign devices to your **POD**
3. Configure basic management settings

➡️ **Proceed to Chapter 3: Quick Start - Your First POD**

This will guide you through creating your first management environment and adding your first EnGenius server to EDCC.

***

*This completes the installation and initial setup of your EDCC platform. You are now ready to begin managing your EnGenius server infrastructure.*


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://doc.engenius.ai/edcc-user-manual/getting-started/installation-and-initial-setup.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
