---
title: Upgrade from InfluxDB 3 Core
description: Upgrade from InfluxDB 3 Core to InfluxDB 3 Enterprise. Your existing data and plugins are compatible–no data migration is required.
url: https://docs.influxdata.com/influxdb3/enterprise/admin/upgrade-from-core/
estimated_tokens: 7797
product: InfluxDB 3 Enterprise
version: enterprise
---

# Upgrade from InfluxDB 3 Core

Upgrade from InfluxDB 3 Core to InfluxDB 3 Enterprise. Your existing data and plugins are compatible with Enterprise–no data migration is required.

-   [Before you begin](#before-you-begin)
-   [Upgrade to Enterprise](#upgrade-to-enterprise)

#### Downgrading is not supported

After upgrading to InfluxDB 3 Enterprise, you cannot downgrade back to InfluxDB 3 Core. Enterprise makes catalog changes that are incompatible with Core. To revert to Core, you must restore from a backup taken before the upgrade.

*Before upgrading, back up your data directory.*

## Before you begin

1. **Back up your data**: Create a backup of your InfluxDB 3 Core data directory before upgrading. For more information, see [Back up and restore data](/influxdb3/core/admin/backup-restore/).
    
2. **Note your current configuration**: Record your Core startup options, including `--data-dir`, `--object-store`, `--plugin-dir`, and any other configuration. You’ll use the same data directory with Enterprise.
    
    For a complete list of configuration options, see the [`influxdb3 serve` CLI reference](/influxdb3/enterprise/reference/cli/influxdb3/serve/). If you use a cloud object store (S3, Azure, or Google Cloud Storage), see [Configure object storage](/influxdb3/enterprise/admin/object-storage/).
    
3. **Choose a license type**: Decide which InfluxDB 3 Enterprise license you need:
    
    -   **Trial**: 30-day full-featured trial
    -   **At-Home**: Free for hobbyist use (2 CPU limit, single-node only)
    -   **Commercial**: For production and commercial use
    
    For more information about licenses, see [Manage your license](/influxdb3/enterprise/admin/license/).
    

## Upgrade to Enterprise

Choose your installation method:

<!-- Tabbed content: Select one of the following options -->

**Quick install (Linux/macOS):**

### Stop InfluxDB 3 Core

Stop the running Core process:

```bash
# If running in foreground, press Ctrl+C
# If running in background, find and stop the process
pkill -f "influxdb3 serve"
```

### Install InfluxDB 3 Enterprise

Run the quick install script for Enterprise:

```bash
curl -O https://www.influxdata.com/d/install_influxdb3.sh \
&& sh install_influxdb3.sh enterprise
```

### Start InfluxDB 3 Enterprise

Start Enterprise with your existing data directory. Enterprise requires a `--cluster-id` option that Core doesn’t use:

```bash
influxdb3 serve \
  --node-id NODE_ID \
  --cluster-id CLUSTER_ID \
  --object-store file \
  --data-dir DATA_DIR \
  --license-email EMAIL_ADDRESS
```

Replace the following:

-   `NODE_ID`: Your existing node identifier from Core
-   `CLUSTER_ID`: A new cluster identifier for Enterprise–for example, `cluster0`
-   `DATA_DIR`: The same data directory you used with Core
-   `EMAIL_ADDRESS`: Your email address for license activation

When prompted, select your license type (`trial` or `home`), then verify your email address.

### Verify the upgrade

After starting Enterprise, verify the upgrade was successful:

```bash
# Check the version
influxdb3 --version

# Verify your license
influxdb3 show license --host http://localhost:8181
```

Query your existing data to confirm it’s accessible.

**Docker:**

### Stop the Core container

```bash
docker stop CORE_CONTAINER_NAME
```

Replace `CORE_CONTAINER_NAME` with the name of your InfluxDB 3 Core container.

### Pull the Enterprise image

```bash
docker pull influxdb:3-enterprise
```

### Start InfluxDB 3 Enterprise

Start Enterprise using the same data volume. Enterprise requires a `--cluster-id` option and license configuration:

```bash
docker run -d \
  --name influxdb3-enterprise \
  -p 8181:8181 \
  -e INFLUXDB3_ENTERPRISE_LICENSE_EMAIL=EMAIL_ADDRESS \
  -v DATA_VOLUME:/var/lib/influxdb3/data \
  -v PLUGIN_VOLUME:/var/lib/influxdb3/plugins \
  influxdb:3-enterprise \
  influxdb3 serve \
    --node-id NODE_ID \
    --cluster-id CLUSTER_ID \
    --object-store file \
    --data-dir /var/lib/influxdb3/data
```

Replace the following:

-   `EMAIL_ADDRESS`: Your email address for license activation
-   `DATA_VOLUME`: The same data volume you used with Core
-   `PLUGIN_VOLUME`: The same plugin volume you used with Core
-   `NODE_ID`: Your existing node identifier from Core
-   `CLUSTER_ID`: A new cluster identifier for Enterprise–for example, `cluster0`

#### License activation in Docker

You must provide `INFLUXDB3_ENTERPRISE_LICENSE_EMAIL` as an environment variable because the interactive license prompt doesn’t work in containers. After starting the container, check your email and click the verification link.

[](#using-docker-compose)

Using Docker Compose

Update your `compose.yaml` to use the Enterprise image:

```yaml
services:
  influxdb3:
    image: influxdb:3-enterprise
    container_name: influxdb3-enterprise
    ports:
      - 8181:8181
    environment:
      - INFLUXDB3_ENTERPRISE_LICENSE_EMAIL=${EMAIL_ADDRESS}
    command:
      - influxdb3
      - serve
      - --node-id=NODE_ID
      - --cluster-id=CLUSTER_ID
      - --object-store=file
      - --data-dir=/var/lib/influxdb3/data
    volumes:
      # Use the same paths as Core
      - type: bind
        source: DATA_VOLUME
        target: /var/lib/influxdb3/data
      - type: bind
        source: PLUGIN_VOLUME
        target: /var/lib/influxdb3/plugins
```

Replace the following:

-   `EMAIL_ADDRESS`: Your email address for license activation (or a variable from your Compose `.env` file)
-   `NODE_ID`: Your existing node identifier from Core
-   `CLUSTER_ID`: A new cluster identifier for Enterprise–for example, `cluster0`
-   `DATA_VOLUME`: The same host data path you used with Core–for example, `~/.influxdb3/data`
-   `PLUGIN_VOLUME`: The same host plugin path you used with Core–for example, `~/.influxdb3/plugins`

Then run:

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

### Verify the upgrade

After starting Enterprise, verify the upgrade was successful:

<!-- Tabbed content: Select one of the following options -->

**Docker:**

```bash
# Check the version
docker exec influxdb3-enterprise \
  influxdb3 --version

# Verify your license
docker exec influxdb3-enterprise \
  influxdb3 show license --host http://localhost:8181
```

**Docker Compose:**

```bash
# Check the version
docker compose exec influxdb3-enterprise \
  influxdb3 --version

# Verify your license
docker compose exec influxdb3-enterprise \
  influxdb3 show license --host http://localhost:8181
```

<!-- End tabbed content -->

Query your existing data to confirm it’s accessible.

**DEB/RPM (systemd):**

### Stop InfluxDB 3 Core

```bash
sudo systemctl stop influxdb3-core
```

### Install InfluxDB 3 Enterprise

First, remove the Core package (this doesn’t remove your data or configuration):

[](#deb-based-systems-debian-ubuntu)

DEB-based systems (Debian, Ubuntu)

```bash
# Debian/Ubuntu
sudo apt-get remove influxdb3-core  # doesn't remove /var/lib/influxdb3 or /etc/influxdb3
sudo apt-get update && sudo apt-get install influxdb3-enterprise
```

[](#rpm-based-systems-rhel-centos-fedora)

RPM-based systems (RHEL, CentOS, Fedora)

```bash
# RHEL/CentOS/Fedora
sudo yum remove influxdb3-core  # doesn't remove /var/lib/influxdb3 or /etc/influxdb3
sudo yum install influxdb3-enterprise
```

### Configure InfluxDB 3 Enterprise

The Enterprise package installs a self-documenting configuration file at `/etc/influxdb3/influxdb3-enterprise.conf`. Merge your Core settings into this file rather than overwriting it.

1. View the settings you configured in Core:
    
    ```bash
    # Show uncommented (active) settings from Core configuration
    sudo grep -E '^ *[^#]' /etc/influxdb3/influxdb3-core.conf
    ```
    
2. Merge Core settings into the Enterprise configuration:
    
    ```bash
    # Back up the original Enterprise configuration
    sudo cp /etc/influxdb3/influxdb3-enterprise.conf \
            /etc/influxdb3/influxdb3-enterprise.conf.orig
    
    # Merge settings from Core into Enterprise config
    sudo grep -E '^ *[^#]' /etc/influxdb3/influxdb3-core.conf | while IFS= read -r line; do
      key=$(echo "$line" | sed 's/=.*/=/')
      if sudo grep -qE "^ *${key}" /etc/influxdb3/influxdb3-enterprise.conf; then
        # Update existing uncommented line
        sudo sed -i "s|^ *${key}.*|${line}|" /etc/influxdb3/influxdb3-enterprise.conf
      else
        # Replace commented line with active setting
        sudo sed -i "s|^#${key}.*|${line}|" /etc/influxdb3/influxdb3-enterprise.conf
      fi
    done
    ```
    
3. Add your license email to the Enterprise configuration:
    
    ```bash
    sudo sed -i 's|^#license-email.*|license-email = "EMAIL_ADDRESS"|' \
      /etc/influxdb3/influxdb3-enterprise.conf
    ```
    
    Replace `EMAIL_ADDRESS` with your email address for license activation.
    
4. Verify the merged configuration:
    
    ```bash
    sudo grep -E '^ *[^#]' /etc/influxdb3/influxdb3-enterprise.conf
    ```
    
    The output should include your Core settings plus the license email and cluster ID–for example:
    
    ```text
    node-id = "primary-node"
    object-store = "file"
    data-dir = "/var/lib/influxdb3/data"
    plugin-dir = "/var/lib/influxdb3/plugins"
    cluster-id = "primary-cluster"
    license-email = "you@example.com"
    ```
    
    The DEB/RPM packages use `primary-node` and `primary-cluster` as defaults, matching the behavior of running `influxdb3 serve` without `--node-id` or `--cluster-id`.
    

### Start InfluxDB 3 Enterprise

```bash
sudo systemctl start influxdb3-enterprise
```

Check the logs to verify the server started successfully:

```bash
journalctl --unit influxdb3-enterprise -f
```

After starting, check your email and click the verification link to activate your license.

### Verify the upgrade

After starting Enterprise, verify the upgrade was successful:

```bash
# Check the version
influxdb3 --version

# Verify your license
influxdb3 show license --host http://localhost:8181
```

Query your existing data to confirm it’s accessible.

<!-- End tabbed content -->

#### Related

-   [Back up and restore data](/influxdb3/core/admin/backup-restore/)
-   [Install InfluxDB 3 Enterprise](/influxdb3/enterprise/install/)
-   [Manage your InfluxDB 3 Enterprise license](/influxdb3/enterprise/admin/license/)
-   [influxdb3 serve](/influxdb3/enterprise/reference/cli/influxdb3/serve/)
-   [Configure object storage](/influxdb3/enterprise/admin/object-storage/)

[upgrade](/influxdb3/enterprise/tags/upgrade/) [core](/influxdb3/enterprise/tags/core/) [migration](/influxdb3/enterprise/tags/migration/)
