advantys/workflowgen-sql

By advantys

Updated about 1 month ago

Pre-configured SQL Server for WorkflowGen. v10 & v9 Linux production-ready. Windows dev/test only.

Image
0

10K+

advantys/workflowgen-sql repository overview

WorkflowGen SQL Server Database Docker Image

Pre-configured Microsoft SQL Server database ready for WorkflowGen deployments across all supported versions.

Platform Support & Production Readiness

PlatformSQL Server EditionProduction StatusUse Case
v10 LinuxSQL Server 2025Production-ReadyProduction and development
v10 Windows (ltsc2019)SQL Server 2025 Express⚠️ Development/Testing OnlyDevelopment and testing only
v9.3.1+ LinuxSQL Server 2022Production-ReadyProduction and development
v9.3.0 and earlier LinuxSQL Server 2019Production-ReadyProduction and development
v8 LinuxSQL Server 2019Production-ReadyProduction and development
v9 Windows (ltsc2019/ltsc2022)SQL Server Express 2017⚠️ Development/Testing OnlyDevelopment and testing only
v8 Windows (ltsc2019)SQL Server Express 2017⚠️ Development/Testing OnlyDevelopment and testing only
🚨 IMPORTANT - Production Readiness
  • v10 Linux → ✅ Production-Ready (SQL Server 2025)
  • v9.3.1+, v9.3.0, v8 Linux → ✅ Production-Ready (SQL Server 2019/2022)
  • v10 Windows → ⚠️ Dev/Test Only (SQL Server 2025 Express, 50GB limit)
  • v8, v9 Windows → ⚠️ Dev/Test Only (SQL Server Express 2017, 10GB limit)

⚠️ Version Matching is Critical

Important: Always use a database image version that matches your WorkflowGen application version.

Version Compatibility Matrix
WorkflowGen VersionRecommended Database Tag (Linux)Windows TagStatus
10.3.010.3.0-ubuntu-24.0410.3.0-express-win-ltsc2019Production (Linux)
9.3.1+9.6.0-ubuntu-22.049.6.0-express-win-ltsc2019 or 9.6.0-express-win-ltsc2022Production (Linux)
9.3.0 and earlier{version}-ubuntu-18.04{version}-express-win-ltsc2019✅ Supported
8.x{version}-ubuntu-18.04{version}-express-win-ltsc2019✅ Supported

⚠️ WorkflowGen v7.x is deprecated. While v7.x database images remain available on Docker Hub, they are no longer actively supported. Please upgrade to v8.x or v9.x.

Example tags: 10.3.0-ubuntu-24.04 (v10 Linux), 10.3.0-express-win-ltsc2019 (v10 Windows), 9.6.0-ubuntu-22.04 (v9 production)


Requirements

  • Docker Engine on any Linux distribution
  • Minimum 2GB RAM (4GB+ recommended for production)
  • Docker for Windows or Docker Desktop (with Linux containers mode)
  • Docker for Mac
Windows Containers
  • Windows Server 2019 or Windows 10 Pro (with Hyper-V)
  • Docker for Windows or Docker Enterprise Edition
  • Must use the Windows Server version that matches the Windows image tag (ltsc2019 or ltsc2022)
  • Note: Windows containers require matching OS versions between host and container
  • Minimum 4GB RAM recommended for v10 (SQL Server 2025)

Quick Start

v10 Linux (SQL Server 2025)
docker volume create wfgen-sql-data
docker run -d --name wfgen-sql --env-file ./database.env \
  -v wfgen-sql-data:/var/opt/mssql -p 1433:1433 \
  advantys/workflowgen-sql:10.3.0-ubuntu-24.04
v10 Windows (SQL Server 2025 Express - Dev/Test Only)

⚠️ NOT FOR PRODUCTION - Express Edition has limitations (50GB database size limit, 1 CPU, 1.4GB RAM). Use Linux image for production.

docker volume create wfgen-sql-data
docker run -d --name wfgen-sql --env-file .\database.env `
  -v wfgen-sql-data:C:\wfgen\sql -p 1433:1433 `
  advantys/workflowgen-sql:10.3.0-express-win-ltsc2019
v9 Linux (SQL Server 2022 - Production-Ready)
docker volume create wfgen-sql-data
docker run -d --name wfgen-sql --env-file ./database.env \
  -v wfgen-sql-data:/var/opt/mssql -p 1433:1433 \
  advantys/workflowgen-sql:9.6.0-ubuntu-22.04

Other versions: 9.2.11-ubuntu-18.04 (v9 SQL 2019), 8.3.5-ubuntu-18.04 (v8 SQL 2019)

v8, v9 Windows (Development/Testing - SQL Server Express 2017)
# Create volume for database persistence
docker volume create wfgen-sql-data

# Run container (examples: 9.6.0 or 8.3.5)
docker run -d `
  --name wfgen-sql `
  --env-file .\database.env `
  -v wfgen-sql-data:C:\wfgen\sql `
  -p 1433:1433 `
  advantys/workflowgen-sql:9.6.0-express-win-ltsc2019
  
# Or, for Windows Server 2022:
# advantys/workflowgen-sql:9.6.0-express-win-ltsc2022
  
# Or for v8:
# advantys/workflowgen-sql:8.3.5-express-win-ltsc2019

Configuration

Required Environment Variables

All images require the following environment variables:

VariableDescriptionRequired
ACCEPT_EULAAccept SQL Server EULA (Y or N)✅ Yes (Linux only)
SA_PASSWORDSQL Server SA account password (see password requirements)✅ Yes
WFGEN_DATABASE_USER_PASSWORDWorkflowGen database user password✅ Yes
MSSQL_PIDSQL Server edition (see edition table)⚠️ Recommended for v10 Linux

Notes:

  • ACCEPT_EULA is required for Linux images only (Microsoft requirement). Windows images have SQL Server pre-installed.
  • SA_PASSWORD is required for both Linux and Windows images.
  • MSSQL_SA_PASSWORD is also supported as an alias for SA_PASSWORD.
Optional Environment Variables
VariableDescriptionDefault
WFGEN_DATABASE_NAMEWorkflowGen database nameWFGEN
WFGEN_DATABASE_CONTAINMENTEnable contained database users (Y or N)Y
WFGEN_DATABASE_USER_USERNAMEWorkflowGen database user usernameWFGEN_USER
WFGEN_DATABASE_FILE_PATHPath to database files inside containerWindows: C:\wfgen\sql
Linux: /var/opt/mssql
WFGEN_ADMIN_USERNAMEWorkflowGen admin usernamewfgen_admin
WFGEN_ADMIN_PASSWORDWorkflowGen admin password(none)
WFGEN_AUTH_APPLICATIONUse WorkflowGen applicative auth (Y or N)Y
SQL Server Edition Selection

For v10 Linux only - Choose your SQL Server edition based on your use case:

EditionValueUse CaseCostProduction
DeveloperDeveloperDevelopment & TestingFREE❌ Not licensed
ExpressExpressProductionFREE✅ Yes
EnterpriseEnterpriseProductionRequires license✅ Yes

Important Notes:

  • Default: If MSSQL_PID is not specified, SQL Server defaults to Developer edition (Microsoft default)
  • Developer Edition: FREE for dev/test, but NOT licensed for production use
  • For production, specify Express (free) or Enterprise (requires license)
  • For development/testing, Developer is recommended (it's the default)
  • Windows containers have the edition fixed at build time (Express Edition)

Example for Linux v10:

# database.env for Linux
SA_PASSWORD=yourStrong(!)Password
WFGEN_DATABASE_USER_PASSWORD=myStrong(?)Password
ACCEPT_EULA=Y
MSSQL_PID=Express  # Free for production use

Connection Strings

For WorkflowGen Application

Use these connection strings in your WorkflowGen container (works on both Linux and Windows):

Recommended (WFGEN_USER account):

WFGEN_DATABASE_CONNECTION_STRING=Data Source=wfgen-sql;Initial Catalog=WFGEN;User ID=WFGEN_USER;Password=<your-password>;TrustServerCertificate=True

Using SA account (not recommended for production):

WFGEN_DATABASE_CONNECTION_STRING=Data Source=wfgen-sql;Initial Catalog=WFGEN;User ID=sa;Password=<SA-password>;TrustServerCertificate=True

Note: TrustServerCertificate=True is required for SQL Server 2025 (both Linux and Windows) due to enforced SSL encryption with self-signed certificates.

For External Database Tools

To connect with SQL Server Management Studio, Azure Data Studio, or other tools:

  • Server: localhost,1433 or 127.0.0.1,1433
  • Authentication: SQL Server Authentication
  • Username: sa (or WFGEN_USER)
  • Password: (your SA_PASSWORD or WFGEN_DATABASE_USER_PASSWORD value)
  • Database: WFGEN

Secrets Management

For production deployments, use Docker Secrets or Kubernetes Secrets to protect sensitive information.

Docker Secrets Example (Linux)
# Create secrets
echo "yourStrong(!)Password" | docker secret create SA_PASSWORD -
echo "myStrong(?)Password" | docker secret create WFGEN_DATABASE_USER_PASSWORD -

# Create service with secrets
docker service create \
  --name wfgen-sql \
  --secret SA_PASSWORD \
  --secret WFGEN_DATABASE_USER_PASSWORD \
  -e SA_PASSWORD_FILE=/run/secrets/SA_PASSWORD \
  -e WFGEN_DATABASE_USER_PASSWORD_FILE=/run/secrets/WFGEN_DATABASE_USER_PASSWORD \
  -e ACCEPT_EULA=Y \
  advantys/workflowgen-sql:9.6.0-ubuntu-22.04
Docker Secrets Example (Windows - v8, v9)
# Create secrets
docker secret create SA_PASSWORD "yourStrong(!)Password"
docker secret create WFGEN_DATABASE_USER_PASSWORD "myStrong(?)Password"

# Create service with secrets
docker service create `
  --name wfgen-sql `
  --secret SA_PASSWORD `
  --secret WFGEN_DATABASE_USER_PASSWORD `
  -e SA_PASSWORD_FILE=C:\ProgramData\Docker\secrets\SA_PASSWORD `
  -e WFGEN_DATABASE_USER_PASSWORD_FILE=C:\ProgramData\Docker\secrets\WFGEN_DATABASE_USER_PASSWORD `
  -e ACCEPT_EULA=Y `
  advantys/workflowgen-sql:9.6.0-express-win-ltsc2019

Important: Environment variables ending with _FILE and their non-_FILE counterparts are mutually exclusive. If both are defined, the container will fail to start.


Environment File Example

Create a database.env file with your configuration:

# Required
SA_PASSWORD=yourStrong(!)Password
WFGEN_DATABASE_USER_PASSWORD=myStrong(?)Password

# Required for Linux only
ACCEPT_EULA=Y

# Recommended for v10 Linux (specify SQL Server edition)
MSSQL_PID=Developer

# Optional
WFGEN_DATABASE_CONTAINMENT=Y
WFGEN_DATABASE_USER_USERNAME=WFGEN_USER
WFGEN_ADMIN_USERNAME=wfgen_admin
WFGEN_ADMIN_PASSWORD=admin123
WFGEN_AUTH_APPLICATION=Y

Then use it with --env-file:

# v10 Linux
docker run -d --env-file ./database.env advantys/workflowgen-sql:10.3.0-ubuntu-24.04

# v9 Linux
docker run -d --env-file ./database.env advantys/workflowgen-sql:9.6.0-ubuntu-22.04

# v8/v9 Windows
docker run -d --env-file .\database.env advantys/workflowgen-sql:9.6.0-express-win-ltsc2019

Data Persistence

Linux Container Volumes
Container PathDescription
/var/opt/mssqlSQL Server data directory (includes all databases)

Example:

# Using named volume (recommended)
docker volume create wfgen-sql-data
docker run -d -v wfgen-sql-data:/var/opt/mssql advantys/workflowgen-sql:10.3.0-ubuntu-24.04

# Using bind mount
docker run -d -v /host/path/to/mssql:/var/opt/mssql advantys/workflowgen-sql:9.6.0-ubuntu-22.04
Windows Container Volumes (v8, v9, v10)
Container PathDescription
C:\wfgen\sqlWorkflowGen database files (WFGEN.mdf and WFGEN_Log.ldf)

Example:

# Using named volume (recommended)
docker volume create wfgen-sql-data

# v10 (SQL Server 2025)
docker run -d -v wfgen-sql-data:C:\wfgen\sql advantys/workflowgen-sql:10.3.0-express-win-ltsc2019

# v9 (SQL Server 2017/2022)
docker run -d -v wfgen-sql-data:C:\wfgen\sql advantys/workflowgen-sql:9.6.0-express-win-ltsc2019

# Using bind mount
docker run -d -v C:\host\path:C:\wfgen\sql advantys/workflowgen-sql:9.6.0-express-win-ltsc2019

⚠️ Important: Always map volumes to persist your data. Without volume mapping, all data will be lost when the container is removed.


Accessing the Container

PowerShell Access
Linux Container
# Interactive PowerShell session
docker exec -it wfgen-sql pwsh

# Execute single command
docker exec wfgen-sql pwsh -Command "Get-Date"
Windows Container (v8, v9, v10)
# Interactive PowerShell session
docker exec -it wfgen-sql powershell

# Execute single command
docker exec wfgen-sql powershell -Command "Get-Date"
Bash Access (Linux Only)
# Interactive bash session
docker exec -it wfgen-sql bash

# Execute single command
docker exec wfgen-sql bash -c "ls -la /var/opt/mssql"

Accessing SQL Server with External Tools

Expose Port 1433
# v10 Linux
docker run -d -p 1433:1433 --env-file ./database.env advantys/workflowgen-sql:10.3.0-ubuntu-24.04

# v9 Linux
docker run -d -p 1433:1433 --env-file ./database.env advantys/workflowgen-sql:9.6.0-ubuntu-22.04
# v10 Windows
docker run -d -p 1433:1433 --env-file .\database.env advantys/workflowgen-sql:10.3.0-express-win-ltsc2019

# v8/v9 Windows
docker run -d -p 1433:1433 --env-file .\database.env advantys/workflowgen-sql:9.6.0-express-win-ltsc2019

Note: If SQL Server is already running on the host on port 1433, map to a different port:

docker run -d -p 1434:1433 ... advantys/workflowgen-sql:10.3.0-ubuntu-24.04

Then connect to localhost,1434


Container Lifecycle

Starting and Stopping
# Stop container (preserves data if volumes are mapped)
docker stop wfgen-sql

# Start existing container
docker start wfgen-sql

# Restart container
docker restart wfgen-sql

# Remove container (data persists in volumes)
docker rm wfgen-sql
Viewing Logs
# View container logs
docker logs wfgen-sql

# Follow logs in real-time
docker logs -f wfgen-sql

# View last 100 lines
docker logs --tail 100 wfgen-sql
Health Check
# Check container status
docker ps --filter name=wfgen-sql

# Verify database is accessible
docker exec wfgen-sql pwsh -Command "Invoke-Sqlcmd -Query 'SELECT DB_NAME()' -Database WFGEN -ServerInstance localhost"

# Verify WorkflowGen tables exist (should return 55+ tables)
docker exec wfgen-sql pwsh -Command "Invoke-Sqlcmd -Query 'SELECT COUNT(*) AS TableCount FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = ''dbo''' -Database WFGEN -ServerInstance localhost"

# Check admin user
docker exec wfgen-sql pwsh -Command "Invoke-Sqlcmd -Query 'SELECT TOP 1 USERNAME FROM USERS WHERE ID_USER = 1' -Database WFGEN -ServerInstance localhost"

Database Backup & Restore

Backup
# Linux - Backup to container
docker exec wfgen-sql /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P '<SA_PASSWORD>' \
  -Q "BACKUP DATABASE [WFGEN] TO DISK = N'/var/opt/mssql/backup/WFGEN.bak' WITH NOFORMAT, NOINIT, NAME = 'WFGEN-full', SKIP, NOREWIND, NOUNLOAD, STATS = 10"

# Copy backup to host
docker cp wfgen-sql:/var/opt/mssql/backup/WFGEN.bak ./WFGEN_backup.bak
# Windows (v8, v9) - Backup to container
docker exec wfgen-sql powershell -Command "Invoke-Sqlcmd -Query \"BACKUP DATABASE [WFGEN] TO DISK = N'C:\wfgen\sql\WFGEN.bak'\" -ServerInstance localhost -Username sa -Password '<SA_PASSWORD>'"

# Copy backup to host
docker cp wfgen-sql:C:\wfgen\sql\WFGEN.bak .\WFGEN_backup.bak
Restore
# Linux - Copy backup to container
docker cp ./WFGEN_backup.bak wfgen-sql:/var/opt/mssql/backup/

# Restore database
docker exec wfgen-sql /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P '<SA_PASSWORD>' \
  -Q "RESTORE DATABASE [WFGEN] FROM DISK = N'/var/opt/mssql/backup/WFGEN_backup.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"

Image Tags

Tagging Convention
  • Linux: {version}-ubuntu-{ubuntu_version}
    • v10: ubuntu-24.04 (e.g., 10.3.0-ubuntu-24.04)
    • v9.3.1+: ubuntu-22.04 (e.g., 9.6.0-ubuntu-22.04)
    • v9.3.0 and earlier: ubuntu-18.04 (e.g., 9.2.11-ubuntu-18.04, 8.3.5-ubuntu-18.04)
  • Windows: {version}-express-win-ltsc2019 or {version}-express-win-ltsc2022 where available
    • v10: Uses Express Edition (e.g., 10.3.0-express-win-ltsc2019)
    • v8, v9: Uses Express Edition (e.g., 9.6.0-express-win-ltsc2019, 9.6.0-express-win-ltsc2022, 8.3.5-express-win-ltsc2019)
Available Tags

Latest Versions:

WorkflowGen SeriesLatest Tag (Linux)Latest Tag (Windows)Status
v1010.3.0-ubuntu-24.0410.3.0-express-win-ltsc2019✅ Production (Linux)
v9.69.6.0-ubuntu-22.049.6.0-express-win-ltsc2019 or 9.6.0-express-win-ltsc2022✅ Production (Linux)
v9.29.2.11-ubuntu-18.049.2.11-express-win-ltsc2019✅ Supported
v9.19.1.1-ubuntu-18.049.1.1-express-win-ltsc2019✅ Supported
v9.09.0.7-ubuntu-18.049.0.7-express-win-ltsc2019✅ Supported
v8.38.3.5-ubuntu-18.048.3.5-express-win-ltsc2019✅ Supported
v8.28.2.4-ubuntu-18.048.2.4-express-win-ltsc2019✅ Supported
v8.18.1.3-ubuntu-18.048.1.3-express-win-ltsc2019✅ Supported
v8.08.0.12-ubuntu-18.048.0.12-express-win-ltsc2019✅ Supported

⚠️ Note: WorkflowGen v7.x is deprecated and no longer supported. v7.x database images remain available on Docker Hub for legacy deployments, but we strongly recommend upgrading to v8.x or v9.x.

Default Tag:

  • latest → Currently points to 9.6.0-ubuntu-22.04

Recommendation: Always use specific version tags (e.g., 10.3.0-ubuntu-24.04, 9.6.0-ubuntu-22.04) for reproducibility.

Finding Your Version

To see all available tags, visit:


SQL Server 2025 Information (v10 only)

What's New in SQL Server 2025

WorkflowGen v10 uses SQL Server 2025 which includes:

  • Vector datatype support - Required for WorkflowGen v10 semantic search
  • Full-Text Search - Pre-installed and configured
  • Enhanced performance and security features
Editions Used
PlatformEditionLicensingNotes
LinuxDeveloper (default)FREE for dev/testConfigurable via MSSQL_PID env var
LinuxExpressFREE for productionSet MSSQL_PID=Express
LinuxEnterpriseRequires licenseSet MSSQL_PID=Enterprise
WindowsExpressFREEFixed in image, cannot be changed

Note:

  • Linux images are production-ready with SQL Server 2025. Use MSSQL_PID=Express (free) or MSSQL_PID=Enterprise (requires license) for production.
  • Windows images use Express Edition (50GB database size limit, 1 CPU, 1.4GB RAM) and are intended for development/testing only.
  • For production, you can also use PostgreSQL (advantys/workflowgen-postgres) which is production-ready for v10+.

Password Requirements

SQL Server enforces password complexity requirements:

  • At least 8 characters
  • Contains characters from three of the following categories:
    • Uppercase letters (A-Z)
    • Lowercase letters (a-z)
    • Numbers (0-9)
    • Special characters (!@#$%^&*()_+-=[]{}|;:,.<>?)

Example strong passwords:

  • yourStrong(!)Password
  • MyP@ssw0rd2024
  • Secure#Pass123

Troubleshooting

Container Exits Immediately

Check logs:

docker logs wfgen-sql

Common causes:

  • ACCEPT_EULA not set to Y
  • SA_PASSWORD doesn't meet complexity requirements
  • Insufficient memory (minimum 2GB required, 4GB+ recommended)
  • Port 1433 already in use on host
Cannot Connect to SQL Server

Verify container is running:

docker ps --filter name=wfgen-sql

Check if port is exposed:

docker port wfgen-sql

Test connection from inside container:

docker exec wfgen-sql pwsh -Command "Invoke-Sqlcmd -Query 'SELECT @@VERSION' -ServerInstance localhost"

Common issues:

  • Firewall blocking port 1433
  • Wrong password or username
  • SQL Server still initializing (wait 30-60 seconds)
  • TrustServerCertificate=True missing from connection string
Database Not Initialized

Wait for initialization message:

docker logs -f wfgen-sql

Look for: Workflowgen database is ready.

Initialization typically takes 30-90 seconds on first start depending on system performance.

Verify initialization completed:

# Should return approximately 55 tables
docker exec wfgen-sql pwsh -Command "Invoke-Sqlcmd -Query 'SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = ''dbo''' -Database WFGEN"
Performance Issues (Windows - v8, v9)

The Windows image uses SQL Server Express 2017 which has limitations:

  • Max 1410 MB memory
  • Single socket/4 cores max
  • 10 GB database size limit

Solution: Migrate to the Linux image for better performance and no limitations.


Support and Documentation


License

By using this image, you agree to the:

For SQL Server licensing information, visit Microsoft SQL Server Licensing.


Production Deployment Options for v10

  1. Use SQL Server 2025 (Linux) - 10.3.0-ubuntu-24.04 is production-ready with SQL Server 2025 GA
  2. Use PostgreSQL - advantys/workflowgen-postgres is production-ready for v10+
  3. Use managed database services - Azure SQL Database, Amazon RDS, etc.

Note: Windows SQL Server images use Express Edition and are intended for development and testing only.

Tag summary

Content type

Image

Digest

sha256:82a2bec5d

Size

718.1 MB

Last updated

about 1 month ago

docker pull advantys/workflowgen-sql