Skip to main content

Miscellaneous

There are additional options to set.

config
cron: "0 22 * * *"

log:
timeformat: "2006-01-02 15:04:05"
file-logging:
dir: log
file: gickup.log
maxage: 7

metrics:
prometheus:
endpoint: /metrics
listen_addr: ":6178"
heartbeat:
urls:
- http(s)://url-to-make-request-to
- http(s)://another-url-to-make-request-to
failure_urls:
- https://hc-ping.com/your-check-id/fail
push:
ntfy:
- url: http(s)://url-to-ntfy/your-topic
token: your-token
user: your-user
password: your-password
email: your-email@example.com
gotify:
- url: http(s)://url-to-gotify
token: your-token
apprise:
- url: http(s)://url-to-apprise
config: your-config-id
notification_urls:
- urls-to-notify(https://github.com/caronc/apprise/wiki)
tags:
- your-tag
  • cron: a five-field cron expression. Without it, Gickup runs once and exits. With a valid schedule, it waits until the scheduled time for its first backup. The example runs daily at 22:00 in the process timezone.
tip

If gickup runs in Docker, you might want to set the timezone for your container.

  • log: this is everything related to logging.
    • timeformat: set it to a different time format for logging. The basics for time formats can be found at https://yourbasic.org/golang/format-parse-string-time-date-example/. This can also be set as an environment variable with GICKUP_TIME_FORMAT.
    • file-logging: logs can also be stored in a file.
      • dir: where to store your log.
      • file: in which file to store your log.
      • maxage: automatically cleanup files older than X days.
  • metrics: everything related to metrics.
    • prometheus: enable Prometheus metrics in scheduled mode. Configure the listener in the first configuration.
      • endpoint: by default it is /metrics, but set it to whatever you prefer.
      • listen_addr: by default it listens on :6178.
    • heartbeat: send GET requests to monitoring services like https://healthchecks.io/ or https://deadmanssnitch.com/.
      • urls: URLs to request after a successful run.
      • failure_urls: URLs to request instead when the run recorded errors. If omitted, failed runs send no heartbeat.
    • push: configure notifications on your phone/browser. Notifications use the title Backup done on success or Backup failed when the run recorded errors, with a reminder to check the logs.
      • ntfy: ntfy. a list with the following parameters
        • url: url to your ntfy
        • token: token of ntfy, can be an environment variable. Takes precedence over user and password.
        • user: your ntfy user
        • password: your ntfy password
        • email: optional email address passed as the Email header for ntfy mail delivery
      • gotify: gotify. a list with the following parameters
        • url: url to your gotify
        • token: token of gotify, can be an environment variable
      • apprise: apprise
        • url: url to your apprise
        • config: the id of your configuration in apprise
        • tags: tags that you defined in your configuration in apprise.
        • notification_urls: if you don't use configuration, you can add urls to notify directly here. notification services