pasteBackup

CheckCle Data Backup & Persistence Guide

1. Data Persistence Setup

CheckCle uses PocketBase as its embedded database. By default, PocketBase stores all application data in the pb_data folder inside the container. To prevent data loss when restarting or recreating the container, you should persist this directory on the host machine.

Example: Host Volume Mount

In your container configuration:

  • Host Path: /mnt/db/pb_data

  • Container Path: /mnt/pb_data

  • Mode: RW (Read/Write)

This ensures all PocketBase data (SQLite database, uploaded files, migrations, logs) is stored on the host at:

/mnt/db/pb_data

With this setup, even if the container is removed or recreated, the CheckCle data will persist.

2. Backup Strategy for pb_data

Since pb_data contains the SQLite database and file storage, backing it up regularly is critical. Here are recommended strategies:

A. Simple File Copy Backup

Use rsync or cp to copy the pb_data folder to a backup location:

B. Compressed Archive Backup

Create a compressed .tar.gz archive for portability:

C. Automated Cron Job

Automate daily backups with cron:

This runs at 2 AM daily.

D. Remote Backup (Optional)

Push backups to a remote server or cloud (S3, MinIO, rsync to another server):


3. Restore Strategy

To restore a backup:

  1. Stop the CheckCle (PocketBase) container:

  2. Replace the pb_data directory with your backup:

  3. Restart the container:

4. Best Practices

  • Always back up before upgrades of CheckCle or PocketBase.

  • Test restore procedures regularly to ensure backups are valid.

  • Use off-site storage (S3, Minio, or another server) for disaster recovery.

  • Monitor disk space on the host to prevent backup failures.

Last updated