#  GoToSocial
#  Copyright (C) 2021 GoToSocial Authors admin@gotosocial.org

#  This program is free software: you can redistribute it and/or modify
#  it under the terms of the GNU Affero General Public License as published by
#  the Free Software Foundation, either version 3 of the License, or
#  (at your option) any later version.

#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU Affero General Public License for more details.

#  You should have received a copy of the GNU Affero General Public License
#  along with this program.  If not, see <http://www.gnu.org/licenses/>.

###########################
##### GENERAL CONFIG ######
###########################
# String. Log level to use throughout the application. Must be lower-case.
# Options: ["debug","info","warn","error","fatal"]
# Default: "info"
logLevel: "info"

# String. Application name to use internally.
# Examples: ["My Application","gotosocial"]
# Default: "gotosocial"
applicationName: "gotosocial"

# String. Hostname/domain to use for the server. Defaults to localhost for local testing,
# but you should *definitely* change this when running for real, or your server won't work at all.
# Examples: ["example.org","some.server.com"]
# Default: "localhost"
host: "localhost"

# String. Protocol to use for the server. Only change to http for local testing!
# Options: ["http","https"]
# Default: "https"
protocol: "https"

############################
##### DATABASE CONFIG ######
############################
# Config pertaining to the Gotosocial database connection
db:
  # String. Database type.
  # Options: ["postgres"]
  # Default: "postgres"
  type: "postgres"

  # String. Database address. Can be either an ipv4 address or a hostname.
  # Examples: ["localhost","my.db.host","127.0.0.1","192.111.39.110"]
  # Default: "localhost"
  address: "127.0.0.1"

  # Int. Port for database connection.
  # Examples: [5432, 1234, 6969]
  # Default: 5432
  port: 5432

  # String. Username for the database connection.
  # Examples: ["mydbuser","postgres","gotosocial"]
  # Default: "postgres"
  user: "postgres"

  # REQUIRED
  # String. Password to use for the database connection
  # Examples: ["password123","verysafepassword","postgres"]
  # Default: ""
  password: ""

  # String. Name of the database to use within the provided database type.
  # Examples: ["mydb","postgres","gotosocial"]
  # Default: "postgres"
  database: "postgres"

###############################
##### WEB TEMPLATE CONFIG #####
###############################
# Config pertaining to templating of web pages/email notifications and the like
template:
  # String. Directory from which gotosocial will attempt to load html templates (.tmpl files).
  # Examples: ["/some/absolute/path/", "./relative/path/", "../../some/weird/path/"]
  # Default: "./web/template/"
  baseDir: "./web/template/"

###########################
##### ACCOUNTS CONFIG #####
###########################
# Config pertaining to creation and maintenance of accounts on the server, as well as defaults for new accounts.
accounts:
  # Bool. Do we want people to be able to just submit sign up requests, or do we want invite only?
  # Options: [true, false]
  # Default: true
  openRegistration: true
  # Bool. Do sign up requests require approval from an admin/moderator before an account can sign in/use the server?
  # Options: [true, false]
  # Default: true
  requireApproval: true
