Skip to content

Docker PostgreSQL image with automatic backups.

License

Notifications You must be signed in to change notification settings

bfren/docker-postgresql

Repository files navigation

Docker PostgreSQL

GitHub release (latest by date) Docker Pulls Docker Image Size GitHub Workflow Status

Docker Repository - bfren ecosystem

PostgreSQL comes pre-installed (12, 13, 14, 15 or 16) with automatic backups built-in.

Contents

Automatic Backups

Backups for every database are stored:

  • in the /backup volume
  • in subfolders by date and time (yyMMddhhmm)
  • every eight hours

See For Backups for configuration variables.

Ports

  • 5432

Volumes

Volume Purpose
/backup Backup files (also used for export / import scripts - see helper functions).
/data Data files.

Environment Variables

For Backups

Variable Values Description Default
BF_PG_BACKUP_COMPRESS_FILES 0 or 1 Whether or not to compress backup files (using bzip). 0
BF_PG_BACKUP_KEEP_FOR Nu duration The length of time to keep backups. 28day

For Database

Variable Values Description Default
BF_PG_APPLICATION string Application name - will be used as BF_PG_DATABASE, BF_PG_PASSWORD and BF_PG_USERNAME if they are not set. None
BF_PG_DATABASE string Database name(s) - multiple databases can be separated by a comma. None
BF_PG_PASSWORD string Application password - required if BF_PG_APPLICATION is not None
BF_PG_USERNAME string Application username - required if BF_PG_APPLICATION is not used. None

Helper Functions

Function Arguments Purpose Usage
pg-dump None Run backup manually. docker exec <<CONTAINER>> pg-dump
pg-export 1: Database name Dumps the specified database as a SQL file to the root of the /backup volume. docker exec <<CONTAINER>> pg-export <<DB_NAME>>
pg-import 1: Database name Executes all files in the root of the /backup volume. docker exec <<CONTAINER>> pg-import <<DB_NAME>>
pg-restore 1: Backup set Deletes all files in /data volume, then restores from the specified backup dump. docker exec <<CONTAINER>> pg-restore 202107180500

Licence

MIT

Copyright

Copyright (c) 2021-2024 bfren (unless otherwise stated)