Skip to content

sixcorners/wal-g

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

docker images for wal-g
https://github.com/wal-g/wal-g/releases/latest

Tags:
docker pull ghcr.io/sixcorners/wal-g:fdb
docker pull ghcr.io/sixcorners/wal-g:gp
docker pull ghcr.io/sixcorners/wal-g:mongo
docker pull ghcr.io/sixcorners/wal-g:mysql
docker pull ghcr.io/sixcorners/wal-g:pg
docker pull ghcr.io/sixcorners/wal-g:redis
docker pull ghcr.io/sixcorners/wal-g:sqlserver

Use it like this:

services:
  postgres:
    image: postgres:14-alpine
    restart: unless-stopped
    environment:
      POSTGRES_PASSWORD: ABvreLgKOyHV3VcZkCJ5
      POSTGRES_HOST_AUTH_METHOD: |
        scram-sha-256
        host replication all 172.0.0.0/8 scram-sha-256
    ports:
      - 127.0.0.1:5432:5432
    volumes:
      - data:/var/lib/postgresql
  wal-g:
    image: ghcr.io/sixcorners/wal-g:pg
    restart: unless-stopped
    environment:
      WALG_LOG_LEVEL: DEVEL
      WALG_COMPRESSION_METHOD: brotli

      WALG_S3_PREFIX: s3://qddAhsGKklGSBKfL7AB6/
      AWS_ENDPOINT: https://s3.us-west-000.backblazeb2.com
      AWS_ACCESS_KEY_ID: 00080vaZc1PFhmU0000000005
      AWS_SECRET_ACCESS_KEY: szoa6m7gxnEheoR8QfD4pamfrENs6As

      PGHOST: postgres
      PGUSER: postgres
      PGPASSWORD: ABvreLgKOyHV3VcZkCJ5

      WALG_PGP_KEY: |
        -----BEGIN PGP PUBLIC KEY BLOCK-----

        xjMEaR59hRYJKwYBBAHaRw8BAQdAsOK1sSiQgwei3oBLqiVLaqVSxF1BVEC+
        8vNlDhCCFCDNAMKMBBAWCgA+BYJpHn2FBAsJBwgJkE34d9UaxC4WAxUICgQW
        AAIBAhkBApsDAh4BFiEEAhUKUwx59qvBRLc9Tfh31RrELhYAAHEtAQCdvWxY
        ws/YadICrhhuP1p+Mb7m0+k+dsqYM3czbhs80QEA+suo02HyMqQcaD9uVuch
        Fy+mcfN3j8YnAEAUG2rRvQTOOARpHn2FEgorBgEEAZdVAQUBAQdABl7JIZkz
        ivYLQpNoOTFmVt//WsRdMLb4BEHD0zoYBjcDAQgHwngEGBYKACoFgmkefYUJ
        kE34d9UaxC4WApsMFiEEAhUKUwx59qvBRLc9Tfh31RrELhYAAKL9AP9AurSg
        zXflK4Cgea8AXBZ7DVLnm3GCTlrveCCPLal4YAD+LwSiPqXG/acsN173ojeM
        yYBr1qxh6UhnWYVjC42pxwA=
        =yROo
        -----END PGP PUBLIC KEY BLOCK-----
    command: ["wal-g", "wal-receive"]
volumes:
  data:

Use:

  • wal-receive to backup wal files continuously.
  • backup-push to perform a one time full backup.

n.b.
backup-push uploads metadata files and paths that are not client-side encrypted.
backup-push doesn't work on 15+ (wal-g/wal-g#2044).
b2 object store is unstable for some unknown reason (wal-g/wal-g#1741).
I think that most people install wal-g alongside their db and use archive_command instead of this.
idk how to use the other wal-g variants for non-postgres databases.
If you don't periodically test the restore procedure you don't have a backup.
wal-receive will create a replication slot if it can. If you then stop wal-g wal files will build up on disk indefinitely.
If you point two wal-g at the exact same prefix they will clobber each other's files.

Here is mitmproxy's curses UI listing PUT requests to b2 from two wal-g backups and later wal streaming.

If this helps you or you have any other feedback feel free to open a thread here.

About

docker images for wal-g

Resources

Stars

Watchers

Forks

Packages

No packages published