Articles in this section
Category / Section

How to extract and restore necessary files in Docker

Published:
Updated:

Introduction

This article provides a guide on how to identify and remove unnecessary files, how to reinstall the deleted files, and details about the backup and restore processes in Docker.

Prerequisites:

Ensure you have the necessary permissions to access the Bold Reports deployment location and associated databases. This includes read, write, and delete access for both the file system and database operations within the Docker environment.

Procedure for Docker:

1. Data Backup

  • Bash into the container using the command below on Server 1.

    docker exec -it <container name> bash
    

    Note: Replace <container_name> with the actual name of your container.

  • Before copying the data, you can delete unnecessary files to save space. These files can be reinstalled later.

  • The files below are unnecessary :

    1. Optional Client Libraries

      • These libraries are required for specific functionalities within the Bold Reports server. Bold Reports supports Oracle, PostgreSQL, and MySQL databases, enabling connections to their respective SQL database variants.
      • Navigate to the App_Data folder as shown in the following screenshot and enter the below command to remove the optional libraries:
          rm -r optional-libs/
        
        docker-opt-lib.png
    2. Puppeteer:

      • In Bold Reports, Puppeteer is used for tasks such as exporting data visualization items. Chromium packages are necessary to achieve image and PDF export functionalities in reports, schedules from Bold Reports. Without these packages, the image and PDF export options in reports and schedules will no longer be available.
      • You can find the files at the following location: application/app_data/reporting/exporthelpers.
      • You can remove the puppeteer by the command below:
         rm -r puppeteer/
        
        delete-puppeteer.png
  • Navigate to the docker-compose.yml file .

  • In the volumes section, the path for storing data have already been set. You can copy the folder from this specified path.

    volume-path.png

Note: In case you have not set the path in the Volume section, the files and folders will be placed in the default Docker volume path at this location: /var/lib/docker/volumes/

2. Backup Database
You need to take a backup of all the databases used in Bold Reports applications. Please follow the steps below to backup the databases:

  • Use pgAdmin to connect to the PostgreSql Server on Server1.

  • Expand Databases and select the database(s) used by your Bold Reports applications.

  • Right-click on the database and select Backup.

    backup-pg.png

  • In the Back Up Database window, select the browse option for the file name.

    backup-filename-pg.png

  • Select the folder and enter a file name that matches the database name with a .sql extension, then proceed by clicking Create.

    backup-file-cretae-pg.png

  • Click Backup to complete the backup process.

3. Restore

  • You can move the copied folders and files to the path mentioned in the Volume section on Server2. If no path is specified, move them to Docker’s default volume path (/var/lib/docker/volumes/)

  • You can reinstall the removed files by restarting the container. Use the following command to restart the container with the specified container ID:
    docker restart <id_web_container id>

    docker restart 17200a26581f
    

    restart-docler.png

    docker-restart2.png

4. Restore PostgreSQL Database Using pgAdmin

  • Open pgAdmin and connect to the database on Server-2.
  • Select Databases, then right-click and choose Restore Database.
    restore-pg.png
  • In the Restore Database window, select the browse option in the file name field.
    browse-file-name.png

    restore-select-pg.png
  • Select the backup file you want to restore, then click “Select.”
    restore-file-pg.png
  • Click Restore to initiate the restoration process.

Update database connection string in Bold Reports

Was this article useful?
Like
Dislike
Help us improve this page
Please provide feedback or comments
Comments (0)
Please  to leave a comment
Access denied
Access denied