diff --git a/config b/config index 2c52d12..1c6328c 160000 --- a/config +++ b/config @@ -1 +1 @@ -Subproject commit 2c52d127ba85ad10195fe5e523fba8463ab0ab3a +Subproject commit 1c6328c69580f1c1f3fd5c8aa86dbab9f9104ce2 diff --git a/templates/gotosocial/config.yaml.gotmpl b/templates/gotosocial/config.yaml.gotmpl index 20ad7ea..de1ec0a 100644 --- a/templates/gotosocial/config.yaml.gotmpl +++ b/templates/gotosocial/config.yaml.gotmpl @@ -44,7 +44,7 @@ log-client-ip: true # # Examples: [true, false] # Default: "02/01/2006 15:04:05.000" -log-timestamp-format: "02/01/2006 15:04:05.000" +log-timestamp-format: "2006-01-02 15:04:05" # String. Application name to use internally. # Examples: ["My Application","gotosocial"] @@ -228,6 +228,12 @@ db-sqlite-synchronous: "NORMAL" # SQLite only -- unused otherwise. # If set to empty string or zero, the sqlite default (2MiB) will be used. # See: https://www.sqlite.org/pragma.html#pragma_cache_size +# +# More is not necessarily better for caches. They need to be tuned to the +# workload. The defaults should be plenty for most instances and you shouldn't +# change it. If you do change it, ensure you mention this when requesting help +# in the GoToSocial Help channel. +# # Examples: ["0", "2MiB", "8MiB", "64MiB"] # Default: "8MiB" db-sqlite-cache-size: "8MiB" @@ -271,6 +277,21 @@ web-asset-base-dir: "{{ .GoToSocial.WebBaseDirectory }}/assets/" # Config pertaining to instance federation settings, pages to hide/expose, etc. +# Array of string. BCP47 language tags to indicate preferred languages of users on this instance. +# +# If you provide these, you should provide these in order from most-preferred to least-preferred, +# but note that leaving out a language from this array doesn't mean it can't be used on this instance, +# it only means it won't be advertised as a preferred instance language. +# +# It is valid to provide no entries here; your instance will then have no particular preferred language. +# +# See here for commonly-used tags: https://en.wikipedia.org/wiki/IETF_language_tag#List_of_common_primary_language_subtags +# See here for all current tags: https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry +# +# Example: ["nl", "en-gb", "fr"] +# Default: [] +instance-languages: ["en-gb"] + # String. Federation mode to use for this instance. # # "blocklist" -- open federation by default. Only instances that are explicitly @@ -409,17 +430,6 @@ media-description-min-chars: 0 # Default: 500 media-description-max-chars: 500 -# Int. Number of days to cache media from remote instances before they are removed from the cache. -# A job will run every day at midnight to clean up any remote media older than the given amount of days. -# -# When remote media is removed from the cache, it is deleted from storage but the database entries for the media -# are kept so that it can be fetched again if requested by a user. -# -# If this is set to 0, then media from remote instances will be cached indefinitely. -# Examples: [30, 60, 7, 0] -# Default: 7 -media-remote-cache-days: 7 - # Int. Max size in bytes of emojis uploaded to this instance via the admin API. # The default is the same as the Mastodon size limit for emojis (50kb), which allows # for good interoperability. Raising this limit may cause issues with federation @@ -436,6 +446,37 @@ media-emoji-local-max-size: 51200 # Default: 102400 media-emoji-remote-max-size: 102400 +# The below media cleanup settings allow admins to customize when and +# how often media cleanup + prune jobs run, while being set to a fairly +# sensible default (every night @ midnight). For more information on exactly +# what these settings do, with some customization examples, see the docs: +# https://docs.gotosocial.org/en/latest/admin/media_caching#cleanup + +# Int. Number of days to cache media from remote instances before +# they are removed from the cache. When remote media is removed from +# the cache, it is deleted from storage but the database entries for +# the media are kept so that it can be fetched again if requested by a user. +# +# If this is set to 0, then media from remote instances will be cached indefinitely. +# +# Examples: [30, 60, 7, 0] +# Default: 7 +media-remote-cache-days: 7 + +# String. 24hr time of day formatted as hh:mm. +# Examples: ["14:30", "00:00", "04:00"] +# Default: "00:00" (midnight). +media-cleanup-from: "00:00" + +# Duration. Period between media cleanup runs. +# More than once per 24h is not recommended +# is likely overkill. Setting this to something +# very low like once every 10 minutes will probably +# cause lag and possibly other issues. +# Examples: ["24h", "72h", "12h"] +# Default: "24h" (once per day). +media-cleanup-every: "24h" + ########################## ##### STORAGE CONFIG ##### ########################## @@ -757,6 +798,22 @@ tracing-endpoint: "" # Default: false tracing-insecure-transport: false +# Bool. Enable OpenTelemetry based metrics support. +# Default: false +metrics-enabled: false + +# Bool. Enable HTTP Basic Authentication for Prometheus metrics endpoint. +# Default: false +metrics-auth-enabled: false + +# String. Username for Prometheus metrics endpoint. +# Default: "" +metrics-auth-username: "" + +# String. Password for Prometheus metrics endpoint. +# Default: "" +metrics-auth-password: "" + ################################ ##### HTTP CLIENT SETTINGS ##### ################################