This is the official CubeBackup for Google Workspace docker image.
CubeBackup for Google Workspace is a self-hosted backup solution which allows you to backup Google Drive, Shared Drive, Gmail, Contacts, and Calendar data for your whole organization locally or to the cloud. You can visit the CubeBackup website for further details.
Dockerfile: https://github.com/CubeBackup/docker/blob/master/workspace-debian/release/Dockerfile
For basic testing purposes, you can create a new CubeBackup instance with the following command:
docker run -d -p 80:80 --name cubebackup cubebackup/workspace
After starting, browse http://<HOST_SERVER_IP>, from which you can go through the initial configuration to set up CubeBackup for your Google Workspace domain.
Since CubeBackup deals with backups of important files, we strongly recommend that you control the data persistency of your docker instance.
There are 2 volumes declared in the Dockerfile:
Tip: If you are backing up to cloud storage like Amazon S3, this volume should be ignored.
Please note: You must bind mount into this volume using direct local storage (not mounted network storage!), otherwise, there will be serious performance issues. A fast local SSD is recommended as the best option.
In addition to the backup data, you may also want to keep the configurations and logs of CubeBackup persistent on the host machine, which can give you more flexibility when upgrading, stopping, or recreating docker containers. Three directories in the docker container should be exposed:
/opt/cubebackup/etc directory is the location to store the main configuration file (config.toml) for CubeBackup. We recommend using a named volume, like cube_cfg, so that the CubeBackup configuration file will persist when starting a new docker container.
/opt/cubebackup/db directory is the location to store the other application settings, key files, and an SQLite database for sessions. Again, we recommend using a named volume, like cube_db, so that these settings and files will persist when starting a new docker container.
/opt/cubebackup/log directory stores log files for CubeBackup. We recommend using a named volume, like cube_log, so that the log files persist when starting a new docker container.
Here is an example to start a docker container with data persistency:
sudo docker run -d -p 80:80 -p 443:443 \
-v /var/cubebackup_index:/cubebackup_index \
-v /var/cubebackup_data:/cubebackup_data \
--mount source=cube_cfg,target=/opt/cubebackup/etc \
--mount source=cube_db,target=/opt/cubebackup/db \
--mount source=cube_log,target=/opt/cubebackup/log \
--name cubebackup \
cubebackup/workspace
Tips:
Here is an example for the docker-compose.yml file:
version: "3.8"
services:
cubebackup:
image: cubebackup/workspace
restart: always
ports:
- "80:80"
- "443:443"
volumes:
- /var/cubebackup_index:/cubebackup_index
- /var/cubebackup_data:/cubebackup_data
- cube_cfg:/opt/cubebackup/etc
- cube_db:/opt/cubebackup/db
- cube_log:/opt/cubebackup/log
volumes:
cube_cfg:
cube_db:
cube_log:
Tips:
Content type
Image
Digest
sha256:200ea532c…
Size
87.7 MB
Last updated
7 months ago
docker pull cubebackup/workspace