English | 简体中文
This project provides Docker images to periodically back up a PostgreSQL database to Alibaba Cloud Object Storage Service (OSS).
- Minimal image size (15MB)
- Low memory usage (less than 1MB in idle state)
- Support custom scheduling interval time (with cron format)
Create a docker-compose.yml
file with the following content:
services:
postgres:
image: postgres:16
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: password
POSTGRES_DB: dbname
backup:
image: isaced/postgres-backup-oss:latest
depends_on:
- postgres
environment:
SCHEDULE: '0 0 * * *' # optional, default '0 0 * * *' (daily)
POSTGRES_HOST: postgres
POSTGRES_PORT: 5432 # optional, default 5432
POSTGRES_DATABASE: dbname
POSTGRES_USER: user
POSTGRES_PASSWORD: password
OSS_BUCKET_NAME: ${OSS_BUCKET_NAME}
OSS_REGION: ${OSS_REGION}
OSS_ACCESS_KEY_ID: ${OSS_ACCESS_KEY_ID}
OSS_ACCESS_KEY_SECRET: ${OSS_ACCESS_KEY_SECRET}
Then run docker-compose up -d
to start the backup service.
You need to create an OSS bucket and an AccessKey pair in the Alibaba Cloud console. Then fill in the environment variables in the docker-compose.yml
file.
About more OSS configuration, please refer to:Configure ossutil - Environment variables, just add to environment to take effect.