gtsocial-umbx

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

test.yaml (16689B)


      1 #  GoToSocial
      2 #  Copyright (C) 2021-2023 GoToSocial Authors admin@gotosocial.org
      3 
      4 #  This program is free software: you can redistribute it and/or modify
      5 #  it under the terms of the GNU Affero General Public License as published by
      6 #  the Free Software Foundation, either version 3 of the License, or
      7 #  (at your option) any later version.
      8 
      9 #  This program is distributed in the hope that it will be useful,
     10 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
     11 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     12 #  GNU Affero General Public License for more details.
     13 
     14 #  You should have received a copy of the GNU Affero General Public License
     15 #  along with this program.  If not, see <http://www.gnu.org/licenses/>.
     16 
     17 ###########################
     18 ##### GENERAL CONFIG ######
     19 ###########################
     20 
     21 # String. Log level to use throughout the application. Must be lower-case.
     22 # Options: ["trace","debug","info","warn","error","fatal"]
     23 # Default: "info"
     24 log-level: "info"
     25 
     26 # Bool. Log database queries when log-level is set to debug or trace.
     27 # This setting produces verbose logs, so it's better to only enable it
     28 # when you're trying to track an issue down.
     29 # Options: [true, false]
     30 # Default: false
     31 log-db-queries: false
     32 
     33 # String. Application name to use internally.
     34 # Examples: ["My Application","gotosocial"]
     35 # Default: "gotosocial"
     36 application-name: "gotosocial"
     37 
     38 # String. Hostname that this server will be reachable at. Defaults to localhost for local testing,
     39 # but you should *definitely* change this when running for real, or your server won't work at all.
     40 # DO NOT change this after your server has already run once, or you will break things!
     41 # Examples: ["gts.example.org","some.server.com"]
     42 # Default: "localhost"
     43 host: "gts.example.org"
     44 
     45 # String. Domain to use when federating profiles. This is useful when you want your server to be at
     46 # eg., "gts.example.org", but you want the domain on accounts to be "example.org" because it looks better
     47 # or is just shorter/easier to remember.
     48 # To make this setting work properly, you need to redirect requests at "example.org/.well-known/webfinger"
     49 # to "gts.example.org/.well-known/webfinger" so that GtS can handle them properly.
     50 # You should also redirect requests at "example.org/.well-known/nodeinfo" in the same way.
     51 # An empty string (ie., not set) means that the same value as 'host' will be used.
     52 # DO NOT change this after your server has already run once, or you will break things!
     53 # Examples: ["example.org","server.com"]
     54 # Default: ""
     55 account-domain: "example.org"
     56 
     57 # String. Protocol to use for the server. Only change to http for local testing!
     58 # This should be the protocol part of the URI that your server is actually reachable on. So even if you're
     59 # running GoToSocial behind a reverse proxy that handles SSL certificates for you, instead of using built-in
     60 # letsencrypt, it should still be https.
     61 # Options: ["http","https"]
     62 # Default: "https"
     63 protocol: "https"
     64 
     65 # String. Address to bind the GoToSocial server to.
     66 # This can be an IPv4 address or an IPv6 address (surrounded in square brackets), or a hostname.
     67 # Default value will bind to all interfaces.
     68 # You probably won't need to change this unless you're setting GoToSocial up in some fancy way or
     69 # you have specific networking requirements.
     70 # Examples: ["0.0.0.0", "172.128.0.16", "localhost", "[::]", "[2001:db8::fed1]"]
     71 # Default: "0.0.0.0"
     72 bind-address: "0.0.0.0"
     73 
     74 # Int. Listen port for the GoToSocial webserver + API. If you're running behind a reverse proxy and/or in a docker,
     75 # container, just set this to whatever you like (or leave the default), and make sure it's forwarded properly.
     76 # If you are running with built-in letsencrypt enabled, and running GoToSocial directly on a host machine, you will
     77 # probably want to set this to 443 (standard https port), unless you have other services already using that port.
     78 # This *MUST NOT* be the same as the letsencrypt port specified below, unless letsencrypt is turned off.
     79 # Examples: [443, 6666, 8080]
     80 # Default: 8080
     81 port: 8080
     82 
     83 # Array of string. CIDRs or IP addresses of proxies that should be trusted when determining real client IP from behind a reverse proxy.
     84 # If you're running inside a Docker container behind Traefik or Nginx, for example, add the subnet of your docker network,
     85 # or the gateway of the docker network, and/or the address of the reverse proxy (if it's not running on the host network).
     86 # Example: ["127.0.0.1/32", "172.20.0.1"]
     87 # Default: ["127.0.0.1/32"] (localhost)
     88 trusted-proxies:
     89   - "127.0.0.1/32"
     90   - "0.0.0.0/0"
     91 
     92 ############################
     93 ##### DATABASE CONFIG ######
     94 ############################
     95 
     96 # Config pertaining to the Gotosocial database connection
     97 
     98 # String. Database type.
     99 # Options: ["postgres","sqlite"]
    100 # Default: "postgres"
    101 db-type: "postgres"
    102 
    103 # String. Database address or parameters.
    104 # Examples: ["localhost","my.db.host","127.0.0.1","192.111.39.110",":memory:"]
    105 # Default: "localhost"
    106 db-address: "127.0.0.1"
    107 
    108 # Int. Port for database connection.
    109 # Examples: [5432, 1234, 6969]
    110 # Default: 5432
    111 db-port: 5432
    112 
    113 # String. Username for the database connection.
    114 # Examples: ["mydbuser","postgres","gotosocial"]
    115 # Default: "postgres"
    116 db-user: "postgres"
    117 
    118 # REQUIRED
    119 # String. Password to use for the database connection
    120 # Examples: ["password123","verysafepassword","postgres"]
    121 # Default: "postgres"
    122 db-password: "postgres"
    123 
    124 # String. Name of the database to use within the provided database type.
    125 # Examples: ["mydb","postgres","gotosocial"]
    126 # Default: "postgres"
    127 db-database: "postgres"
    128 
    129 # String. Disable, enable, or require SSL/TLS connection to the database.
    130 # If "disable" then no TLS connection will be attempted.
    131 # If "enable" then TLS will be tried, but the database certificate won't be checked (for self-signed certs).
    132 # If "require" then TLS will be required to make a connection, and a valid certificate must be presented.
    133 # Options: ["disable", "enable", "require"]
    134 # Default: "disable"
    135 db-tls-mode: "disable"
    136 
    137 # String. Path to a CA certificate on the host machine for db certificate validation.
    138 # If this is left empty, just the host certificates will be used.
    139 # If filled in, the certificate will be loaded and added to host certificates.
    140 # Examples: ["/path/to/some/cert.crt"]
    141 # Default: ""
    142 db-tls-ca-cert: ""
    143 
    144 ######################
    145 ##### WEB CONFIG #####
    146 ######################
    147 
    148 # Config pertaining to templating and serving of web pages/email notifications and the like
    149 
    150 # String. Directory from which gotosocial will attempt to load html templates (.tmpl files).
    151 # Examples: ["/some/absolute/path/", "./relative/path/", "../../some/weird/path/"]
    152 # Default: "./web/template/"
    153 web-template-base-dir: "./web/template/"
    154 
    155 # String. Directory from which gotosocial will attempt to serve static web assets (images, scripts).
    156 # Examples: ["/some/absolute/path/", "./relative/path/", "../../some/weird/path/"]
    157 # Default: "./web/assets/"
    158 web-asset-base-dir: "./web/assets/"
    159 
    160 ###########################
    161 ##### ACCOUNTS CONFIG #####
    162 ###########################
    163 
    164 # Config pertaining to creation and maintenance of accounts on the server, as well as defaults for new accounts.
    165 
    166 # Bool. Do we want people to be able to just submit sign up requests, or do we want invite only?
    167 # Options: [true, false]
    168 # Default: true
    169 accounts-registration-open: true
    170 
    171 # Bool. Do sign up requests require approval from an admin/moderator before an account can sign in/use the server?
    172 # Options: [true, false]
    173 # Default: true
    174 accounts-approval-required: true
    175 
    176 # Bool. Are sign up requests required to submit a reason for the request (eg., an explanation of why they want to join the instance)?
    177 # Options: [true, false]
    178 # Default: true
    179 accounts-reason-required: true
    180 
    181 ########################
    182 ##### MEDIA CONFIG #####
    183 ########################
    184 
    185 # Config pertaining to user media uploads (videos, image, image descriptions).
    186 
    187 # Int. Maximum allowed image upload size in bytes.
    188 # Examples: [2097152, 10485760]
    189 # Default: 10485760 -- aka 10MB
    190 media-image-max-size: 10485760
    191 
    192 # Int. Maximum allowed video upload size in bytes.
    193 # Examples: [2097152, 10485760]
    194 # Default: 41943040 -- aka 40MB
    195 media-video-max-size: 41943040
    196 
    197 # Int. Minimum amount of characters required as an image or video description.
    198 # Examples: [500, 1000, 1500]
    199 # Default: 0 (not required)
    200 media-description-min-chars: 0
    201 
    202 # Int. Maximum amount of characters permitted in an image or video description.
    203 # Examples: [500, 1000, 1500]
    204 # Default: 500
    205 media-description-max-chars: 500
    206 
    207 ##########################
    208 ##### STORAGE CONFIG #####
    209 ##########################
    210 
    211 # Config pertaining to storage of user-created uploads (videos, images, etc).
    212 
    213 # String. Type of storage backend to use.
    214 # Examples: ["local", "s3"]
    215 # Default: "local" (storage on local disk)
    216 # NOTE: s3 storage is not yet supported!
    217 storage-backend: "local"
    218 
    219 # String. Directory to use as a base path for storing files.
    220 # Make sure whatever user/group gotosocial is running as has permission to access
    221 # this directly, and create new subdirectories and files with in.
    222 # Examples: ["/home/gotosocial/storage", "/opt/gotosocial/datastorage"]
    223 # Default: "/gotosocial/storage"
    224 storage-local-base-path: "/gotosocial/storage"
    225 
    226 ###########################
    227 ##### STATUSES CONFIG #####
    228 ###########################
    229 
    230 # Config pertaining to the creation of statuses/posts, and permitted limits.
    231 
    232 # Int. Maximum amount of characters permitted for a new status.
    233 # Note that going way higher than the default might break federation.
    234 # Examples: [140, 500, 5000]
    235 # Default: 5000
    236 statuses-max-chars: 5000
    237 
    238 # Int. Maximum amount of characters allowed in the CW/subject header of a status.
    239 # Note that going way higher than the default might break federation.
    240 # Examples: [100, 200]
    241 # Default: 100
    242 statuses-cw-max-chars: 100
    243 
    244 # Int. Maximum amount of options to permit when creating a new poll.
    245 # Note that going way higher than the default might break federation.
    246 # Examples: [4, 6, 10]
    247 # Default: 6
    248 statuses-poll-max-options: 6
    249 
    250 # Int. Maximum amount of characters to permit per poll option when creating a new poll.
    251 # Note that going way higher than the default might break federation.
    252 # Examples: [50, 100, 150]
    253 # Default: 50
    254 statuses-poll-option-max-chars: 50
    255 
    256 # Int. Maximum amount of media files that can be attached to a new status.
    257 # Note that going way higher than the default might break federation.
    258 # Examples: [4, 6, 10]
    259 # Default: 6
    260 statuses-media-max-files: 6
    261 
    262 ##############################
    263 ##### LETSENCRYPT CONFIG #####
    264 ##############################
    265 
    266 # Config pertaining to the automatic acquisition and use of LetsEncrypt HTTPS certificates.
    267 
    268 # Bool. Whether or not letsencrypt should be enabled for the server.
    269 # If false, the rest of the settings here will be ignored.
    270 # You should only change this if you want to serve GoToSocial behind a reverse proxy
    271 # like Traefik, HAProxy, or Nginx.
    272 # Options: [true, false]
    273 # Default: true
    274 letsencrypt-enabled: true
    275 
    276 # Int. Port to listen for letsencrypt certificate challenges on.
    277 # If letsencrypt is enabled, this port must be reachable or you won't be able to obtain certs.
    278 # If letsencrypt is disabled, this port will not be used.
    279 # This *must not* be the same as the webserver/API port specified above.
    280 # Examples: [80, 8000, 1312]
    281 # Default: 80
    282 letsencrypt-port: 80
    283 
    284 # String. Directory in which to store LetsEncrypt certificates.
    285 # It is a good move to make this a sub-path within your storage directory, as it makes
    286 # backup easier, but you might wish to move them elsewhere if they're also accessed by other services.
    287 # In any case, make sure GoToSocial has permissions to write to / read from this directory.
    288 # Examples: ["/home/gotosocial/storage/certs", "/acmecerts"]
    289 # Default: "/gotosocial/storage/certs"
    290 letsencrypt-cert-dir: "/gotosocial/storage/certs"
    291 
    292 # String. Email address to use when registering LetsEncrypt certs.
    293 # Most likely, this will be the email address of the instance administrator.
    294 # LetsEncrypt will send notifications about expiring certificates etc to this address.
    295 # Examples: ["admin@example.org"]
    296 # Default: ""
    297 letsencrypt-email-address: ""
    298 
    299 #######################
    300 ##### OIDC CONFIG #####
    301 #######################
    302 
    303 # Config for authentication with an external OIDC provider (Dex, Google, Auth0, etc).
    304 
    305 # Bool. Enable authentication with external OIDC provider. If set to true, then
    306 # the other OIDC options must be set as well. If this is set to false, then the standard
    307 # internal oauth flow will be used, where users sign in to GtS with username/password.
    308 # Options: [true, false]
    309 # Default: false
    310 oidc-enabled: false
    311 
    312 # String. Name of the oidc idp (identity provider). This will be shown to users when
    313 # they log in.
    314 # Examples: ["Google", "Dex", "Auth0"]
    315 # Default: ""
    316 oidc-idp-name: ""
    317 
    318 # Bool. Skip the normal verification flow of tokens returned from the OIDC provider, ie.,
    319 # don't check the expiry or signature. This should only be used in debugging or testing,
    320 # never ever in a production environment as it's extremely unsafe!
    321 # Options: [true, false]
    322 # Default: false
    323 oidc-skip-verification: false
    324 
    325 # String. The OIDC issuer URI. This is where GtS will redirect users to for login.
    326 # Typically this will look like a standard web URL.
    327 # Examples: ["https://auth.example.org", "https://example.org/auth"]
    328 # Default: ""
    329 oidc-issuer: ""
    330 
    331 # String. The ID for this client as registered with the OIDC provider.
    332 # Examples: ["some-client-id", "fda3772a-ad35-41c9-9a59-f1943ad18f54"]
    333 # Default: ""
    334 oidc-client-id: ""
    335 
    336 # String. The secret for this client as registered with the OIDC provider.
    337 # Examples: ["super-secret-business", "79379cf5-8057-426d-bb83-af504d98a7b0"]
    338 # Default: ""
    339 oidc-client-secret: ""
    340 
    341 # Array of string. Scopes to request from the OIDC provider. The returned values will be used to
    342 # populate users created in GtS as a result of the authentication flow. 'openid' and 'email' are required.
    343 # 'profile' is used to extract a username for the newly created user.
    344 # 'groups' is optional and can be used to determine if a user is an admin (if they're in the group 'admin' or 'admins').
    345 # Examples: See eg., https://auth0.com/docs/scopes/openid-connect-scopes
    346 # Default: ["openid", "email", "profile", "groups"]
    347 oidc-scopes:
    348   - "openid"
    349   - "email"
    350   - "profile"
    351   - "groups"
    352 
    353 #######################
    354 ##### SMTP CONFIG #####
    355 #######################
    356 
    357 # Config for sending emails via an smtp server. See https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol
    358 
    359 # String. The hostname of the smtp server you want to use.
    360 # If this is not set, smtp will not be used to send emails, and you can ignore the other settings.
    361 # Examples: ["mail.example.org", "localhost"]
    362 # Default: ""
    363 smtp-host: "verycoolemailhost.mail"
    364 
    365 # Int. Port to use to connect to the smtp server.
    366 # Examples: []
    367 # Default: 0
    368 smtp-port: 8888
    369 
    370 # String. Username to use when authenticating with the smtp server.
    371 # This should have been provided to you by your smtp host.
    372 # This is often, but not always, an email address.
    373 # Examples: ["maillord@example.org"]
    374 # Default: ""
    375 smtp-username: "smtp-username"
    376 
    377 # String. Password to use when authenticating with the smtp server.
    378 # This should have been provided to you by your smtp host.
    379 # Examples: ["1234", "password"]
    380 # Default: ""
    381 smtp-password: "smtp-password"
    382 
    383 # String. 'From' address for sent emails.
    384 # Examples: ["mail@example.org"]
    385 # Default: ""
    386 smtp-from: "someone@example.org"
    387 
    388 #########################
    389 ##### SYSLOG CONFIG #####
    390 #########################
    391 
    392 # Config for additional syslog log hooks. See https://en.wikipedia.org/wiki/Syslog,
    393 # and https://github.com/sirupsen/logrus/tree/master/hooks/syslog.
    394 #
    395 # These settings are useful when one wants to daemonize GoToSocial and send logs
    396 # to a specific place, either a local location or a syslog server. Most users will
    397 # not need to touch these settings.
    398 
    399 # Bool. Enable the syslog logging hook. Logs will be mirrored to the configured destination.
    400 # Options: [true, false]
    401 # Default: false
    402 syslog-enabled: false
    403 
    404 # String. Protocol to use when directing logs to syslog. Leave empty to connect to local syslog.
    405 # Options: ["udp", "tcp", ""]
    406 # Default: "tcp"
    407 syslog-protocol: "udp"
    408 
    409 # String. Address:port to send syslog logs to. Leave empty to connect to local syslog.
    410 # Default: "localhost:514"
    411 syslog-address: "localhost:514"
    412 
    413 # Cache configuration
    414 cache:
    415   gts:
    416     account-max-size: 99
    417     account-ttl: "3h"
    418     account-sweep-freq: "1s"
    419 
    420 ##################################
    421 ##### OBSERVABILITY SETTINGS #####
    422 ##################################
    423 
    424 # String. Header name to use to extract a request or trace ID from. Typically set by a
    425 # loadbalancer or proxy.
    426 # Default: "X-Request-Id"
    427 request-id-header: "X-Trace-Id"