Iceshrimp.NET/Iceshrimp.Backend/configuration.ini
2024-06-10 19:35:42 +02:00

165 lines
No EOL
6.3 KiB
INI

[Instance]
ListenPort = 3000
ListenHost = localhost
;; If you want to have the application listen on a unix socket instead, uncomment the line below. Make sure to configure filesystem permissions correctly!
;;ListenSocket = /var/run/iceshrimp/iceshrimp.net.sock
;; Caution: changing these settings after initial setup *will* break federation
WebDomain = shrimp.example.org
AccountDomain = example.org
;; End of problematic settings block
;; Maximum number of characters allowed for local notes (must not be larger than the global limit, which is 100000 characters)
CharacterLimit = 8192
[Worker]
;; If you intend to run in cluster mode, uncomment the line below & set it to a string (max. 64 characters) that's unique per worker node (e.g. the kubernetes pod id)
;;WorkerId = 1
[Security]
;; Whether to require incoming ActivityPub requests carry a valid HTTP or LD signature
;; It is highly recommend you keep this enabled if you intend to use block- or allowlist federation
AuthorizedFetch = true
;; Whether to attach LD signatures to outgoing activities
AttachLdSignatures = false
;; Whether to accept activities signed using LD signatures
AcceptLdSignatures = false
;; Whether to allow requests to IPv4 & IPv6 loopback addresses
AllowLoopback = false
;; Whether to allow requests to local IPv4 addresses (RFC1918, link-local)
AllowLocalIPv4 = false
;; Whether to allow requests to local IPv6 addresses (RFC3513, ULA, link-local)
AllowLocalIPv6 = false
;; The level of detail in API error responses
;; Options: [None, Basic, Full]
ExceptionVerbosity = Basic
;; Whether to allow instance registrations
;; Options: [Closed, Invite, Open]
Registrations = Closed
;; Whether to use a blocklist or allowlist for controlling who can federate with this instance
;; Options: [BlockList, AllowList]
FederationMode = BlockList
;; Whether to expose the list of blocked/allowed instances publicly, for registered users only, or not at all
;; Options: [Public, Registered, Hide]
ExposeFederationList = Registered
;; Whether to expose the reason for instance blocks publicly, for registered users only, or not at all
;; Options: [Public, Registered, Hide]
ExposeBlockReasons = Registered
;; Whether to enable public preview of locally originating notes
;;
;; Public = No restrictions
;; Restricted = Hide replies from remote instances
;; RestrictedNoMedia = Hide replies remote instances & hide media
;; Lockdown = Public preview is disabled, all unauthenticated API access (except authentication) is disabled
;;
;; Options: [Public, Restricted, RestrictedNoMedia, Lockdown]
PublicPreview = Public
[Performance]
;; Maximum number of incoming federation requests to handle concurrently.
;; When exceeded, incoming requests are buffered in memory until they can be executed.
;; While not recommended, this setting can enable lower-end hardware to sustain higher request load, as cryptography operations can be CPU-intensive.
;; (0 = no limit)
FederationRequestHandlerConcurrency = 0
;; Maximum number of jobs to process concurrently, for each queue.
[Performance:QueueConcurrency]
Inbox = 4
Deliver = 20
PreDeliver = 4
BackgroundTask = 4
[Database]
;; Hostname, IP address or path to unix socket directory (specifying port is required even for unix sockets)
Host = localhost
Port = 5432
Database = iceshrimp
Username = iceshrimp
Password = iceshrimp
;; The maximum amount of connections for the connection pool. Valid range: 1-1000. Defaults to 100 if unset.
MaxConnections = 100
;; Whether to enable connection multiplexing, which allows for more efficient use of the connection pool.
Multiplexing = false
[Storage]
;; Where to store media attachments
;; Options: [Local, ObjectStorage]
Provider = Local
;; Max file size for locally originating media, files larger than this will error on upload (-1 = no limit)
MaxUploadSize = 100M
;; Max file size for remote media, files larger than this will never be cached (-1 = no limit)
MaxCacheSize = 20M
;; Amount of time remote media is retained in the cache (0 = disabled, -1 = infinite)
MediaRetention = 30d
;; Whether to cleanup remote avatars & banners past the media retention time
CleanAvatars = false
CleanBanners = false
[Storage:Local]
;; Path where media is stored at. Must be writable for the service user.
Path = /path/to/media/location
[Storage:ObjectStorage]
;;Endpoint = endpoint.example.org
;;Region = us-east-1
;;KeyId = <yourAccessKey>
;;SecretKey = <yourSecretKey>
;;Bucket = <yourBucketName>
;;Prefix =
;;AccessUrl = https://endpoint.example.org/<yourBucketName>
;;SetAcl = public-read
;; Disables the validation of the object storage configuration.
;; Only enable this if you have a cache in front of the object storage access URL that makes the validation fail on restart.
;;DisableValidation = false
[Storage:MediaProcessing]
;; Which image processor to use.
;;
;; ImageSharp = .NET library, slower, lower memory footprint. No external dependencies.
;; LibVips = Native library, faster, higher and spikier memory footprint. Requires compilation with -p:EnableLibVips=true & for libvips to be installed on the system.
;; None = Disables image processing, fastest, lowest memory footprint. Caution: metadata (e.g. location data) for locally originating images will *not* be stripped!
;;
;; Options: [ImageSharp, LibVips, None]
ImageProcessor = ImageSharp
;; Whether to only process locally originating media. This is useful if you're working with a cpu-constrained environment,
;; and want both remote media caching and local media processing.
LocalOnly = false
;; Maximum file size for files to be considered for image processing.
;; Caution: metadata (e.g. location data) for locally originating images will *not* be stripped for files larger than this
MaxFileSize = 10M
;; Maximum resolution for files to be considered for image processing, in megapixels
;; Note that processing an image requires up to 4MB of system memory per megapixel, in some edge case scenarios.
;; Caution: metadata (e.g. location data) for locally originating images will *not* be stripped for files larger than this
MaxResolutionMpx = 30
[Logging:LogLevel]
Default = Information
Iceshrimp = Information
Microsoft.AspNetCore = Warning
Microsoft.EntityFrameworkCore = Warning
Microsoft.EntityFrameworkCore.Update = Critical
Microsoft.EntityFrameworkCore.Migrations = Information
Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager = Critical
Iceshrimp.Backend.Hubs.Authentication.HubAuthenticationHandler = Warning