Skip to content

Docs for Liquibase Pro Official Image #2590

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 20 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
efe39f5
Docs for Liquibase Official Image
robertericreeves Sep 28, 2020
0ec838c
Docs for Liquibase Official Image
robertericreeves Sep 28, 2020
0651860
Docs for Liquibase Official Image
robertericreeves Sep 28, 2020
d46a831
Update liquibase/content.md to fix bad quotes
jandroav Apr 9, 2024
ddc68a3
Update liquibase/content.md to fix bad quotes
jandroav Apr 9, 2024
3deb131
chore(liquibase): update github repository link in github-repo file
Apr 9, 2024
f3cc0c0
chore(liquibase): add liquibase docker GitHub repository URL
Apr 9, 2024
cfd8a61
chore(liquibase): remove unnecessary URL from github-repo file
Apr 9, 2024
1027f7b
Update maintainer.md
jandroav Apr 10, 2024
c8c13ea
Update content.md
jandroav Apr 10, 2024
80b59f0
Update license.md
jandroav Apr 10, 2024
9a94ae1
Merge branch 'docker-library:master' into master
jandroav Jun 21, 2024
9f5e855
Merge branch 'docker-library:master' into master
sayaliM0412 Jun 26, 2024
b8f6a6b
Update README.md to add a scarf.sh pixel (#13)
sayaliM0412 Jun 26, 2024
6b85b67
Merge branch 'docker-library:master' into master
sayaliM0412 Jun 26, 2024
e4ead25
Merge branch 'docker-library:master' into master
jandroav Jun 20, 2025
c745f11
Add maintainer documentation and metadata for Liquibase Pro
jandroav Jun 20, 2025
f4b8e37
Update Liquibase Pro docs and license for enterprise edition
jandroav Jun 27, 2025
64c9a88
Merge branch 'docker-library:master' into master
jandroav Jun 27, 2025
23ea04c
ify product name in README-short.txt Remove tracking image from README
jandroav Jun 27, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions liquibase-pro/README-short.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Liquibase Pro is DevOps for your database.
238 changes: 238 additions & 0 deletions liquibase-pro/content.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,238 @@
# Official Liquibase-Pro Docker Images

**Liquibase Pro** is the enterprise edition of Liquibase that provides advanced database DevOps capabilities for teams requiring enhanced security, performance, and governance features.

## ⚠️ License Requirements

> **WARNING**: Liquibase Pro requires a valid license key to use Pro features. Without a license, the container will run in Liquibase Community mode with limited functionality.
>
> - Contact [Liquibase Sales](https://www.liquibase.com/community/contact) to obtain a Pro license
> - Existing customers receive their Pro license keys in an email.

## 📋 Pro Features

Liquibase Pro is the enterprise edition of [Liquibase](https://www.liquibase.com/) that provides advanced database DevOps capabilities for teams requiring enhanced security, performance, and governance features.

Liquibase Pro includes all Community features plus:

### 🔐 Security & Governance

- **Policy Checks**: Enforce database standards and best practices
- **Quality Checks**: Advanced validation rules for changesets
- **Rollback SQL**: Generate rollback scripts for any deployment
- **Targeted Rollback**: Rollback specific changesets without affecting others
- **Advanced Database Support**: Enhanced support for Oracle, SQL Server, and other enterprise databases
- **Audit Reports**: Comprehensive tracking of database changes
- **Stored Logic**: Support for functions, procedures, packages, and triggers

## 🔧 Environment Variables

### Pro License Environment Variable

| Variable | Description | Example |
|----------|-------------|---------|
| `LIQUIBASE_LICENSE_KEY` | Your Liquibase Pro license key | `ABcd-1234-EFGH-5678` |

### 🔧 Action Required

Please update your Dockerfiles and scripts to pull from the new official image:

## Available Registries

We publish this image to multiple registries:

| Registry | Pro Image |
|----------|-----------|
| **Docker Hub (default)** | `liquibase/liquibase-pro` |
| **GitHub Container Registry** | `ghcr.io/liquibase/liquibase-pro` |
| **Amazon ECR Public** | `public.ecr.aws/liquibase/liquibase-pro` |

## Dockerfile

```dockerfile
FROM liquibase/liquibase-pro:latest
# OR ghcr.io/liquibase/liquibase-pro:latest # GHCR
# OR public.ecr.aws/liquibase/liquibase-pro:latest # Amazon ECR Public
```

## Scripts

### Pro Edition

```bash
# Docker Hub (default)
docker pull liquibase/liquibase-pro

# GitHub Container Registry
docker pull ghcr.io/liquibase/liquibase-pro

# Amazon ECR Public
docker pull public.ecr.aws/liquibase/liquibase-pro
```

### Pulling the Latest or Specific Version

#### Pulling Pro Edition Images

```bash
# Latest
docker pull liquibase/liquibase-pro:latest
docker pull ghcr.io/liquibase/liquibase-pro:latest
docker pull public.ecr.aws/liquibase/liquibase-pro:latest

# Specific version (example: 4.32.0)
docker pull liquibase/liquibase-pro:4.32.0
docker pull ghcr.io/liquibase/liquibase-pro:4.32.0
docker pull public.ecr.aws/liquibase/liquibase-pro:4.32.0
```

For any questions or support, please visit our [Liquibase Community Forum](https://forum.liquibase.org/).

## 🏷️ Supported Tags

The following tags are officially supported and can be found on [Docker Hub](https://hub.docker.com/r/liquibase/liquibase-pro/tags):

- `liquibase/liquibase-pro:<version>`

### Database Connection Variables

| Variable | Description | Example |
|----------|-------------|---------|
| `LIQUIBASE_COMMAND_URL` | Database JDBC URL | `jdbc:postgresql://db:5432/mydb` |
| `LIQUIBASE_COMMAND_USERNAME` | Database username | `dbuser` |
| `LIQUIBASE_COMMAND_PASSWORD` | Database password | `dbpass` |
| `LIQUIBASE_COMMAND_CHANGELOG_FILE` | Path to changelog file | `/liquibase/changelog/changelog.xml` |

### Pro-Specific Configuration

| Variable | Description | Default |
|----------|-------------|---------|
| `LIQUIBASE_PRO_POLICY_CHECKS_ENABLED` | Enable policy checks | `true` |
| `LIQUIBASE_PRO_QUALITY_CHECKS_ENABLED` | Enable quality checks | `true` |
| `LIQUIBASE_REPORTS_ENABLED` | Enable HTML reports | `true` |
| `LIQUIBASE_REPORTS_PATH` | Reports output directory | `/tmp/reports` |

## Required License Configuration

Set your Liquibase Pro license key using the `LIQUIBASE_LICENSE_KEY` environment variable:

```bash
$ docker run --rm \
-e LIQUIBASE_LICENSE_KEY="YOUR_LICENSE_KEY_HERE" \
-v /path/to/changelog:/liquibase/changelog \
liquibase/liquibase-pro \
--changelog-file=example-changelog.xml \
--url="jdbc:postgresql://host.docker.internal:5432/testdb" \
--username=postgres \
--password=password \
--search-path=/liquibase/changelog/ \
update
```

## Mounting Changelog Files

Mount your changelog directory to the `/liquibase/changelog` volume and use the `--search-path` parameter to specify the location.

```bash
$ docker run --rm \
-e LIQUIBASE_LICENSE_KEY="YOUR_LICENSE_KEY_HERE" \
-v "$(pwd)":/liquibase/changelog \
liquibase/liquibase-pro \
--changelog-file=example-changelog.xml \
--search-path=/liquibase/changelog/ \
update
```

## Using a Properties File

To use a default configuration file, mount it in your changelog volume and reference it with the `--defaults-file` argument.

```bash
$ docker run --rm \
-e LIQUIBASE_LICENSE_KEY="YOUR_LICENSE_KEY_HERE" \
-v /path/to/changelog:/liquibase/changelog \
liquibase/liquibase-pro \
--defaults-file=liquibase.properties update
```

Example `liquibase.properties` file:

```bash
url=jdbc:postgresql://host.docker.internal:5432/testdb
username=postgres
password=password
changelog-file=example-changelog.xml
search-path=/liquibase/changelog/
licenseKey=<PASTE LB PRO LICENSE KEY HERE>
```

## Adding Additional JARs

Mount a local directory containing additional jars to `/liquibase/lib`.

```bash
$ docker run --rm \
-e LIQUIBASE_LICENSE_KEY="YOUR_LICENSE_KEY_HERE" \
-v /path/to/changelog:/liquibase/changelog \
-v /path/to/lib:/liquibase/lib \
liquibase/liquibase-pro update

## 📦 Using the Docker Image

### 🏷️ Standard Image

The `liquibase/liquibase-pro:<version>` image is the standard choice. Use it as a disposable container or a foundational building block for other images.

For examples of extending the standard image, see the [standard image examples](https://github.com/liquibase/docker/tree/main/examples).


**Usage:**

```bash
# Build the image
docker build . -t liquibase-pro-aws

# Run with AWS credentials
docker run --rm \
-e AWS_ACCESS_KEY_ID="your-access-key" \
-e AWS_SECRET_ACCESS_KEY="your-secret-key" \
-e LIQUIBASE_LICENSE_KEY="your-license-key" \
-v "$(pwd)":/liquibase/changelog \
liquibase-pro-aws \
--changelog-file=changelog.xml \
--search-path=/liquibase/changelog/ \
update
```

### 🐳 Docker Compose Example

For a complete example using Docker Compose with PostgreSQL:

```yaml
version: '3.8'
services:
liquibase:
image: liquibase/liquibase-pro:latest
environment:
LIQUIBASE_LICENSE_KEY: "${LIQUIBASE_LICENSE_KEY}"
LIQUIBASE_COMMAND_URL: "jdbc:postgresql://postgres:5432/example"
LIQUIBASE_COMMAND_USERNAME: "liquibase"
LIQUIBASE_COMMAND_PASSWORD: "liquibase"
LIQUIBASE_COMMAND_CHANGELOG_FILE: "changelog.xml"
volumes:
- ./changelog:/liquibase/changelog
depends_on:
- postgres
command: update

postgres:
image: postgres:15
environment:
POSTGRES_DB: example
POSTGRES_USER: liquibase
POSTGRES_PASSWORD: liquibase
ports:
- "5432:5432"
```


1 change: 1 addition & 0 deletions liquibase-pro/github-repo
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
https://github.com/liquibase/docker
11 changes: 11 additions & 0 deletions liquibase-pro/license.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
This Docker image contains Liquibase Pro software which requires a valid commercial license for use.

For licensing questions, please contact [Liquibase Sales](https://www.liquibase.com/contact).

View [license information](https://www.liquibase.com/eula) for the software contained in this image.

As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).

Some additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `liquibase/` directory](https://github.com/docker-library/repo-info/tree/master/repos/liquibase).

As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.
Binary file added liquibase-pro/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions liquibase-pro/maintainer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[Liquibase](%%GITHUB-REPO%%)
7 changes: 7 additions & 0 deletions liquibase-pro/metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"hub": {
"categories": [
"developer-tools"
]
}
}
Loading