#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ # FoundKey configuration #━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ # ┌─────┐ #───┘ URL └───────────────────────────────────────────────────── # Final accessible URL seen by a user. # Only the host part will be used. # ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE # URL SETTINGS AFTER THAT! url: https://example.tld/ # ┌───────────────────────┐ #───┘ Port and TLS settings └─────────────────────────────────── # # FoundKey requires a reverse proxy to support HTTPS connections. # # +-------- https://example.tld/ ----------+ # +------+ |+-------------+ +-----------------+| # | User | ---> || Proxy (443) | ---> | FoundKey (3000) || # +------+ |+-------------+ +-----------------+| # +----------------------------------------+ # # You need to set up a reverse proxy. (e.g. nginx) # An encrypted connection with HTTPS is highly recommended # because tokens may be transferred in GET requests. # The port that your FoundKey server should listen on. port: 3000 # ┌──────────────────────────┐ #───┘ PostgreSQL configuration └──────────────────────────────── db: host: localhost port: 5432 # Database name db: foundkey # Auth user: example-foundkey-user pass: example-foundkey-pass # Whether to disable query caching # Default is to cache, i.e. false. #disableCache: true # Extra connection options #extra: # ssl: true # ┌─────────────────────┐ #───┘ Redis configuration └───────────────────────────────────── redis: host: localhost port: 6379 # Address family to connect over. # Can be either a number or string (0/dual, 4/ipv4, 6/ipv6) # Default is "dual". #family: dual # The following properties are optional. #pass: example-pass #prefix: example-prefix #db: 1 # ┌─────────────────────────────┐ #───┘ Elasticsearch configuration └───────────────────────────── # Elasticsearch is optional. #elasticsearch: # host: localhost # port: 9200 # ssl: false # user: # pass: # ┌─────────────────────┐ #───┘ Other configuration └───────────────────────────────────── # Whether to disable HSTS (not recommended) # Default is to enable HSTS, i.e. false. #disableHsts: true # Number of worker processes by type. # The sum should not exceed the number of available cores. #clusterLimits: # web: 1 # queue: 1 # Jobs each worker will try to work on at a time. #deliverJobConcurrency: 128 #inboxJobConcurrency: 16 # Rate limit for each Worker. # Use -1 to disable. # A rate limit for deliver jobs is not recommended as it comes with # a big performance penalty due to overhead of rate limiting. #deliverJobPerSec: -1 #inboxJobPerSec: 16 # Number of times each job will be tried. # 1 means only try once and don't retry. #deliverJobMaxAttempts: 12 #inboxJobMaxAttempts: 8 # Proxy for HTTP/HTTPS outgoing connections #proxy: http://127.0.0.1:3128 # Hosts that should not be connected to through the proxy specified above #proxyBypassHosts: [ # 'example.com', # '192.0.2.8' #] # Proxy for SMTP/SMTPS #proxySmtp: http://127.0.0.1:3128 # use HTTP/1.1 CONNECT #proxySmtp: socks4://127.0.0.1:1080 # use SOCKS4 #proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5 # Media Proxy #mediaProxy: https://example.com/proxy # Proxy remote files # Default is to not proxy remote files, i.e. false. #proxyRemoteFiles: true # Storage path for files if stored locally (absolute path) # default is to store it in ./files in the directory foundkey is located in #internalStoragePath: '/etc/foundkey/files' # Upload or download file size limits (bytes) # default is 262144000 = 250MiB #maxFileSize: 262144000 # Max note text length (in characters) #maxNoteTextLength: 3000 # By default, Foundkey will fail when something tries to make it fetch something from private IPs. # With the following setting you can explicitly allow some private CIDR subnets. # Default is an empty list, i.e. none allowed. #allowedPrivateNetworks: [ # '127.0.0.1/32' #] # images used on error screens. You can use absolute or relative URLs. # If you use relative URLs, be aware that the URL may be used on different pages/paths, so the path component should be absolute. #images: # info: /twemoji/1f440.svg # notFound: /twemoji/2049.svg # error: /twemoji/1f480.svg