commands: stop-docker-container: cmd: docker Args: - compose - -f /some/path/to/docker-compose.yaml - down # if host is not defined, cmd will be run locally host: some-host backup-docker-container-script: cmd: /path/to/script # The host has to be defined in the config file host: some-host environment: - FOO=BAR - APP=$VAR shell-cmd: cmd: rsync shell: bash Args: - -av some-host:/path/to/data ~/Docker/Backups/docker-data hostname: cmd: hostname cmd-configs: cmds-to-run: # this can be any name you want # all commands have to be defined order: - stop-docker-container - backup-docker-container-script - shell-cmd - hostname notifications: - matrix name: backup-some-server cron: "0 0 1 * * *" hostname: name: hostname order: - hostname notifications: - prod-email hosts: # any ssh_config(5) keys/values not listed here will be looked up in the config file or the default config file some-host: hostname: some-hostname config: ~/.ssh/config user: user privatekeypath: /path/to/private/key port: 22 # can also be env:VAR password: file:/path/to/file # only one is supported for now proxyjump: some-proxy-host # optional logging: verbose: true file: /path/to/logs/commands.log console: false cmd-std-out: false notifications: prod-email: id: prod-email type: mail host: yourhost.tld port: 587 senderAddress: email@domain.tld to: - admin@domain.tld username: smtp-username@domain.tld password: your-password-here matrix: id: matrix type: matrix home-server: your-home-server.tld room-id: room-id access-token: your-access-token user-id: your-user-id