Any changes to the Gitea configuration file should be made in `custom/conf/app.ini` or any corresponding location. When installing from a distribution, this will typically be found at `/etc/gitea/conf/app.ini`.
The defaults provided here are best-effort (not built automatically). They are accurately recorded in [app.ini.sample](https://github.com/go-gitea/gitea/blob/master/custom/conf/app.ini.sample) (s/master/<tag|release\>.Anystringintheformat`%(X)s`isafeaturepoweredby [ini](https://github.com/go-ini/ini/#recursive-values),forreadingvaluesrecursively.
-`APP_NAME`: **Gitea: Git with a cup of tea**: Application name, used in the page title.
-`RUN_USER`: **git**: The user Gitea will run as. This should be a dedicated service (non-user) account. Setting this incorrectly will cause Gitea to not start.
-`RUN_MODE`: **dev**: For performance and other purposes, change this to `prod` when deployed to a production environment. The installation process will set this to `prod` automatically. \[prod, dev, test\]
-`ROOT`: **~/gitea-repositories/**: Root path for storing all repository data. It must be an absolute path.
-`SCRIPT_TYPE`: **bash**: The script type your server supports, usually this is `bash`, but some users report that only `sh` is available.
-`ANSI_CHARSET`: **\<empty\>**: The default charset for an unrecognized charset.
-`FORCE_PRIVATE`: **false**: Force every new repository to be private.
-`DEFAULT_PRIVATE`: **last**: Default private when create a new repository. \[last, private, public\]
-`MAX_CREATION_LIMIT`: **-1**: Global maximum creation limit of repositories per user, `-1` means no limit.
-`PULL_REQUEST_QUEUE_LENGTH`: **1000**: Length of pull request patch test queue, make it as large as possible. Use caution when editing this value.
-`MIRROR_QUEUE_LENGTH`: **1000**: Patch test queue length, increase if pull request patch testing starts hanging.
-`PREFERRED_LICENSES`: **Apache License 2.0,MIT License**: Preferred Licenses to place at the top of the List. Name must match file name in conf/license or custom/conf/license.
-`DISABLE_HTTP_GIT`: **false**: Disable the ability to interact with repositories over the HTTP protocol.
-`USE_COMPAT_SSH_URI`: **false**: Force ssh:// clone url instead of scp-style uri when default SSH port is used.
-`ACTIVE_CODE_LIVE_MINUTES`: **180**: Time limit (min) to confirm account/email registration.
-`RESET_PASSWD_CODE_LIVE_MINUTES`: **180**: Time limit (min) to confirm forgot password reset process.
-`REGISTER_EMAIL_CONFIRM`: **false**: Enable this to ask for mail confirmation of registration. Requires `Mailer` to be enabled.
-`DISABLE_REGISTRATION`: **false**: Disable registration, after which only admin can create accounts for users.
-`REQUIRE_SIGNIN_VIEW`: **false**: Enable this to force users to log in to view any page.
-`ENABLE_NOTIFY_MAIL`: **false**: Enable this to send e-mail to watchers of a repository when something happens, like creating issues. Requires `Mailer` to be enabled.
-`ENABLE_REVERSE_PROXY_AUTHENTICATION`: **false**: Enable this to allow reverse proxy authentication.
-`ENABLE_REVERSE_PROXY_AUTO_REGISTRATION`: **false**: Enable this to allow auto-registration for reverse authentication.
-`ENABLE_CAPTCHA`: **true**: Enable this to use captcha validation for registration.
-`ADAPTER`: **memory**: Cache engine adapter, either `memory`, `redis`, or `memcache`. If you want to use `redis` or `memcache`, be sure to rebuild everything with build tags `redis` or `memcache`: `go build -tags='redis'`.
-`INTERVAL`: **60**: Garbage Collection interval (sec), for memory cache only.
-`HOST`: **\<empty\>**: Connection string for `redis` and `memcache`.