> For the complete documentation index, see [llms.txt](https://learn.netmaker.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://learn.netmaker.io/getting-started/server-and-client-management/server-installation/adding-a-pro-license-to-your-server.md).

# Adding a Pro License to your Server

Learn how to set up Netmaker Professional and take advantage of advanced business-focused features not included in the Community Edition. Check out our [pricing page](https://www.netmaker.io/pricing) for a full comparison and pricing details.

#### Unlock advanced business capabilities with Netmaker Professional, which builds on the Community Edition with additional features and functionality. Key differences are outlined below.

## Key Differences

The **Community Edition (CE)** offers a solid, open-source foundation for VPN deployments under the Apache 2.0 license, with no usage limits. It includes features like an integrated private DNS server, network relays, full-tunnel internet gateways, egress to external networks, basic access controls, basic user management, and MFA. It's self-hosted 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 teams and enterprises. It includes advanced user management with role-based access, advanced access controls with both device and user policies, SSO login (Google, GitHub, Microsoft, and custom OIDC), dedicated traffic relays, zero-touch NAT traversal, network metrics and analytics exportable to Prometheus and Grafana, and the Desktop & Mobile App for remote access. Higher tiers further add audit logging, HA traffic routing, posture checks, device approvals, SCIM-based IDP provisioning, just-in-time access, and more.

For a detailed overview of features across the Pro and Community Editions, check it out here

**Pro-Specific Functionalities**

**User Management**

* In the Community Edition (CE), only basic user management is available.
* The Professional Edition unlocks advanced user management, enabling role-based access, user groups and roles, and more granular control — ideal for managing teams and remote access gateways.
* Higher Pro tiers additionally support SCIM-based provisioning for automated user and group sync from identity providers like Okta, Google Workspace, and Microsoft Entra ID.

**Remote Access Clients**

* Seamless remote connectivity via the Netmaker Desktop App and Mobile App.
* Enables secure access to your network from any laptop or mobile device — perfect for remote work scenarios.

**Dedicated Traffic Relays**

* Automatically relays traffic for machines in hard-to-reach locations, improving overall network health and enabling more flexible network designs.

**Enhanced Access Control Lists (ACLs)**

* Allows you to define detailed communication rules using both device and user policies.
* Combine with user-level permissions to enhance network security and segmentation.

**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.

**SSO / OAuth Integration**

* Supports SSO login via Google, GitHub, Microsoft, and custom OIDC providers.
* Allows users to authenticate using their existing organizational credentials for seamless and secure access.

**Audit Logs**

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

**High Availability (HA) Traffic Routing**

* Ensures resilient, uninterrupted traffic routing across your network infrastructure.

**Posture Checks & Device Approvals**

* Enforce security posture requirements before granting device access, and require approval for new devices joining the network.

**SCIM & IDP Provisioning**

* Automates user and group lifecycle management through SCIM integration with Entra ID, Google Workspace, and Okta.
* Available in the Enterprise tier.

## 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
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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` 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>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
