Skip to Content

Upgrade 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.

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: