masto-backfill/template.config.yml

55 lines
3.4 KiB
YAML

global:
logLevel: info # pino log level
logFileLevel: debug # pino log level for the log files
contact: "https://your.instance.tld/you" # optional (but recommended), contact URL to be added to user-agent
# inputMaxRPS: 1 # optional, I HIGHLY recommend not increasing this, defaults to 1rps
fetchRetries: 3 # optional, defaults to 3, the amount of times the program will retry if one or more outputs have failed fetches
closeRetries: 3 # optional, defaults to 3, the amount of times the program will retry if closing one or more outputs fails
dbPath: ./posts.db # path to persistent sqlite3 database, defaults to ./posts.db, you can use `:memory:` if you don't want persistence
input:
retries: 3 # optional, defaults to 3, the amount of times the program will retry a fetch on an input, applies per request
skip: false # skip already fetched posts while fetching data from input instances? (explanation in readme)
skipInstances: # list of output instances to skip if the above is enabled - use database identifiers (output name, unless specified otherwise)
- your.instance.tld
outputs:
- type: masto # mastodon (or MastoAPI compatible) instance
enabled: true # optional, works for any output, output will be skipped if false, true if omitted; alternative to commenting out entries
name: your.instance.tld # required, instance domain (without scheme)
options:
token: "yourTokenHere" # auth token, check readme for instructions on obtaining one
maxRPS: 3 # optional, change depending on how much your instance can handle, defaults to 3rps
posts: true # optional, defaults to true, whether to fetch posts, setting to false can be useful if you're also using fakerelay (which only supports fetching posts)
users: true # optional, defaults to true, whether to fetch users
- type: log # dummy log output, useful for debugging
enabled: false
name: logOutput # any name, will be used to identify the output in logs
options:
logLevel: debug # log level override, works on any output, but especially useful on this one
- type: json # json output, will output an object with arrays of posts and users
name: jsonOutput # any name, will be used to identify the output in logs
options:
file: "./output.json" # output filename
- type: fakerelay # FakeRelay (https://github.com/g3rv4/FakeRelay/) output, I highly recommend using it instead of the `masto` output if you can for reasons detailed in the readme
name: "fakerelay!your.instance.tld" # can be anything, fakerelay url is in options because some people might want to use multiple tokens on the same relay
options:
instance: fakerelay.domain.tld # required, your FakeRelay domain
token: "yourTokenHere" # required, your FakeRelay API key for the desired instance
dbName: your.instance.tld # will be used as the instance id in the persistent database, set to your instance domain to prevent duplicate entries with `masto`
maxRPS: 7 # default for FakeRelay is 5, you can probably go higher than with a `masto` output on the same server
directives: # those are described in more detail in the readme
- instances:
- instance1.tld
- instance2.tld
timelines:
- $public:local
- art:50:+watercolor
- instances:
- instance2.tld
- instance3.tld
timelines:
- $public
- science:80
users:
- "@user@instance3.tld"
- "@user2@instance4.tld"