181 lines
5.4 KiB
YAML
181 lines
5.4 KiB
YAML
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
# Firefish configuration
|
|
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
|
# After starting your server, please don't change the URL! Doing so will break federation.
|
|
|
|
# ┌─────┐
|
|
#───┘ URL └─────────────────────────────────────────────────────
|
|
|
|
# Final accessible URL seen by a user.
|
|
url: https://example.com/
|
|
|
|
# ┌───────────────────────┐
|
|
#───┘ Port and TLS settings └───────────────────────────────────
|
|
|
|
#
|
|
# Firefish requires a reverse proxy to support HTTPS connections.
|
|
#
|
|
# +----- https://example.com/ ------------+
|
|
# +------+ |+-------------+ +----------------+|
|
|
# | User | ---> || Proxy (443) | ---> | Firefish (3000) ||
|
|
# +------+ |+-------------+ +----------------+|
|
|
# +---------------------------------------+
|
|
#
|
|
# You need to set up a reverse proxy. (e.g. nginx, caddy)
|
|
# An encrypted connection with HTTPS is highly recommended
|
|
# because tokens may be transferred in GET requests.
|
|
|
|
# The port that your Firefish server should listen on.
|
|
port: 3000
|
|
|
|
# The bind host your Firefish server should listen on.
|
|
# If unspecified, the wildcard address will be used.
|
|
bind: 127.0.0.1
|
|
|
|
# ┌──────────────────────────┐
|
|
#───┘ PostgreSQL configuration └────────────────────────────────
|
|
|
|
db:
|
|
host: localhost
|
|
port: 5432
|
|
#ssl: false
|
|
# Database name
|
|
db: firefish_db
|
|
|
|
# Auth
|
|
user: firefish
|
|
pass: password
|
|
|
|
# Whether disable Caching queries
|
|
#disableCache: true
|
|
|
|
# Extra Connection options
|
|
#extra:
|
|
# ssl:
|
|
# host: localhost
|
|
# rejectUnauthorized: false
|
|
|
|
# ┌─────────────────────┐
|
|
#───┘ Redis configuration └─────────────────────────────────────
|
|
|
|
redis:
|
|
host: localhost
|
|
port: 6379
|
|
#tls:
|
|
# host: localhost
|
|
# rejectUnauthorized: false
|
|
#family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
|
#pass: example-pass
|
|
#prefix: example-prefix
|
|
#db: 1
|
|
#user: default
|
|
|
|
# ┌─────────────────────────────┐
|
|
#───┘ Cache server configuration └─────────────────────────────────────
|
|
|
|
# A Redis-compatible server (DragonflyDB, Keydb, Redis) for caching
|
|
# If left blank, it will use the Redis server from above
|
|
|
|
#cacheServer:
|
|
#host: localhost
|
|
#port: 6379
|
|
#family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
|
#pass: example-pass
|
|
#prefix: example-prefix
|
|
#db: 1
|
|
|
|
# ┌───────────────┐
|
|
#───┘ ID generation └───────────────────────────────────────────
|
|
|
|
# No need to uncomment in most cases, but you may want to change
|
|
# these settings if you plan to run a large and/or distributed server.
|
|
|
|
cuid:
|
|
# Min 16, Max 24
|
|
length: 16
|
|
# # Set this to a unique string across workers (e.g., machine's hostname)
|
|
# # if your workers are running in multiple hosts.
|
|
fingerprint: my-fingerprint
|
|
|
|
|
|
# ┌─────────────────────┐
|
|
#───┘ Other configuration └─────────────────────────────────────
|
|
|
|
# Maximum length of a post (default 3000, max 100000)
|
|
maxNoteLength: 3000
|
|
|
|
# Maximum length of an image caption (default 1500, max 8192)
|
|
maxCaptionLength: 1500
|
|
|
|
# Reserved usernames that only the administrator can register with
|
|
reservedUsernames: [
|
|
'root',
|
|
'admin',
|
|
'administrator',
|
|
'me',
|
|
'system'
|
|
]
|
|
|
|
# Whether disable HSTS
|
|
#disableHsts: true
|
|
|
|
# Number of worker processes by type.
|
|
# The sum must not exceed the number of available cores.
|
|
clusterLimits:
|
|
web: 1
|
|
queue: 1
|
|
|
|
# Job concurrency per worker
|
|
deliverJobConcurrency: 128
|
|
inboxJobConcurrency: 16
|
|
|
|
# Job rate limiter
|
|
deliverJobPerSec: 128
|
|
inboxJobPerSec: 16
|
|
|
|
# Job attempts
|
|
deliverJobMaxAttempts: 12
|
|
inboxJobMaxAttempts: 8
|
|
|
|
# Local address used for outgoing requests
|
|
outgoingAddress: 127.0.0.1
|
|
|
|
# IP address family used for outgoing request (ipv4, ipv6 or dual)
|
|
outgoingAddressFamily: ipv4
|
|
|
|
# Log level (error, warning, info, debug, trace)
|
|
# Production env: info
|
|
# Production env whose storage space or IO is tight: warning
|
|
# Debug/Test env or Troubleshooting: debug (or trace)
|
|
maxLogLevel: info
|
|
|
|
# Syslog option
|
|
#syslog:
|
|
# host: localhost
|
|
# port: 514
|
|
|
|
# Proxy for HTTP/HTTPS
|
|
proxy: http://127.0.0.1:3128
|
|
|
|
proxyBypassHosts: [
|
|
'web.kaiteki.app',
|
|
'example.com',
|
|
'192.0.2.8'
|
|
]
|
|
|
|
# Proxy for SMTP/SMTPS
|
|
proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5
|
|
|
|
# Media Proxy
|
|
mediaProxy: https://example.com/proxy
|
|
|
|
# Proxy remote files (default: true)
|
|
proxyRemoteFiles: true
|
|
|
|
allowedPrivateNetworks: [
|
|
'127.0.0.1/32'
|
|
]
|
|
|
|
# Upload or download file size limits (bytes)
|
|
maxFileSize: 262144000
|