CloudBeaver Workspace Backup
Table of contents
Backup and restore data
CloudBeaver stores all data on disk in the /opt/cloudbeaver/workspace
directory, which is typically mounted to a
folder on the host machine (/var/cloudbeaver/workspace
or /var/cloudbeaver-ee/workspace
).
For additional information on these commands, see the official Docker CLI Documentation.
To back up this data, follow these Docker commands for common tasks:
Access a running container
List services:
docker-compose config --services
- This command lists all services defined in your
docker-compose.yml
file. - Find the name of the CloudBeaver service from the output.
Access the CloudBeaver container's shell:
docker-compose exec -it <service_name> /bin/bash
- Replace
<service_name>
with the exact name of your CloudBeaver service from the previous command. If your container uses a different shell (like
sh
instead ofbash
), adjust the command accordingly:docker-compose exec -it <service_name> sh
Backup the database
If CloudBeaver uses a PostgreSQL database, back up the database to a dump file before stopping the container.
For more details on an internal database, see Server Database.
To create a backup of all PostgreSQL databases:
docker-compose exec <service_name> pg_dump -C -d cloudbeaver -U postgres > postgres_backup.sql
Copy workspace files from the container
First, create a backup of the workspace inside the running container:
docker-compose exec cloudbeaver tar -czvf /var/backups/backup.tgz -C /opt/cloudbeaver/workspace .
- This command compresses the
workspace
directory intobackup.tgz
.
To copy the backup file (backup.tgz
) from the container to your local machine:
docker cp $(docker-compose ps -q <service_name>):/opt/cloudbeaver/backup.tgz /path/to/backup/location/
Replace
/path/to/backup/location/
with the desired local destination.
Restore the database
Important: Ensure you have a PostgreSQL cluster running. If PostgreSQL isn't running, start it with:
docker-compose up -d postgres
If this is a new installation, clone the deployment repository and navigate to the directory:
git clone https://github.com/dbeaver/cloudbeaver-deploy.git cd cloudbeaver-deploy
To restore the PostgreSQL database:
Copy the database dump file back to the PostgreSQL container:
docker cp ./postgres_backup.sql $(docker-compose ps -q postgres):/postgres_backup.sql
Restore the database inside the PostgreSQL container:
docker-compose exec postgres psql -U postgres -f /postgres_backup.sql
Optionally, delete the dump file from the PostgreSQL container to free up space:
docker-compose exec postgres rm /postgres_backup.sql
Restore the workspace
To restore the workspace data:
Copy the workspace backup file back to the container:
docker cp /path/to/backup/location/backup.tgz $(docker-compose ps -q <service_name>)":/opt/cloudbeaver/backup.tgz"
- Replace
/path/to/backup/location/
with the desired local destination.
- Replace
Extract the backup in the container:
docker-compose exec <service_name> tar -xvf /var/backups/backup.tgz -C /opt/cloudbeaver/workspace/