# Adding a Pro License to your Server

This guide explains how to set up Netmaker Professional, which offers advanced business features beyond the Community Edition. Explore the [comparison](https://www.netmaker.io/pricing#compare) and [pricing](https://www.netmaker.io/pricing) details on our pricing page.

#### **Netmaker Professional builds on the Community Edition with advanced features tailored for business needs.**

## Key Differences

The Community Edition (CE) offers a solid foundation for VPN deployments, including features like an integrated DNS server, relay support, full-tunnel gateways, and egress to external networks. It’s open-source and well-suited for developers and teams looking for flexibility and control in their setup.

The Professional Edition extends these capabilities with features designed for enterprise needs. It includes support for identity provider (IDP) and OAuth integrations, network traffic metrics, advanced access controls, and role-based user management. It also supports Remote Access Clients, including the Netmaker Desktop app and Mobile RAC, making secure access even more convenient.

For a detailed overview of features in both the Pro and Community Editions, check it out [here](/features.md).

## Pro-Specific Functionalities

**User Management**

* In the Community Edition (CE), only admin users can be created.
* The Professional Edition allows the creation of non-admin users, enabling role-based access and more granular control—ideal for managing teams and remote access gateways.

**Remote Access Clients**

* Seamless remote connectivity via the **Netmaker Desktop app** and **Mobile RAC (Remote Access Client)**.
* Enables secure access to your network from any laptop or mobile device—perfect for remote work scenarios.

**Failovers**

* Automatically reroutes traffic through user-defined failover node when direct peer-to-peer communication is blocked, ensuring reliable connectivity even behind strict firewalls.

**Enhanced Access Control Lists (ACLs)**

* Allows you to define detailed communication rules between nodes.
* Combine with user-level permissions to enhance network security and segmentation.

**Tag Management**

* Group and organize devices using custom tags.
* Simplifies network organization and streamlines large-scale operations.

**Network Metrics**

* Collects key performance data such as latency, throughput, and connection status.
* Viewable directly in the Netmaker UI and exportable to Grafana via Prometheus for custom dashboards.

**Identity Provider (IDP) Integration**

* Supports integration with external identity providers like **Google Workspace**, **Microsoft Entra ID (formerly Azure AD)**, and others.
* Allows users to authenticate using their existing organizational credentials for seamless and secure access.

**OAuth Integration**

* Enables secure, password-less login using trusted OAuth providers like Google or GitHub.

**Audit Logs**

* Tracks user activity and system events across key components.
* Essential for security monitoring, compliance audits, and issue resolution.

## Obtain License

{% stepper %}
{% step %}

### Sign up

Go to <https://account.netmaker.io/signup> and enter your email address and set a password. You also have the option to continue using your Google, GitHub, or Microsoft account.

We recommend taking advantage of the 7-day free trial. For business emails, no credit card is required: <https://account.netmaker.io/signup#business>
{% endstep %}

{% step %}

### Verify your email

After signing up you will receive a verification link sent to your email address. Open your inbox and click on **Verify My Email** to complete the process.
{% endstep %}

{% step %}

### Tenant creation (on-premise setups)

After verification, you will be redirected to the deployment page. For on-premise setups, tenants are created only upon request. To request a tenant, please fill out the form at <https://www.netmaker.io/contact>

Once your tenant has been created, click **Manage Tenant**, then click **Manage** to view its details.
{% endstep %}
{% endstepper %}

## Set Up Your Netmaker Pro Server

Initially, you will need the License Key and Tenant ID, which can be found under the Settings tab.

Once you have your license key and tenant ID, you can get the nm-quick installer and run it:

{% code title="Install Netmaker Pro (interactive installer)" %}

```bash
sudo wget -qO /root/nm-quick.sh https://raw.githubusercontent.com/gravitl/netmaker/master/scripts/nm-quick.sh && sudo chmod +x /root/nm-quick.sh && sudo /root/nm-quick.sh -p
```

{% endcode %}

Follow the prompts for a pro edition server and provide the License Key and Tenant ID when prompted.

## Upgrade from Community Edition to Pro

You can upgrade from an existing community server to a pro server using the same script, or upgrade manually.

{% stepper %}
{% step %}

### Automatic upgrade (recommended)

Fetch the latest installer and run it to upgrade:

{% code title="Automatic upgrade" %}

```bash
sudo wget -qO /root/nm-quick.sh https://raw.githubusercontent.com/gravitl/netmaker/master/scripts/nm-quick.sh && sudo chmod +x /root/nm-quick.sh && sudo /root/nm-quick.sh -u
```

{% endcode %}

Follow the prompts to set up a pro server. The script will make the necessary changes to your netmaker.env file and grab the pro docker-compose.override.yml file.
{% endstep %}

{% step %}

### Manual upgrade

1. On your netmaker server, add the following to your netmaker.env file:

{% code title="netmaker.env additions" %}

```
LICENSE_KEY=<license key>
NETMAKER_TENANT_ID=<tenant id>
```

{% endcode %}

2. Change `SERVER_IMAGE_TAG` in netmaker.env to `<version>-ee`, for example:

```
SERVER_IMAGE_TAG=v0.25.0-ee
```

3. Change the `INSTALL_TYPE` from `ce` to `pro`.
4. Download the docker-compose pro override file:

{% code title="Fetch docker-compose.pro.yml" %}

```bash
wget -O /root/docker-compose.override.yml https://raw.githubusercontent.com/gravitl/netmaker/master/compose/docker-compose.pro.yml
```

{% endcode %}

No changes need to be made to that file; it uses the configs listed in your netmaker.env file.

5. Restart Netmaker services:

{% code title="Restart Netmaker" %}

```bash
docker compose down && docker compose pull && docker compose up -d
```

{% endcode %}

When you browse to your self-hosted Netmaker via dashboard.\<YOUR\_BASE\_DOMAIN>, you should see the professional UI and a new Dashboard.
{% endstep %}
{% endstepper %}

## (Optional) Setup your server for Prometheus and Grafana

If you would like to use Netmaker’s custom Prometheus exporter and Grafana dashboard, your docker-compose.override.yml file will already include those sections.

In netmaker.env, enable the following:

{% code title="Enable metrics in netmaker.env" %}

```
METRICS_EXPORTER=on
PROMETHEUS=on
```

{% endcode %}

This will enable the metrics exporter and Prometheus integration for use with Grafana dashboards.


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://learn.netmaker.io/getting-started/server-and-client-management/server-installation/adding-a-pro-license-to-your-server.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
