Skip to main content

Database Backups

Jetveo automatically backs up your application database based on a configurable schedule. Backups can be stored on the local file system or uploaded to any S3-compatible storage (AWS S3, MinIO, DigitalOcean Spaces, Backblaze B2, etc.).

To configure backups, open the App Overview, click Settings, and navigate to the DB Backup tab.

Backup Registrations

Each backup registration defines where and when a backup is created. You can have multiple registrations — for example, one that backs up to the local file system on every migration and another that backs up to S3 daily.

Each registration in the list is shown with a colored icon indicating the provider type: a blue folder icon for local (File System) backups and a green cloud icon for S3 (remote) backups.

Click Create new to add a registration. In the dialog, configure the provider and schedule.

Provider

Provider – Select the backup storage target:

  • FileSystem – Backs up to a directory on the server where the application is running.
  • S3 – Uploads the backup to an S3-compatible bucket.

For Jetveo Cloud instances, local (File System) backups are automatically managed by Jetveo and displayed as read-only defaults. Cloud users can additionally configure S3 backup registrations to store backups in their own remote storage.

File System Provider

File system path for backups – The absolute or relative path to a directory where backup files will be stored. The directory must be writable by the application process.

S3 Provider

When the provider is set to S3, the following fields are shown:

S3 Endpoint URL – The endpoint URL of the S3-compatible service. For AWS S3 you can leave this empty or use a regional endpoint. For other providers, enter the full URL (e.g. http://minio.example.com:9000, https://fra1.digitaloceanspaces.com).

Bucket Name – The name of the S3 bucket where backups will be stored. The bucket must already exist.

Access Key – The access key ID used for authentication.

Secret Key – The secret access key used for authentication. This field is write-only — after saving, only the first few characters are shown (e.g. mini****). The full key is stored securely and is never sent back to the browser.

Region – The AWS region (e.g. us-east-1, eu-central-1). Optional for non-AWS services.

Force Path Style – Enable this for S3-compatible services that use path-style URLs (e.g. MinIO). AWS S3 and most cloud providers use virtual-hosted-style URLs and do not need this option.

S3 Provider Compatibility

ProviderEndpointRegionForce Path Style
AWS S3(leave empty)e.g. us-east-1No
MinIOhttp://minio-host:9000(optional)Yes
DigitalOcean Spaceshttps://{region}.digitaloceanspaces.com(optional)No
Backblaze B2https://s3.{region}.backblazeb2.come.g. us-west-004No

The S3 user must have the following permissions on the target bucket: s3:PutObject, s3:DeleteObject.

Schedule

Type – Determines when the backup runs:

  • Migration – A backup is created automatically before every database migration (i.e. when a new application release is deployed). We strongly recommend always having at least one registration with this schedule type.
  • Daily – A backup is created every day at the selected time(s).
  • Weekly – A backup is created on selected days of the week at the selected time(s).
  • Monthly – A backup is created on selected days of the month at the selected time(s).

Time – One or more times of day (in 24-hour format) when the backup runs. Applies to Daily, Weekly, and Monthly schedules.

Retention

Below the registration list, two settings control how many backups are kept:

Maximum retained local backups – The number of most recent local (file system) backups to keep. Older backups are automatically deleted. The maximum value is 15. This setting is not shown for Jetveo Cloud instances, where local backup retention is managed automatically.

Maximum retained remote backups – The number of most recent remote (S3) backups to keep. Older backups are automatically deleted from the S3 bucket. The maximum value is not limited.

Local and remote retention limits are independent — configuring one does not affect the other.

warning

Setting the retention count to 0 disables cleanup but also means no backups are retained by the automated system. We strongly recommend keeping this value at 1 or higher.

How It Works

When a backup is triggered (by schedule or migration), the application:

  1. Creates a snapshot of the application database.
  2. For FileSystem backups — stores the snapshot file in the configured directory.
  3. For S3 backups — uploads the snapshot to the configured S3 bucket and removes the temporary local file.
  4. Records the backup in an internal registry.
  5. Removes old backups that exceed the retention limit.

Backup file names follow the pattern db_v{version}.db, where {version} reflects the current database schema version.

Secret Key Handling

The S3 Secret Key is treated as a sensitive credential:

  • When you save a new S3 registration, the secret key is stored in the platform database.
  • When the configuration is loaded in the browser, the secret key is masked (e.g. mini****).
  • If you re-save the configuration without changing the masked secret key, the original value is preserved — you do not need to re-enter it.
  • To update the secret key, clear the field and enter the new value.