---
title: "Activating Your License | DreamFactory Docs"
source: "https://docs.dreamfactory.com/getting-started/installing-dreamfactory/activating-your-license"
canonical_url: "https://docs.dreamfactory.com/getting-started/installing-dreamfactory/activating-your-license"
converted_at: "2026-09-10T20:47:05.650Z"
format: "markdown"
converted_by: "html-to-md-ai"
---
If you already have DreamFactory running and have received a license from the DreamFactory team, this guide walks through applying it to your existing instance. Your services, roles, API keys, and system database are untouched. Only the application packages and the license key change.

## What you receive[​](#what-you-receive)

The DreamFactory team provides two things:

- **Three composer files**: `composer.json`, `composer.json-dist`, and `composer.lock`. These tell Composer which DreamFactory packages to install for your license. The DreamFactory team will typically give you credentials to download these from the DreamFactory SFTP server, where they are organized by version.

- **A license key**: a string you set as `DF_LICENSE_KEY` in the environment.

Both must match the DreamFactory version you are running. If you are unsure which version that is, check **Admin > About DreamFactory** in the admin panel before you start.

tipThe Oracle connector is shipped separately due to Oracle's licensing terms. If your license includes Oracle, see [Installing Additional Drivers](/getting-started/installing-dreamfactory/installing-additional-drivers).

## Docker[​](#docker)

These steps assume you started DreamFactory from the [df-docker](https://github.com/dreamfactorysoftware/df-docker) repository.

1. Back up first. Stop the containers and confirm `APP_KEY` is pinned in `docker-compose.yml` so your system database stays readable after the rebuild (see [Persisting system database configs](/getting-started/installing-dreamfactory/docker-installation#persisting-system-database-configs)).

```
docker compose stop
```

2. Copy the three composer files into the `df-docker` directory, overwriting the existing ones.

3. Add the license key to the `web` service in `docker-compose.yml`:

```
web:  environment:    DF_LICENSE_KEY: "your-license-key"
```

4. Rebuild and start:

```
docker compose build webdocker compose up -d
```

The build pulls the additional packages, so it takes longer than usual.

## Linux and manual installs[​](#linux-and-manual-installs)

These steps assume DreamFactory lives in `/opt/dreamfactory`. Adjust the path if yours differs.

1. Back up the installation directory and system database.

2. Copy the three composer files into the installation directory, overwriting the existing ones.

3. Install the packages:

```
cd /opt/dreamfactorycomposer install --no-dev --ignore-platform-reqs
```

4. Add the license key to `.env`:

```
DF_LICENSE_KEY=your-license-key
```

5. Run migrations and clear caches:

```
php artisan migrate --seedphp artisan cache:clearphp artisan config:clear
```

6. Restart the web server and PHP-FPM:

```
sudo systemctl restart nginx php8.3-fpm
```

## Verify[​](#verify)

Log in to the admin panel and open the **API Generation & Connections** tab. Connectors that were previously greyed out, such as SQL Server, SOAP, and Salesforce, are now selectable. **Admin > About DreamFactory** also shows your license key.

## Troubleshooting[​](#troubleshooting)

**`composer install` fails on a platform requirement** such as `ext-oci8`. Composer is checking for a PHP extension you do not have installed. The `--ignore-platform-reqs` flag above skips that check, which is safe for any driver you are not using.

**Connectors are still locked after restart.** Confirm the key is visible to the application with `php artisan tinker --execute="echo config('app.license_key');"` (inside the container for Docker). An empty result means the key is not being read from the environment.

**"The MAC is invalid" after a Docker rebuild.** `APP_KEY` changed. Restore the original value in `docker-compose.yml` and restart.

Need help? Contact [[email protected]](/cdn-cgi/l/email-protection#661513161609141226021403070b0007051209141f4805090b).