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.