> For the complete documentation index, see [llms.txt](https://docs.zmanda.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zmanda.com/guides/zmanda-pro-server-deployment-on-prem/zmanda-pro-self-hosted-deployment/self-hosted-offline-server.md).

# Self-Hosted Offline Server

### What is an Offline Server setup?

A server hosted in an environment whose network requests bounds is strictly within the organizational network i.e. it cannot access the internet, (or) an air-gapped server qualifies to be an offline setup. A server in such an environment cannot reach out to public cloud services for any data transactions.

Zmanda Pro supports an Offline On-Premises deployment completely managed by your infrastructure, provided the basic pre-requisites to run the server are satisfied.

### Supported Operating Systems

Zmanda Pro currently supports On-premises deployment for the following Linux Distributions:

* Red Hat Enterprise Linux version 8 or later, including distributions based on RHEL
* Debian version 12 (Bookworm) or newer, including Debian-derived distributions
* Fedora version 41 and higher (stable releases only)

### System Requirements for On-Prem Zmanda Pro Server

#### Pre-requisites

* Docker CE (v27.3.x onwards)
  * [\[RHEL | Docker Docs\]](https://docs.docker.com/engine/install/rhel/)
  * [\[Debian | Docker Docs\]](https://docs.docker.com/engine/install/debian/)
* containerd.io
* docker compose plugin (v2.29.x onwards)
* unzip
* jq

#### Network Configuration

1. **DNS Configuration**\
   For the Zmanda Pro server’s FQDNs (Fully Qualified Domain Names), create DNS A records in your organization’s DNS manager.

{% hint style="info" %}
For example, if your server is configured to listen on `backup.zmanda.com`, create the following DNS records:

`<ZMANDAPRO_SERVER_IP> backup.zmanda.com root-backup.zmanda.com`

**Purpose:**

* `backup.zmanda.com`: Access the dashboard and manage backups.
* `root-backup.zmanda.com`: Internal use for patching and upgrades.
  {% endhint %}

If you don't have an internal DNS server, modify the `/etc/hosts` file on client devices to map these FQDNs to the Zmanda Pro server's IP.

2. **Additional Certificate configuration**

* For production deployments, we highly recommend you use your own certificates signed by your organizations Certifying Authority.&#x20;
* A Self-hosted Zmanda Pro instance can be configured to use [custom certificates](https://docs.zmanda.com/guide/zmanda-pro-server-deployment-on-prem/zmanda-pro-self-hosted-deployment/custom-certificates-upload)
* You will need an intermediate CA certificate that is trusted by all client devices.
* Generate an HTTPS certificate signed by the above CA, for the configured domain (e.g., `backup.zmanda.com`) and add `root-backup.zmanda.com` as a Subject Alternative Name (SAN).

3. **Required Ports**

* **443**: HTTPS traffic to the Zmanda Pro server.
* **(Optional) 9001**: HTTPS traffic to the StorageManager service.

**NOTE:** Client devices must be able to reach the Zmanda Pro server.

4. **\[Optional] Security Configurations**

The license activator is a *password protected binary file* which is required to activate your self-hosted Zmanda Pro instance. If you have an anti-virus software or a malware detection engine running, you might have to whitelist the license activator file

{% hint style="info" %}
For example, you will have to whitelist the `Zmanda_license_activator.run` file to allow executing the license activator and prevent its deletion by your AV software or Malware detection engine.
{% endhint %}

### The Zmanda Pro Server Setup Package

1. Download the zmandasetup.zip package into your Linux system which matches our Supported Operating Systems
2. Unzip the setup package:

   ```bash
   unzip zmandasetup.zip
   ```

This will unpack all the configuration files required to run the Zmanda Pro server. The configurations are as follows:

<figure><img src="https://1846973900-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPSSsZ7NTpC1G3n2CzF9L%2Fuploads%2FvzyK894b2wHuaSGrEjLe%2Fimage.png?alt=media&amp;token=6b9a4df7-d3df-4622-9fe9-4d383d3fd2c4" alt=""><figcaption><p>Zmanda Pro Server Setup Package</p></figcaption></figure>

#### Package Contents

* **setup.sh**: The Zmanda Pro server installer
* **setup.conf**: Default configurations to run the setup.sh
* **certs**: Directory containing:
  * Self-signed CA certificate
  * HTTPS certificate
  * Respective keys
  * Note: It's highly recommended to use your own set of CA & HTTPS certificates
* **Dockerfile & docker-compose.yml**: Docker service files for building and running the Zmanda Pro Server
* **docker-image**: Contains required docker images for on-premises deployment
  * zmandapro-server-.tar will be patched for subsequent upgrades
  * Images are loaded locally, requiring no outbound requests
* **scripts**: Automation scripts for client device installation
* **server.cfg**: Custom Configurations for your Zmanda Pro Server
* **storagemanager.zip** (OPTIONAL): The Zmanda Pro storagemanager service and its dependents

### License Activator Information

#### What is a License Activator?

Running the setup.sh will prepare your environment to start the Zmanda Pro server. However, to administer backups and other operations you will need a License\_Activator.

To activate your 'self-hosted offline' deployment, please contact the sales team at [Conact a Zmanda Sales Representative](https://www.zmanda.com/contact-sales/).

Important notes:

* The License Activator only activates one instance of a Zmanda Pro Server container.
* For DR strategy or replica server setup, contact the Zmanda Sales Team for additional instances.

#### Running the License Activator

* Requires an unlock key (shared by Zmanda Team over a secure protected channel)
* Handles:
  * Zmanda Pro Server activation
  * Server upgrades
  * Patching custom configurations
* The 'offline’ `Zmanda Pro License Activator` will be generated on a *per container\_id* basis shared over a secure channel by the Zmanda Team.
