> For the complete documentation index, see [llms.txt](https://developers.docstudio.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.docstudio.com/server-configuration/server-configuration-information.md).

# Server Configuration Information

### Global properties

{% columns %}
{% column width="41.66666666666667%" %}

* **app.name** — Sets the platform name.
  {% endcolumn %}

{% column width="58.33333333333333%" %}

* **app.theme** — Sets the platform UI theme (`Red` or `Blue`).
  {% endcolumn %}
  {% endcolumns %}

### User properties (app.user)

{% columns %}
{% column %}

* **validation-code-hours-lifetime** — Sets the lifetime of the email validation code.
* **invitation-hours-lifetime** — Sets the lifetime of an account invitation.
* **seconds-between-validations** — Sets the delay between validation requests.
  {% endcolumn %}

{% column %}

* **profile-phone** `boolean` — Requires a phone number during registration.
* **profile-phone-default-region** — Sets the default phone region (`UA`, `FR`, `GB`).
* **email-validation-code-length** — Sets the length of the email validation code.
  {% endcolumn %}
  {% endcolumns %}

### Locale properties (app.locales)

{% columns %}
{% column %}

* **supported** — Lists the supported locales (`en`, `ru`, `uk`).
* **defaultLocale** — Sets the default locale for invitations.
* **defaultCountry** — Sets the default country when the header has no coordinates.
  {% endcolumn %}

{% column %}

* **defaultAsLanguage** — Uses the default locale as the browser language and ignores geolocation and browser language.
* **timezone** — Sets the default time zone for user creation, email dates, and PDF dates.
  {% endcolumn %}
  {% endcolumns %}

### Password policy (app.user.password-policy)

{% columns %}
{% column %}

* **min-length** — Sets the minimum password length.
* **max-length** — Sets the maximum password length.
* **uppercase** — Requires uppercase letters.
* **lowercase** — Requires lowercase letters.
* **digit** — Requires digits.
* **special-symbol** — Requires at least one special character: `! @ # $ % ^ & * ( ) _ + - = [ ] { } |`.
* **repeat-character** — Disallows repeating characters.
  {% endcolumn %}

{% column %}

* **allow-whitespace** `boolean` — Allows whitespace in passwords.
* **prevent-common-passwords** `boolean` — Blocks forbidden passwords. See the `BannedPassword` database table.
* **prevent-common-words** `boolean` — Blocks forbidden words. See the `BannedPasswordWord` database table.
* **expiration-days** — Sets the password expiration period in days.
* **notify-before-days** — Sets how many days before expiration to send a notification.
* **prevent-reuse-months** — Prevents password reuse for a set number of months.
* **prevent-reuse-count** — Prevents reuse of a recent number of passwords.
  {% endcolumn %}
  {% endcolumns %}

### Session policy (app.user.session-policy)

{% columns %}
{% column %}

* **session-hours** — Sets the session duration during the idle period.
* **single-session** `boolean` — Enforces a single session per user.
* **single-ip-session** `boolean` — Enforces a single session per IP.
* **max-login-attempts** — Sets the maximum number of login attempts before locking.
  {% endcolumn %}

{% column %}

* **max-attempts-timeout-minutes** — Sets the lock duration after multiple failed login attempts.
* **allowed-ips** `array` — Lists the allowed IP addresses.
* **blocked-ips** `array` — Lists the blocked IP addresses.
  {% endcolumn %}
  {% endcolumns %}

{% hint style="info" %}
Each property can be set via an environment variable. Replace `.` with `_` and use uppercase.
{% endhint %}

Example:

```bash
APP_NAME=DocStudio
APP_USER_PASSWORD-POLICY.UPPERCASE=2
```
