2019-04-07 06:50:36 -06:00
|
|
|
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
2023-08-13 05:23:15 -06:00
|
|
|
# Iceshrimp configuration
|
2019-04-07 06:50:36 -06:00
|
|
|
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
|
|
2023-06-02 17:10:57 -06:00
|
|
|
# After starting your server, please don't change the URL! Doing so will break federation.
|
|
|
|
|
2019-04-07 06:50:36 -06:00
|
|
|
# ┌─────┐
|
|
|
|
#───┘ URL └─────────────────────────────────────────────────────
|
|
|
|
|
2018-10-01 20:59:12 -06:00
|
|
|
# Final accessible URL seen by a user.
|
2023-08-01 13:23:32 -06:00
|
|
|
url: https://example.org/
|
|
|
|
|
|
|
|
# (Optional - ADVANCED) Domain used for account handles.
|
|
|
|
# Only uncomment this if you want to for example have the URL be ice.example.org
|
|
|
|
# and the handles to be example.org
|
|
|
|
# accountDomain: example.org
|
2019-07-03 05:31:52 -06:00
|
|
|
|
2019-04-07 06:50:36 -06:00
|
|
|
# ┌───────────────────────┐
|
|
|
|
#───┘ Port and TLS settings └───────────────────────────────────
|
2018-10-01 20:59:12 -06:00
|
|
|
|
|
|
|
#
|
2023-08-13 05:23:15 -06:00
|
|
|
# Iceshrimp requires a reverse proxy to support HTTPS connections.
|
2018-10-01 20:59:12 -06:00
|
|
|
#
|
2023-08-13 05:23:15 -06:00
|
|
|
# +------- https://example.com/ ------------+
|
|
|
|
# +------+ |+-------------+ +------------------+|
|
|
|
|
# | User | ---> || Proxy (443) | ---> | Iceshrimp (3000) ||
|
|
|
|
# +------+ |+-------------+ +------------------+|
|
|
|
|
# +-----------------------------------------+
|
2018-07-14 11:09:55 -06:00
|
|
|
#
|
2023-06-02 17:10:57 -06:00
|
|
|
# You need to set up a reverse proxy. (e.g. nginx, caddy)
|
2022-03-08 07:23:18 -07:00
|
|
|
# An encrypted connection with HTTPS is highly recommended
|
|
|
|
# because tokens may be transferred in GET requests.
|
2018-07-14 11:09:55 -06:00
|
|
|
|
2023-08-13 05:23:15 -06:00
|
|
|
# The port that your Iceshrimp server should listen on.
|
2022-03-08 07:23:18 -07:00
|
|
|
port: 3000
|
2018-07-14 08:20:30 -06:00
|
|
|
|
2019-04-07 06:50:36 -06:00
|
|
|
# ┌──────────────────────────┐
|
|
|
|
#───┘ PostgreSQL configuration └────────────────────────────────
|
2017-11-22 13:43:00 -07:00
|
|
|
|
2019-04-07 06:50:36 -06:00
|
|
|
db:
|
2017-11-22 13:43:00 -07:00
|
|
|
host: localhost
|
2019-04-07 06:50:36 -06:00
|
|
|
port: 5432
|
2023-06-27 17:41:18 -06:00
|
|
|
#ssl: false
|
2019-04-07 06:50:36 -06:00
|
|
|
# Database name
|
2023-08-13 05:23:15 -06:00
|
|
|
db: iceshrimp
|
2019-04-07 06:50:36 -06:00
|
|
|
|
|
|
|
# Auth
|
2023-08-13 05:23:15 -06:00
|
|
|
user: example-iceshrimp-user
|
|
|
|
pass: example-iceshrimp-pass
|
2017-11-22 13:43:00 -07:00
|
|
|
|
2019-06-11 05:49:08 -06:00
|
|
|
# Whether disable Caching queries
|
|
|
|
#disableCache: true
|
|
|
|
|
2019-05-23 12:26:56 -06:00
|
|
|
# Extra Connection options
|
|
|
|
#extra:
|
2023-06-27 18:48:55 -06:00
|
|
|
# ssl:
|
|
|
|
# host: localhost
|
|
|
|
# rejectUnauthorized: false
|
2019-05-23 12:26:56 -06:00
|
|
|
|
2024-04-11 04:53:41 -06:00
|
|
|
# You can enable different different logging levels by setting the value of logging to any of the values listed below
|
|
|
|
# * 'error' - logs all failed queries and errors
|
|
|
|
# * 'slow' - logs slow queries
|
|
|
|
# * 'query' - logs all queries
|
|
|
|
# * 'schema' - logs the schema build process
|
|
|
|
# * 'info' - logs internal orm informative messages
|
|
|
|
# * 'log' - logs internal orm log messages
|
|
|
|
# You can set multiple log level by specifying them as an array i.e ['log', 'info']
|
|
|
|
# You can set disable all log levels by specifying an empty array: []
|
|
|
|
# You can set enable all log levels by specifying the special value: 'all'
|
|
|
|
logging: ['error', 'slow']
|
|
|
|
|
2019-04-07 06:50:36 -06:00
|
|
|
# ┌─────────────────────┐
|
|
|
|
#───┘ Redis configuration └─────────────────────────────────────
|
|
|
|
|
2019-04-13 04:19:32 -06:00
|
|
|
redis:
|
|
|
|
host: localhost
|
|
|
|
port: 6379
|
2023-06-27 20:09:22 -06:00
|
|
|
#tls:
|
|
|
|
# host: localhost
|
|
|
|
# rejectUnauthorized: false
|
2022-06-24 04:22:19 -06:00
|
|
|
#family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
2019-04-13 04:19:32 -06:00
|
|
|
#pass: example-pass
|
2019-11-04 04:48:07 -07:00
|
|
|
#prefix: example-prefix
|
|
|
|
#db: 1
|
2023-06-26 16:02:54 -06:00
|
|
|
#user: default
|
2019-04-07 06:50:36 -06:00
|
|
|
|
2023-05-24 17:06:03 -06:00
|
|
|
|
2019-04-07 06:50:36 -06:00
|
|
|
# ┌───────────────┐
|
|
|
|
#───┘ ID generation └───────────────────────────────────────────
|
2018-11-05 14:24:31 -07:00
|
|
|
|
2023-05-28 18:24:48 -06:00
|
|
|
# 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.
|
2018-07-14 08:06:46 -06:00
|
|
|
|
2023-05-28 21:49:55 -06:00
|
|
|
# cuid:
|
2023-05-28 18:24:48 -06:00
|
|
|
# # Min 16, Max 24
|
2023-05-28 21:49:55 -06:00
|
|
|
# length: 16
|
|
|
|
#
|
2023-05-28 18:24:48 -06:00
|
|
|
# # Set this to a unique string across workers (e.g., machine's hostname)
|
|
|
|
# # if your workers are running in multiple hosts.
|
2023-05-28 21:49:55 -06:00
|
|
|
# fingerprint: my-fingerprint
|
2019-04-24 21:24:18 -06:00
|
|
|
|
2019-04-07 06:50:36 -06:00
|
|
|
|
|
|
|
# ┌─────────────────────┐
|
|
|
|
#───┘ Other configuration └─────────────────────────────────────
|
|
|
|
|
2023-07-15 15:50:23 -06:00
|
|
|
# Maximum length of a post (default 3000, max 100000)
|
2022-12-12 16:07:38 -07:00
|
|
|
#maxNoteLength: 3000
|
|
|
|
|
2023-06-02 17:10:57 -06:00
|
|
|
# Maximum length of an image caption (default 1500, max 8192)
|
2023-03-04 07:16:20 -07:00
|
|
|
#maxCaptionLength: 1500
|
|
|
|
|
2023-04-26 14:06:18 -06:00
|
|
|
# Reserved usernames that only the administrator can register with
|
2023-05-08 11:30:21 -06:00
|
|
|
reservedUsernames: [
|
|
|
|
'root',
|
|
|
|
'admin',
|
|
|
|
'administrator',
|
|
|
|
'me',
|
|
|
|
'system'
|
|
|
|
]
|
2023-04-26 14:06:18 -06:00
|
|
|
|
2019-02-06 03:36:44 -07:00
|
|
|
# Whether disable HSTS
|
|
|
|
#disableHsts: true
|
|
|
|
|
2019-08-26 14:33:24 -06:00
|
|
|
# Number of worker processes
|
2018-10-11 00:50:27 -06:00
|
|
|
#clusterLimit: 1
|
2019-05-07 02:49:25 -06:00
|
|
|
|
2023-05-16 16:08:14 -06:00
|
|
|
# Worker only mode
|
|
|
|
#onlyQueueProcessor: 1
|
|
|
|
|
2019-08-26 14:33:24 -06:00
|
|
|
# Job concurrency per worker
|
2019-10-22 04:30:18 -06:00
|
|
|
# deliverJobConcurrency: 128
|
|
|
|
# inboxJobConcurrency: 16
|
2019-08-26 14:33:24 -06:00
|
|
|
|
2020-01-19 22:14:09 -07:00
|
|
|
# Job rate limiter
|
|
|
|
# deliverJobPerSec: 128
|
|
|
|
# inboxJobPerSec: 16
|
|
|
|
|
|
|
|
# Job attempts
|
|
|
|
# deliverJobMaxAttempts: 12
|
|
|
|
# inboxJobMaxAttempts: 8
|
|
|
|
|
2019-05-07 02:49:25 -06:00
|
|
|
# IP address family used for outgoing request (ipv4, ipv6 or dual)
|
|
|
|
#outgoingAddressFamily: ipv4
|
2019-08-29 17:29:46 -06:00
|
|
|
|
|
|
|
# Syslog option
|
|
|
|
#syslog:
|
|
|
|
# host: localhost
|
|
|
|
# port: 514
|
2019-09-01 13:42:52 -06:00
|
|
|
|
|
|
|
# Proxy for HTTP/HTTPS
|
|
|
|
#proxy: http://127.0.0.1:3128
|
|
|
|
|
2020-04-12 05:32:34 -06:00
|
|
|
#proxyBypassHosts: [
|
2023-04-26 22:07:40 -06:00
|
|
|
# 'web.kaiteki.app',
|
2020-04-12 05:32:34 -06:00
|
|
|
# 'example.com',
|
|
|
|
# '192.0.2.8'
|
|
|
|
#]
|
|
|
|
|
2019-09-01 13:42:52 -06:00
|
|
|
# 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
|
2019-12-19 09:54:28 -07:00
|
|
|
|
|
|
|
# Media Proxy
|
2019-12-31 01:23:47 -07:00
|
|
|
#mediaProxy: https://example.com/proxy
|
2020-10-17 10:46:40 -06:00
|
|
|
|
2022-02-26 21:59:10 -07:00
|
|
|
# Proxy remote files (default: false)
|
|
|
|
#proxyRemoteFiles: true
|
|
|
|
|
2023-08-01 15:02:11 -06:00
|
|
|
# Media cleanup settings (defaults: false, 0, false, false)
|
|
|
|
#mediaCleanup:
|
|
|
|
# cron: true
|
|
|
|
# maxAgeDays: 30
|
|
|
|
# cleanAvatars: false
|
|
|
|
# cleanHeaders: false
|
|
|
|
|
2023-08-30 17:30:03 -06:00
|
|
|
# Status code images
|
2024-06-18 00:43:45 -06:00
|
|
|
images:
|
2024-06-17 12:21:45 -06:00
|
|
|
info: '/static-assets/badges/info.png'
|
|
|
|
notFound: '/static-assets/badges/not-found.png'
|
|
|
|
error: '/static-assets/badges/error.png'
|
2023-08-30 17:30:03 -06:00
|
|
|
|
2024-06-17 10:37:56 -06:00
|
|
|
# Pinned Post Limit
|
2024-06-18 00:44:41 -06:00
|
|
|
pinLimit: 5
|
2024-06-17 10:37:56 -06:00
|
|
|
|
2023-09-12 07:11:55 -06:00
|
|
|
# Search engine (MFM)
|
|
|
|
#searchEngine: 'https://duckduckgo.com/?q='
|
|
|
|
|
2021-09-03 06:00:44 -06:00
|
|
|
#allowedPrivateNetworks: [
|
|
|
|
# '127.0.0.1/32'
|
|
|
|
#]
|
2021-09-04 05:33:14 -06:00
|
|
|
|
2023-01-21 13:55:38 -07:00
|
|
|
# TWA
|
|
|
|
#twa:
|
|
|
|
# nameSpace: android_app
|
|
|
|
# packageName: tld.domain.twa
|
|
|
|
# sha256CertFingerprints: ['AB:CD:EF']
|
|
|
|
|
2021-09-04 05:33:14 -06:00
|
|
|
# Upload or download file size limits (bytes)
|
|
|
|
#maxFileSize: 262144000
|
2022-10-30 22:38:20 -06:00
|
|
|
|
2023-11-25 14:25:24 -07:00
|
|
|
# ┌────────────────────────────────┐
|
|
|
|
#───┘ Mastodon client API HTML Cache └──────────────────────────
|
|
|
|
# Caution: rendered post html content is stored in redis (in-memory cache)
|
|
|
|
# for the duration of ttl, so don't set it too high if you have little system memory.
|
|
|
|
#
|
|
|
|
# The prewarm option causes every incoming user/note create/update event to
|
|
|
|
# be rendered so the cache is always "warm". This trades background cpu load for
|
|
|
|
# better request response time and better scaling, as posts won't have to be rendered
|
|
|
|
# on request.
|
|
|
|
#
|
|
|
|
# The dbFallback option stores html data that expires into postgres,
|
|
|
|
# which is more expensive than fetching it from redis,
|
|
|
|
# but cheaper than re-rendering the HTML.
|
|
|
|
|
|
|
|
#htmlCache:
|
|
|
|
# ttl: 1h
|
|
|
|
# prewarm: false
|
|
|
|
# dbFallback: false
|
|
|
|
|
2023-11-27 09:56:03 -07:00
|
|
|
# Duration hard muted notes are stored in redis for.
|
|
|
|
# Increasing this trades higher memory consumption for lower cpu usage on repeated requests within the specified ttl.
|
|
|
|
#wordMuteCache:
|
|
|
|
# ttl: 24h
|
|
|
|
|
2023-06-02 17:10:57 -06:00
|
|
|
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
|
# Congrats, you've reached the end of the config file needed for most deployments!
|
2023-08-13 05:23:15 -06:00
|
|
|
# Enjoy your Iceshrimp server!
|
2023-06-02 17:10:57 -06:00
|
|
|
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
2022-11-01 19:41:59 -06:00
|
|
|
# Managed hosting settings
|
2023-06-02 17:10:57 -06:00
|
|
|
# >>> NORMAL SELF-HOSTERS, STAY AWAY! <<<
|
|
|
|
# >>> YOU DON'T NEED THIS! <<<
|
2022-11-01 19:41:59 -06:00
|
|
|
# Each category is optional, but if each item in each category is mandatory!
|
|
|
|
# If you mess this up, that's on you, you've been warned...
|
2023-06-02 17:10:57 -06:00
|
|
|
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
2022-11-01 19:41:59 -06:00
|
|
|
|
2022-10-30 22:38:20 -06:00
|
|
|
#maxUserSignups: 100
|
2022-11-01 19:41:59 -06:00
|
|
|
#isManagedHosting: true
|
|
|
|
#deepl:
|
|
|
|
# managed: true
|
|
|
|
# authKey: ''
|
|
|
|
# isPro: false
|
|
|
|
#
|
|
|
|
#email:
|
|
|
|
# managed: true
|
|
|
|
# address: 'example@email.com'
|
|
|
|
# host: 'email.com'
|
|
|
|
# port: 587
|
|
|
|
# user: 'example@email.com'
|
|
|
|
# pass: ''
|
|
|
|
# useImplicitSslTls: false
|
|
|
|
#
|
|
|
|
#objectStorage:
|
|
|
|
# managed: true
|
2022-11-02 10:14:42 -06:00
|
|
|
# baseUrl: ''
|
2022-11-01 19:41:59 -06:00
|
|
|
# bucket: ''
|
|
|
|
# prefix: ''
|
|
|
|
# endpoint: ''
|
|
|
|
# region: ''
|
|
|
|
# accessKey: ''
|
|
|
|
# secretKey: ''
|
|
|
|
# useSsl: true
|
|
|
|
# connnectOverProxy: false
|
|
|
|
# setPublicReadOnUpload: true
|
|
|
|
# s3ForcePathStyle: true
|
2022-11-15 20:51:59 -07:00
|
|
|
|
|
|
|
# !!!!!!!!!!
|
|
|
|
# >>>>>> AGAIN, NORMAL SELF-HOSTERS, STAY AWAY! <<<<<<
|
|
|
|
# >>>>>> YOU DON'T NEED THIS, ABOVE SETTINGS ARE FOR MANAGED HOSTING ONLY! <<<<<<
|
|
|
|
# !!!!!!!!!!
|
|
|
|
|
|
|
|
# Seriously. Do NOT fill out the above settings if you're self-hosting.
|
2023-04-26 14:06:18 -06:00
|
|
|
# They're much better off being set from the control panel.
|