--- title: "Backing Up and Restoring Docker Volumes" slug: "backing-up-volumes" updated: 2025-01-26T19:40:13Z published: 2025-01-26T19:40:13Z canonical: "docs.ai-op.com/backing-up-volumes" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.ai-op.com/llms.txt > Use this file to discover all available pages before exploring further. # Backing Up and Restoring Docker Volumes This guide explains how to back up and restore Docker volumes on Linux. This guide assumes you are using the [Koios service script detailed here](/v1/docs/setting-up-the-koios-service). > [!NOTE] > Linux > > This guide will only work on a Linux host. If you are running Koios on Windows or MacOS, make sure to backup these folders using your OS specific file locations and commands, or use Docker’s guide: [https://docs.docker.com/engine/storage/volumes/#back-up-restore-or-migrate-data-volumes](https://docs.docker.com/engine/storage/volumes/#back-up-restore-or-migrate-data-volumes). #### Volumes to Back Up The Koios container uses the following volumes: 1. **koios_data_postgres**: `/var/lib/postgresql/16/main` 2. **koios_data_influxdb**: `/root/.influxdbv2` 3. **koios_media**: `/var/www/koios/media` 4. **koios_logs**: `/var/www/koios/logs` 5. **koios_certs**: `/var/www/koios/certs` 6. **koios_license**: `/var/www/koios/license` #### Prerequisites - Ensure you have `docker` installed and running. - Have sufficient disk space for the backup files. - Use a directory on the host system (e.g., `/backups`) to store the backups. #### Backing Up Volumes To back up the volumes, we'll create a tarball for each volume's contents. 1. **Create a Backup Directory** ```shell mkdir -p /backups/docker_volumes ``` 2. **Back Up Each Volume** Use the following command to back up each volume to a tarball: ```shell sudo tar -czf /backups/docker_volumes/koios_data_postgres.tar.gz -C /var/lib/docker/volumes/koios_data_postgres/_data . sudo tar -czf /backups/docker_volumes/koios_data_influxdb.tar.gz -C /var/lib/docker/volumes/koios_data_influxdb/_data . sudo tar -czf /backups/docker_volumes/koios_media.tar.gz -C /var/lib/docker/volumes/koios_media/_data . sudo tar -czf /backups/docker_volumes/koios_logs.tar.gz -C /var/lib/docker/volumes/koios_logs/_data . sudo tar -czf /backups/docker_volumes/koios_certs.tar.gz -C /var/lib/docker/volumes/koios_certs/_data . sudo tar -czf /backups/docker_volumes/koios_license.tar.gz -C /var/lib/docker/volumes/koios_license/_data . ``` 3. **Verify Backups** List the backup files to ensure they were created successfully: ```shell ls -lh /backups/docker_volumes ``` #### Restoring Volumes To restore the volumes, we'll extract the tarball contents back into the corresponding Docker volumes. 1. **Restore Each Volume** Use the following command to restore each volume: ```shell sudo tar -xzf /backups/docker_volumes/koios_data_postgres.tar.gz -C /var/lib/docker/volumes/koios_data_postgres/_data sudo tar -xzf /backups/docker_volumes/koios_data_influxdb.tar.gz -C /var/lib/docker/volumes/koios_data_influxdb/_data sudo tar -xzf /backups/docker_volumes/koios_media.tar.gz -C /var/lib/docker/volumes/koios_media/_data sudo tar -xzf /backups/docker_volumes/koios_logs.tar.gz -C /var/lib/docker/volumes/koios_logs/_data sudo tar -xzf /backups/docker_volumes/koios_certs.tar.gz -C /var/lib/docker/volumes/koios_certs/_data sudo tar -xzf /backups/docker_volumes/koios_license.tar.gz -C /var/lib/docker/volumes/koios_license/_data ``` 2. **Verify Restored Data** You can verify the data restoration by starting the container and checking to see if your data looks correct: ```shell sudo service docker.koios start ``` #### Tips - **Automate Backups**: Create a script to automate the backup process for all volumes. - **Backup Location**: Store backups in a safe location, such as an external drive or cloud storage. - **Schedule Backups**: Use `cron` or another task scheduler to back up volumes periodically. - **Test Restorations**: Regularly test restoring volumes to ensure backups are functional. *By following this guide, you can reliably back up and restore your Docker volumes to maintain application data integrity.*