Skip to Content

Upgrade to Jitterbit App Builder 4.x from Vinyl 3.3 on Docker

Introduction

This page shows how you can upgrade a Docker Vinyl 3.3 instance to a Docker App Builder 4.x instance.

Tip

For guidance on planning an upgrade across development, QA, and production environments, including maintenance windows and rollback strategy, see Production upgrade strategies.

Prerequisites

You must have the following:

The following must all be true:

  • Your Vinyl instance uses Docker compose.

  • You have copies or access to the data, keys, and logs directories from the Docker compose directory where Vinyl runs from.

Upgrade a Vinyl 3.3 Docker instance to an App Builder 4.x Docker instance

  1. In the Vinyl Docker compose directory, run this command to stop the instance:

    docker compose down
    

    Important

    Do not remove any Docker volumes.

  2. Edit the docker-compose.yml file and change the values of the following keys:

    Key Old value New Value
    services.vinyl.ports 8080:80 8080:8080
    services.vinyl.image jitterbit/vinyl:3.3 jitterbit/app-builder:<TAG>
    service.vinyl.environment.License__LicenseKey (If used) Your base64-encoded Vinyl 3.3 license Your base-64-encoded App Builder 4.x license

    Important

    You cannot upload an App Builder 4.x license file in the UI, so you must either provide the license via the License__LicenseKey key in the docker-compose.yml file, or via an appsettings.json file located in the data subdirectory.

  3. To start the instance, run this command:

    docker compose up
    
  4. Wait for the upgrade to complete. (It takes longer than a normal start-up.)

Example docker-compose.yml file

The changed lines are highlighted in the example below:

docker-compose.yml
services:
  db:
    image: postgres
    hostname: vinyldb
    environment:
      POSTGRES_PASSWORD: postgres
    volumes:
      - db_data:/var/lib/postgresql/data

  vinyl:
    depends_on:
      - db
    image: jitterbit/app-builder:4.45
    ports:
      - "8080:8080"
    volumes:
      - ./vinyl_data:/app/data
      - ./vinyl_logs:/app/logs
      - ./vinyl_keys:/app/keys
    environment:
      ConnectionInfo__DatabaseType: PostgreSql
      ConnectionInfo__HostName: vinyldb
      ConnectionInfo__UserName: postgres
      ConnectionInfo__Password: postgres
      License__LicenseKey: eyJpZCI6IjY2NjVmMWE3LTNjNWMtNGRkMS1hYzllLWE3NDgzYjgzNGRmNSIsInZlciI6MiwiaWF0IjoiMjAyNC0wOS…TheRestOfTheBase64EncodedAppBuilderLicenseKey

volumes:
  db_data:
  vinyl_data:
  vinyl_logs:
  vinyl_keys:

Troubleshooting

For related troubleshooting, see the following in the App Builder troubleshooting guide: