Guide · Backup storage

Send your backups to S3.

You create a bucket and a key limited to that bucket, then point your database’s backups in Kule to that bucket. Dokploy on your server takes and sends the backups every night; your Mac doesn’t need to be on.

4 minLast updated: October 14, 2026

Before you start

  • An AWS account with permission to create users and policies in IAM
  • A database on a server added to Kule with Dokploy installed
  • You need to create the bucket in Europe (Frankfurt), that is the eu-central-1 region. Kule uses this region for S3 for now.

1Create the bucket

Open S3 in the AWS console, choose Europe (Frankfurt) eu-central-1 as the region in the top bar and click Create bucket. A bucket’s region can’t be changed later.

Give it a name, for example merttopuz-yedek. The name must be between 3 and 63 characters and may contain only lowercase letters, numbers, dots and hyphens. It must be unique across all AWS accounts. All of the Block Public Access settings are on by default; leave them that way.

2Access to this bucket only

Don’t use your account’s main keys for backups. Create a new policy in IAM and paste the following into the JSON editor. This policy only allows listing this bucket and writing, reading and deleting files in it; delete is needed to clean up old backups.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:ListBucket"],
      "Resource": ["arn:aws:s3:::merttopuz-yedek"]
    },
    {
      "Effect": "Allow",
      "Action": ["s3:GetObject", "s3:PutObject", "s3:DeleteObject"],
      "Resource": ["arn:aws:s3:::merttopuz-yedek/*"]
    }
  ]
}

Replace the bucket name with your own bucket’s. Then create a separate IAM user for backups; it doesn’t need console access. Attach the policy to this user or to a group the user belongs to.

3Create an access key

Create a new access key from the user’s Security credentials tab. You get two values: the Access key ID and the Secret access key.

The secret access key is shown only at the moment it is created. If you lose it, you need to delete the key and create a new one.

4Turn on backups in Kule

In Veritabanları (Databases), click Yedeklemeyi aç (Turn on backups) on the card of the database you want to back up. In the destination picker, choose + S3 uyumlu depo (+ S3-compatible storage).

  1. Choose AWS S3 as the provider.
  2. Type the bucket’s name in the Bucket field: merttopuz-yedek.
  3. Paste the two values you got from IAM into the Access key and Secret fields and save.
  4. When you return to the backup window, this bucket is selected as the destination. Confirm.

After adding the storage, turn on the backup in the same window. The storage is registered in Dokploy together with the first backup that uses it.

5From then on

Kule adds the bucket to Dokploy as a backup destination and sets up a nightly schedule for the database. Every night at 03:00 (server time), Dokploy takes the backup and puts it in a folder in the bucket named after the database’s name in Dokploy; the 14 newest backups are kept. Your Mac doesn’t need to be on.

The access key and secret go directly to Dokploy on your server and are stored there. Kule doesn’t keep them on its side.

Restoring is manual for now: the backup file stays in the bucket, and Kule doesn’t restore automatically. If you also want to keep backups on this Mac, you can turn on backups to this Mac for the same database too; with PostgreSQL, each backup is tested by restoring it to a temporary copy. With that option, your Mac needs to be on at backup time.

Next steps

We'll let you know when Kule is out.

People on the list get the first version before anyone else.