Backup to SSH remote server

As described for s3 backup section, to change the storage of your backup and use SSH Remote server as storage. You need to add --storage ssh or --storage remote. You need to add the full remote path by adding --path /home/jkaninda/backups flag or using REMOTE_PATH environment variable.

These environment variables are required for SSH backup SSH_HOST, SSH_USER, REMOTE_PATH, SSH_IDENTIFY_FILE, SSH_PORT or SSH_PASSWORD if you dont use a private key to access to your server. Accessing the remote server using password is not recommended, use private key instead.

services:
  pg-bkup:
    # In production, it is advised to lock your image tag to a proper
    # release version instead of using `latest`.
    # Check https://github.com/jkaninda/pg-bkup/releases
    # for a list of available releases.
    image: jkaninda/pg-bkup
    container_name: pg-bkup
    command: backup --storage remote -d database
    volumes:
      - ./id_ed25519:/tmp/id_ed25519"
    environment:
      - DB_PORT=5432
      - DB_HOST=postgres
      - DB_NAME=database
      - DB_USERNAME=username
      - DB_PASSWORD=password
      ## SSH config
      - SSH_HOST="hostname"
      - SSH_PORT=22
      - SSH_USER=user
      - REMOTE_PATH=/home/jkaninda/backups
      - SSH_IDENTIFY_FILE=/tmp/id_ed25519
      ## We advise you to use a private jey instead of password
      #- SSH_PASSWORD=password

    # pg-bkup container must be connected to the same network with your database
    networks:
      - web
networks:
  web:

Recurring backups to SSH remote server

As explained above, you need just to add required environment variables and specify the storage type --storage ssh. You can use --cron-expression "* * * * *" or BACKUP_CRON_EXPRESSION=0 1 * * * as described below.

services:
  pg-bkup:
    # In production, it is advised to lock your image tag to a proper
    # release version instead of using `latest`.
    # Check https://github.com/jkaninda/pg-bkup/releases
    # for a list of available releases.
    image: jkaninda/pg-bkup
    container_name: pg-bkup
    command: backup -d database --storage ssh --cron-expression "0 1 * * *"
    volumes:
      - ./id_ed25519:/tmp/id_ed25519"
    environment:
      - DB_PORT=5432
      - DB_HOST=postgres
      - DB_NAME=database
      - DB_USERNAME=username
      - DB_PASSWORD=password
      ## SSH config
      - SSH_HOST="hostname"
      - SSH_PORT=22
      - SSH_USER=user
      - REMOTE_PATH=/home/jkaninda/backups
      - SSH_IDENTIFY_FILE=/tmp/id_ed25519
      #Delete old backup created more than specified days ago
      #- BACKUP_RETENTION_DAYS=7
      ## We advise you to use a private jey instead of password
      #- SSH_PASSWORD=password
     # pg-bkup container must be connected to the same network with your database
    networks:
      - web
networks:
  web: