• Fisher documentation
  • Next page: Configuration comments
  • Previous page
  • Source code
  • Report an issue
  • Home page
  • Introduction
  • Why you should use Fisher
  • Installing Fisher
  • Tutorials
  • Automatic deploy from GitHub
  • Send emails when scripts fails
  • Features
  • Live reloading
  • Monitoring with status hooks
  • Monitoring with the health endpoint
  • Rate limits
  • Third-party providers
  • Documentation
  • The configuration file
  • Configuration comments
  • Scripts execution context
  • Supported providers
  • Standalone provider
  • GitHub provider
  • GitLab provider
  • Other information
  • Changelog

The configuration file

Fisher uses a configuration file to store its settings. The configuration file uses the TOML syntax (a serialization format similar to INI files), and has sensible defaults for every option (so you can omit the ones you don't want to change).

This page contains a description for each available setting. You can also find a commented configuration file distributed with all the official packages, and in the source code repository.


[http] section

The [http] section contains the configuration for the built-in HTTP server and API.

behind-proxies

The number of proxies Fisher sits behind. This is used to correctly parse the X-Forwarded-For HTTP header in order to retrieve the correct origin IP. If this value is zero, the header is ignored, otherwise it must be present with the correct number of entries to avoid requests being rejected.

Type: integer - Default: 0

bind

The network address Fisher will listen on. By default, only requests coming from the local machine are accepted (thus requiring a reverse proxy in front of the instance). If you want to expose Fisher directly on the Internet you should change the IP address to 0.0.0.0.

Type: string - Default: 127.0.0.1:8000

health-endpoint

If this is set to false, the /health HTTP endpoint (used to monitor the instance) is disabled. Disable this if you don't need monitoring and you don't want the data to be publicly accessible.

Type: boolean - Default: true

rate-limit

Rate limit for failed requests (allowed requests / time period). The rate limit only applies to webhooks that failed validation, so it doesn't impact legit requests (while keeping brute force attempts away). Check out the rate limits documentation.

Type: string - Default: 10/1m


[scripts] section

The [scripts] section configures how Fisher looks for scripts in the filesystem.

path

The directory containing all the scripts Fisher will use. Scripts needs to be executable in order to be called.

Type: string - Default: /srv/fisher-scripts

recursive

If this is set to true, scripts in subdirectories of scripts.path will also be loaded, including from symlinks (be sure to check permissions before changing this option).

Type: boolean - Default: false


[jobs] section

The [jobs] section configures how Fisher runs jobs (for example incoming hooks).

threads

Maximum number of parallel jobs you want to run.

Type: integer - Default: 1


[env] section

Extra environment variables provided to the scripts Fisher starts. Since the outside environment is filtered, this is the place to add every variable you want to have available. You can add environment variables by adding extra key-value pairs under this section, for example:

[env]
VAR_1 = "value"
VAR_2 = "1"
  • Created by Pietro Albini