How to Migrate Bold BI Deployed in a Docker Container from One Linux VM to Another
This article provides a step-by-step guide for migrating a Bold BI application deployed in a Docker container from one Linux machine to another. Follow the steps below to ensure a smooth and successful migration.
Steps for Migration
Step 1: Back Up Docker Volumes
To migrate the Bold BI application, back up the Docker volume from the source machine by following these steps:
-
Identify the Volume
First, identify the name of the volume you want to back up. You can list all volumes with the following command:docker volume ls
-
Run a busybox Container to Access the Volume
Run a temporary container that will mount the volume you want to back up. You can use a simple busybox or Alpine Linux container for this purpose. The command below backs up the volume to the present directory:docker run --rm -v <volume-name>:/data -v $(pwd):/backup busybox sh -c "cp -r /data /backup"
- Replace
<volume-name>
with the name of your Docker volume. $(pwd)
mounts your current working directory on the host machine to the/backup
directory inside the container.
- Replace
-
Move the Volume to your Target Machine
-
Use SCP command or another appropriate command to transfer the backup volume directly to the target machine. In the command below, replace
user@destination_server:/path/to/destination/
with your target machine’s specific details to copy the file from the Linux machine to the target machine:scp -r /path/to/backup/volume/data_boldbi /path/to/backup/volume/data_db user@destination_server:/path/to/destination/
-
Verify that all files have been transferred accurately and that none are missing.
-
Step 2: Deploy Bold BI on Target Machine
Follow the Install Bold BI on Docker documentation to deploy Bold BI on Target Machine. Use the same docker-compose file that you used in source machine to deploy Bold BI.
Step 3: Restore Volume
Before starting the restoration process, ensure that the container is stopped. Then, proceed with restoring the volumes.
-
Create a temporary container to mount the volume. Navigate to the
/mnt/data/
directory and delete all files in that directory for bothboldbi_data
anddb_data
volumes. Execute the following commands to accomplish this:docker run --rm -it -v <volume-name>:/mnt/data busybox sh -c "rm -rf /mnt/data/*"
-
After deleting all files in the data directory, move the backed-up volume to the
boldbi_data
anddb_data
volumes. Run the following commands to transfer the backed-up volume:docker run --rm -v <volume-name>:/mnt/data -v /home/linux22:/mnt/home busybox sh -c "cp -r /mnt/home/<backed-up-folder-name>/* /mnt/data/"
-
Verify that all files have been successfully transferred from the source machine to the target machine, with none missing.
Note: If you are planning to use a different APP_URL or a different DB server in Target Machine, you can follow the instructions in the Bold BI Migration Document to reset the connection string and application URL.
Step 4: Verify the Migration
Start the Bold BI application on the target machine. Verify that all dashboards and data have been successfully migrated and are functioning as expected. You may encounter an issue with the URL redirecting to the source machine’s URL. Please update the URL on the http://domain/ums/administration
page by following the instructions in this document: Update Site URL for Individual & Bulk Tenant Sites in Bold BI.