# Configuration

A list of environment variables

Last modified Mon Oct 23, 2023

All configuration files are located in the `config/` folder of your Pixelfed installation. These are the environment variables you can set in your `.env` file; note that some variables are currently unused and do nothing.

Summary of important variables

For a user-facing guide to which environment variables you might want to set, check out the installation guide instead.

## APP [link]

### `APP_NAME` [link]

This value is the name of your application. This value is used when the framework needs to place the application’s name in a notification or any other location as required by the application or its packages. Defaults to `"Pixelfed"`.

### `APP_ENV` [link]

This value determines the “environment” your application is currently running in. This may determine how you prefer to configure various services your application utilizes. Set this in your “.env” file. Defaults to `"production"`.

### `APP_DEBUG` [link]

When your application is in debug mode, detailed error messages with stack traces will be shown on every error that occurs within your application. If disabled, a simple generic error page is shown. Defaults to `false`.

### `APP_URL` [link]

This URL is used by the console to properly generate URLs when using the Artisan command line tool. You should set this to the root of your application so that it is used when running Artisan tasks. Defaults to `"https://localhost"`.

### `APP_TIMEZONE` [link]

(Not listed on Admin > Diagnostics.) Defaults to `"UTC"`. Do not edit your timezone or things will break!

### `APP_LOCALE` [link]

The application locale determines the default locale that will be used by the translation service provider. You are free to set this value to any of the locales which will be supported by the application. Defaults to `"en"`.

### `APP_FALLBACK_LOCALE` [link]

The fallback locale determines the locale to use when the current one is not available. You may change the value to correspond to any of the language folders that are provided through your application. Defaults to `"en"`.

### `APP_KEY` [link]

(Not listed on Admin > Diagnostics.) A random 32-character string to be used as an encryption key. No default value; use `php artisan key:generate` to generate. This key is used by the Illuminate encrypter service and should be set to a random, 32 character string, otherwise these encrypted strings will not be safe. Please do this before deploying an application!

## BACKUP [link]

(Not listed on Admin > Diagnostics.)

### `BACKUP_ARCHIVE_PASSWORD` [link]

(Not listed on Admin > Diagnostics.) The password to be used for archive encryption. Set to `null` to disable encryption.

### `BACKUP_EMAIL_ADDRESS` [link]

(Not listed on Admin > Diagnostics.) Defaults to `""`.

## BROADCASTING [link]

### `BROADCAST_DRIVER` [link]

This option controls the default broadcaster that will be used by the framework when an event needs to be broadcast. Possible values:

- `"pusher"`
- `"redis"`
- `"log"`
- `"null"` (default)

### PUSHER [link]

#### `PUSHER_APP_KEY` [link]

(Not listed on Admin > Diagnostics.)

#### `PUSHER_APP_SECRET` [link]

(Not listed on Admin > Diagnostics.)

#### `PUSHER_APP_ID` [link]

(Not listed on Admin > Diagnostics.)

#### `PUSHER_APP_CLUSTER` [link]

(Not listed on Admin > Diagnostics.)

#### `PUSHER_APP_ENCRYPTED` [link]

(Not listed on Admin > Diagnostics.) Defaults to `false`.

#### `PUSHER_HOST` [link]

(Not listed on Admin > Diagnostics.) Defaults to `APP_DOMAIN`.

#### `PUSHER_PORT` [link]

(Not listed on Admin > Diagnostics.) Defaults to `443`.

#### `PUSHER_SCHEME` [link]

(Not listed on Admin > Diagnostics.) Defaults to `"https"`.

## CACHE [link]

### `CACHE_DRIVER` [link]

This option controls the default cache connection that gets used while using this caching library. This connection is used when another is not explicitly specified when executing a given caching function. Possible values:

- `"apc"`
- `"array"`
- `"database"`
- `"file"` (default)
- `"memcached"`
- `"redis"`

### `CACHE_PREFIX` [link]

(Not listed on Admin > Diagnostics.) Defaults to `${APP_NAME}_cache`, or `laravel_cache` if no `APP_NAME` is set.

### MEMCACHED [link]

(Not listed on Admin > Diagnostics.)

#### `MEMCACHED_PERSISTENT_ID` [link]

(Not listed on Admin > Diagnostics.)

#### `MEMCACHED_USERNAME` [link]

(Not listed on Admin > Diagnostics.)

#### `MEMCACHED_PASSWORD` [link]

(Not listed on Admin > Diagnostics.)

#### `MEMCACHED_HOST` [link]

Defaults to `"127.0.0.1"`.

#### `MEMCACHED_PORT` [link]

(Not listed on Admin > Diagnostics.) Defaults to `11211`.

### REDIS [link]

#### `REDIS_CLIENT` [link]

(Not listed on Admin > Diagnostics.) Defaults to `"phpredis"`.

#### `REDIS_SCHEME` [link]

(Not listed on Admin > Diagnostics.) Defaults to `"tcp"`.

#### `REDIS_PATH` [link]

(Not listed on Admin > Diagnostics.) No default value.

#### `REDIS_HOST` [link]

(Not listed on Admin > Diagnostics.) Defaults to `"localhost"`.

#### `REDIS_PASSWORD` [link]

(Not listed on Admin > Diagnostics.) Defaults to `null`.

#### `REDIS_PORT` [link]

(Not listed on Admin > Diagnostics.) Defaults to `6379`.

#### `REDIS_DATABASE` [link]

(Not listed on Admin > Diagnostics.) Defaults to `0`.

## CAPTCHA [link]

(Not listed on Admin > Diagnostics.) Use hCaptcha
to protect your login from bots.

### `CAPTCHA_ENABLED` [link]

(Not listed on Admin > Diagnostics.) Defaults to `false`.

### `CAPTCHA_SECRET` [link]

(Not listed on Admin > Diagnostics.)

### `CAPTCHA_SITEKEY` [link]

(Not listed on Admin > Diagnostics.)

## COSTAR [link]

(Not listed on Admin > Diagnostics.) COSTAR - Confirm Object Sentiment Transform and Reduce

### `CS_BLOCKED_DOMAINS` [link]

(Not listed on Admin > Diagnostics.) Comma-separated list of domains to block. Defaults to `null`.

### `CS_CW_DOMAINS` [link]

(Not listed on Admin > Diagnostics.) Comma-separated list of domains to add warnings. Defaults to `null`.

### `CS_UNLISTED_DOMAINS` [link]

(Not listed on Admin > Diagnostics.) Comma-separated list of domains to remove from public timelines. Defaults to `null`.

### `CS_BLOCKED_KEYWORDS` [link]

(Not listed on Admin > Diagnostics.) Comma-separated list of keywords to block. Defaults to `null`.

### `CS_CW_KEYWORDS` [link]

(Not listed on Admin > Diagnostics.) Comma-separated list of keywords to add warnings. Defaults to `null`.

### `CS_UNLISTED_KEYWORDS` [link]

(Not listed on Admin > Diagnostics.) Comma-separated list of keywords to remove from public timelines. Defaults to `null`.

### `CS_BLOCKED_ACTOR` [link]

(Not listed on Admin > Diagnostics.) Defaults to `null`.

### `CS_CW_ACTOR` [link]

(Not listed on Admin > Diagnostics.) Defaults to `null`.

### `CS_UNLISTED_ACTOR` [link]

(Not listed on Admin > Diagnostics.) Defaults to `null`.

## DATABASE [link]

### `DB_CONNECTION` [link]

Here you may specify which of the database connections below you wish to use as your default connection for all database work. Of course you may use many connections at once using the Database library. Possible values:

- `"sqlite"`
- `"mysql"` (default)
- `"pgsql"`
- `"sqlsrv"`

### SQLITE [link]

(Not listed on Admin > Diagnostics.) When using `sqlite` for `DB_CONNECTION`.

#### `DB_DATABASE` [link]

(Not listed on Admin > Diagnostics.) Defaults to `"database.sqlite"`.

### MYSQL [link]

(Not listed on Admin > Diagnostics.) When using `"mysql"` for `DB_CONNECTION`.

#### `DB_HOST` [link]

(Not listed on Admin > Diagnostics.) Defaults to `"127.0.0.1"`.

#### `DB_PORT` [link]

(Not listed on Admin > Diagnostics.) Defaults to `"3306"`.

#### `DB_DATABASE` [link]

(Not listed on Admin > Diagnostics.) Defaults to `"forge"`

#### `DB_USERNAME` [link]

(Not listed on Admin > Diagnostics.) Defaults to `"forge"`

#### `DB_PASSWORD` [link]

(Not listed on Admin > Diagnostics.) Defaults to `""`.

#### `DB_SOCKET` [link]

(Not listed on Admin > Diagnostics.) Defaults to `""`.

### PGSQL [link]

(Not listed on Admin > Diagnostics.) When using `"pgsql"` for `DB_CONNECTION`.

#### `DB_HOST` [link]

(Not listed on Admin > Diagnostics.) Defaults to `"127.0.0.1"`.

#### `DB_PORT` [link]

(Not listed on Admin > Diagnostics.) Defaults to `"5432"`.

#### `DB_DATABASE` [link]

(Not listed on Admin > Diagnostics.) Defaults to `forge`.

#### `DB_USERNAME` [link]

(Not listed on Admin > Diagnostics.) Defaults to `forge`.

#### `DB_PASSWORD` [link]

(Not listed on Admin > Diagnostics.) Defaults to `""`.

### SQLSRV [link]

When using `"sqlsrv"` for `DB_CONNECTION`.

#### `DB_HOST` [link]

(Not listed on Admin > Diagnostics.) Defaults to `"localhost"`.

#### `DB_PORT` [link]

(Not listed on Admin > Diagnostics.) Defaults to `"1433"`.

#### `DB_DATABASE` [link]

(Not listed on Admin > Diagnostics.) Defaults to `forge`.

#### `DB_USERNAME` [link]

(Not listed on Admin > Diagnostics.) Defaults to `forge`.

#### `DB_PASSWORD` [link]

(Not listed on Admin > Diagnostics.) Defaults to `""`.

### `REDIS_CLIENT` [link]

- `"predis"` (default)
- `"phpredis"`

#### `REDIS_SCHEME` [link]

(Not listed on Admin > Diagnostics.) Defaults to `"tcp"`.

#### `REDIS_PATH` [link]

(Not listed on Admin > Diagnostics.) No default value.

#### `REDIS_HOST` [link]

(Not listed on Admin > Diagnostics.) Defaults to `"127.0.0.1"`.

#### `REDIS_PASSWORD` [link]

(Not listed on Admin > Diagnostics.) Defaults to `null`.

#### `REDIS_PORT` [link]

(Not listed on Admin > Diagnostics.) Defaults to `6379`.

#### `REDIS_DATABASE` [link]

(Not listed on Admin > Diagnostics.) Defaults to `0`.

## EXP [link]

Experimental configuration options. (Use at your own risk.)

### `EXP_LC` [link]

Hidden like counts (deprecated). Defaults to `false`.

### `EXP_REC` [link]

(Variable is ignored.) Recommendations (deprecated). Defaults to `false`.

### `EXP_LOOPS` [link]

(Variable is ignored.) Loops feature (deprecated). Defaults to `false`.

### `EXP_TOP` [link]

Text only posts (alpha). Defaults to `false`.

### `EXP_POLLS` [link]

Poll statuses (alpha). Defaults to `false`.

### `EXP_CPT` [link]

Cached public timeline for larger instances (beta). Defaults to `false`.

### `EXP_GPS` [link]

Groups (unreleased). Defaults to `false`.

### `spa` [link]

(Variable is ignored.) Single page application (beta). Defaults to `true`.

### `EXP_EMC` [link]

Enforce Mastoapi Compatibility (alpha). Defaults to `true`.

## FEDERATION [link]

### ACTIVITYPUB [link]

ActivityPub configuration.

#### `ACTIVITY_PUB` [link]

Defaults to `false`.

#### `AP_OUTBOX` [link]

Defaults to `true`.

#### `AP_INBOX` [link]

Defaults to `true`.

#### `AP_SHAREDINBOX` [link]

Defaults to `true`.

#### `AP_REMOTE_FOLLOW` [link]

Defaults to `true`.

#### `ACTIVITYPUB_DELIVERY_TIMEOUT` [link]

Defaults to `30.0`.

#### `ACTIVITYPUB_DELIVERY_CONCURRENCY` [link]

Defaults to `10`.

#### `AP_LOGGER_ENABLED` [link]

Defaults to `false`.

### `ATOM_FEEDS` [link]

Defaults to `true`.

### `REMOTE_AVATARS` [link]

Defaults to `true`.

### `NODEINFO` [link]

Defaults to `true`.

### `WEBFINGER` [link]

Defaults to `true`.

### `PF_NETWORK_TIMELINE` [link]

Defaults to `true`.

### `PF_NETWORK_TIMELINE_DAYS_FALLOFF` [link]

Defaults to `2`.

### `CUSTOM_EMOJI` [link]

Defaults to `false`.

### `CUSTOM_EMOJI_MAX_SIZE` [link]

Defaults to `2000000` (2MB).

## FILESYSTEMS [link]

### `FILESYSTEM_DRIVER` [link]

Here you may specify the default filesystem disk that should be used by the framework. The “local” disk, as well as a variety of cloud based disks are available to your application. Just store away! Possible options:

- `"local"` (default)
- `"public"`
- `"s3"`
- `"spaces"`
- `"backup"`

### `FILESYSTEM_CLOUD` [link]

Many applications store files both locally and in the cloud. For this reason, you may specify a default “cloud” driver here. This driver will be bound as the Cloud disk implementation in the container. Defaults to `"s3"`.

### S3 [link]

(Not listed on Admin > Diagnostics.)

#### `AWS_ACCESS_KEY_ID` [link]

(Not listed on Admin > Diagnostics.)

#### `AWS_SECRET_ACCESS_KEY` [link]

(Not listed on Admin > Diagnostics.)

#### `AWS_DEFAULT_REGION` [link]

(Not listed on Admin > Diagnostics.)

#### `AWS_BUCKET` [link]

(Not listed on Admin > Diagnostics.)

#### `AWS_URL` [link]

(Not listed on Admin > Diagnostics.)

#### `AWS_ENDPOINT` [link]

(Not listed on Admin > Diagnostics.)

#### `AWS_USE_PATH_STYLE_ENDPOINT` [link]

(Not listed on Admin > Diagnostics.) Defaults to `false`.

### SPACES [link]

(Not listed on Admin > Diagnostics.)

#### `DO_SPACES_KEY` [link]

(Not listed on Admin > Diagnostics.)

#### `DO_SPACES_SECRET` [link]

(Not listed on Admin > Diagnostics.)

#### `DO_SPACES_ENDPOINT` [link]

(Not listed on Admin > Diagnostics.)

#### `DO_SPACES_REGION` [link]

(Not listed on Admin > Diagnostics.)

#### `DO_SPACES_BUCKET` [link]

(Not listed on Admin > Diagnostics.)

#### `DO_SPACES_ROOT` [link]

(Not listed on Admin > Diagnostics.)

### BACKUP [link]

(Not listed on Admin > Diagnostics.)

#### `PF_BACKUP_DRIVER` [link]

(Not listed on Admin > Diagnostics.) Defaults to `"s3"`.

#### `PF_BACKUP_ROOT` [link]

(Not listed on Admin > Diagnostics.) Defaults to `"/"`.

#### `PF_BACKUP_KEY` [link]

(Not listed on Admin > Diagnostics.)

#### `PF_BACKUP_SECRET` [link]

(Not listed on Admin > Diagnostics.)

#### `PF_BACKUP_ENDPOINT` [link]

(Not listed on Admin > Diagnostics.)

#### `PF_BACKUP_REGION` [link]

(Not listed on Admin > Diagnostics.)

#### `PF_BACKUP_BUCKET` [link]

(Not listed on Admin > Diagnostics.)

## HASHIDS [link]

(Not listed on Admin > Diagnostics.)

### `APP_HASHID_SALT` [link]

(Not listed on Admin > Diagnostics.) Defaults to `"v3MsJ1Hgnlma8YPrD3f4sW6vAn6zLnkuh6vOpKnR5IKkLqDGIk7TCADS2igpEN4ADrtXkkzV2E8HBfzpz7BreDzQqVOYDMeb4cJ1xhDhDwDeicZVUPyrxihHDaMWpTsP"`.

## HASHING [link]

This option controls the default hash driver that will be used to hash passwords for your application. By default, the bcrypt algorithm is used; however, you remain free to modify this option if you wish. Possible drivers are `bcrypt` and `argon`, but this requires manual editing of `driver` (which is hardcoded as `bcrypt`).

### BCRYPT [link]

#### `BCRYPT_COST` [link]

How many rounds of hashing to use. Defaults to `10`.

### ARGON [link]

(Not listed on Admin > Diagnostics.)

#### `ARGON_MEM` [link]

(Not listed on Admin > Diagnostics.) Defaults to `1024`.

#### `ARGON_THREADS` [link]

(Not listed on Admin > Diagnostics.) Defaults to `2`.

#### `ARGON_TIME` [link]

(Not listed on Admin > Diagnostics.) Defaults to `2`.

## HORIZON [link]

### `HORIZON_PREFIX` [link]

This prefix will be used when storing all Horizon data in Redis. You may modify the prefix when you are running multiple installations of Horizon on the same server so that they don’t have problems. Defaults to `"horizon-"`.

### `HORIZON_MEMORY_LIMIT` (MB) [link]

This value describes the maximum amount of memory (in MB) the Horizon worker may consume before it is terminated and restarted. You should set this value according to the resources available to your server. Defaults to `64`.

### `HORIZON_BALANCE_STRATEGY` [link]

Defaults to `"auto"`.

### `HORIZON_MIN_PROCESSES` [link]

Defaults to `1`.

### `HORIZON_MAX_PROCESSES` [link]

Defaults to `20`.

### `HORIZON_SUPERVISOR_MEMORY` [link]

Defaults to `64`.

### `HORIZON_SUPERVISOR_TRIES` [link]

Defaults to `3`.

### `HORIZON_SUPERVISOR_NICE` [link]

Defaults to `0`.

### `HORIZON_SUPERVISOR_TIMEOUT` [link]

Defaults to `300`.

### `HORIZON_DARKMODE` [link]

Defaults to `false`.

## IMAGE [link]

### `IMAGE_DRIVER` [link]

Pixelfed supports GD
or ImageMagick
to process images. Defaults to `gd`. Set `IMAGE_DRIVER=imagick` to use ImageMagick instead.

## INSTANCE [link]

### `FORCE_HTTPS_URLS` [link]

(Not listed on Admin > Diagnostics.) Defaults to `true`.

### `INSTANCE_DESCRIPTION` [link]

Defaults to `"Pixelfed - Photo sharing for everyone"`.

### `INSTANCE_CONTACT_FORM` [link]

Defaults to `false`.

### `INSTANCE_CONTACT_MAX_PER_DAY` [link]

Defaults to `1`.

### `INSTANCE_DISCOVER_PUBLIC` [link]

Defaults to `false`.

### `EXP_LOOPS` [link]

See `EXP`, although here it actually is used. Defaults to `false`.

### `INSTANCE_PUBLIC_HASHTAGS` [link]

Defaults to `false`.

### `INSTANCE_CONTACT_EMAIL` [link]

Defaults to `""`.

### `PF_HOME_TIMELINE_CACHE` [link]

Defaults to `false`.

### `PF_HOME_TIMELINE_CACHE_TTL` [link]

Defaults to `900`.

### `INSTANCE_PUBLIC_LOCAL_TIMELINE` [link]

Defaults to `false`.

### `INSTANCE_NETWORK_TIMELINE_CACHED` [link]

Defaults to `true`. Only used when `PF_NETWORK_TIMELINE` is `true`.

### `INSTANCE_NETWORK_TIMELINE_CACHE_DROPOFF` [link]

Defaults to `100`.

### `INSTANCE_NETWORK_TIMELINE_CACHE_MAX_HOUR_INGEST` [link]

Defaults to `6`.

### `PAGE_404_HEADER` [link]

Defaults to `"Sorry, this page isn't available."`.

### `PAGE_404_BODY` [link]

Defaults to `""The link you followed may be broken, or the page may have been removed. <a href="/">Go back to Pixelfed.</a>""`.

### `PAGE_503_HEADER` [link]

Defaults to `"Service Unavailable"`.

### `PAGE_503_BODY` [link]

Defaults to `"Our service is in maintenance mode, please try again later."`.

### `BANNED_USERNAMES` [link]

Defaults to `""`.

### `USERNAME_REMOTE_FORMAT` [link]

Possible values:

- `"@"` (default)
- `"from"`
- `"custom"`

### `USERNAME_REMOTE_CUSTOM_TEXT` [link]

Used when `USERNAME_REMOTE_FORMAT="custom"`. Defaults to `null`.

### `STORIES_ENABLED` [link]

Defaults to `false`.

### `RESTRICTED_INSTANCE` [link]

Defaults to `false`. Level is hardcoded to `1`.

### `OAUTH_TOKEN_DAYS` [link]

Defaults to `365`.

### `OAUTH_REFRESH_DAYS` [link]

Defaults to `400`.

### `OAUTH_PAT_ENABLED` [link]

Defaults to `false`.

### `OAUTH_PAT_ID` [link]

Defaults to `""`.

### `ENABLE_COVID_LABEL` [link]

Defaults to `true`.

### `COVID_LABEL_URL` [link]

Defaults to `"https://www.who.int/emergencies/diseases/novel-coronavirus-2019/advice-for-public"`.

### `COVID_LABEL_ORG` [link]

Defaults to `"visit the WHO website"`.

### `ENABLE_CONFIG_CACHE` [link]

Whether Admin > Settings can be used to override your `.env`. Defaults to `false`.

### `INSTANCE_LEGAL_NOTICE` [link]

Defaults to `false`.

### `INSTANCE_PROFILE_EMBEDS` [link]

Defaults to `true`.

### `INSTANCE_POST_EMBEDS` [link]

Defaults to `true`.

### `PF_HIDE_NSFW_ON_PUBLIC_FEEDS` [link]

Defaults to `false`.

### `PF_LOCAL_AVATAR_TO_CLOUD` [link]

Defaults to `false`.

### `PF_ADMIN_INVITES_ENABLED` [link]

Defaults to `true`.

## LDAP [link]

Here you may specify which of the LDAP connections below you wish to use as your default connection for all LDAP operations. Of course you may add as many connections you’d like below.

### `LDAP_CONNECTION` [link]

Defaults to `"default"`.

### DEFAULT [link]

(Not listed on Admin > Diagnostics.)

#### `LDAP_HOST` [link]

(Not listed on Admin > Diagnostics.) Defaults to `"127.0.0.1"`.

#### `LDAP_USERNAME` [link]

(Not listed on Admin > Diagnostics.) Defaults `"cn=user,dc=local,dc=com"`.

#### `LDAP_PASSWORD` [link]

(Not listed on Admin > Diagnostics.) Defaults to `"secret"`.

#### `LDAP_PORT` [link]

(Not listed on Admin > Diagnostics.) Defaults to `389`.

#### `LDAP_BASE_DN` [link]

(Not listed on Admin > Diagnostics.) Defaults to `"dc=local,dc=com"`.

#### `LDAP_TIMEOUT` [link]

(Not listed on Admin > Diagnostics.) Defaults to `5`.

#### `LDAP_SSL` [link]

(Not listed on Admin > Diagnostics.) Defaults to `false`.

#### `LDAP_TLS` [link]

(Not listed on Admin > Diagnostics.) Defaults to `false`.

### `LDAP_LOGGING` [link]

When LDAP logging is enabled, all LDAP search and authentication operations are logged using the default application logging driver. This can assist in debugging issues and more. Defaults to `true`.

### CACHE [link]

LDAP caching enables the ability of caching search results using the query builder. This is great for running expensive operations that may take many seconds to complete, such as a pagination request.

#### `LDAP_CACHE` [link]

Defaults to `false`.

#### `CACHE_DRIVER` [link]

See `CACHE`. Defaults to `"file"`.

## LIVESTREAMING [link]

(Not listed on Admin > Diagnostics.)

### `HLS_LIVE` [link]

(Not listed on Admin > Diagnostics.) Defaults to `false`.

### `HLS_LIVE_HOST` [link]

(Not listed on Admin > Diagnostics.) Defaults to `APP_DOMAIN` or `"localhost"`.

### `HLS_LIVE_PORT` [link]

(Not listed on Admin > Diagnostics.) Defaults to `1935`.

### `HLS_LIVE_PATH` [link]

(Not listed on Admin > Diagnostics.) Defaults to `"live"`.

### `HLS_LIVE_BROADCAST_DELETE_TOKEN_AFTER` [link]

(Not listed on Admin > Diagnostics.) Defaults to `true`.

### `HLS_LIVE_BROADCAST_MAX_DURATION` [link]

(Not listed on Admin > Diagnostics.) Defaults to `60`.

### `HLS_LIVE_BROADCAST_MAX_ACTIVE` [link]

(Not listed on Admin > Diagnostics.) Defaults to `10`.

### `HLS_LIVE_BROADCAST_LIMITS` [link]

(Not listed on Admin > Diagnostics.) Defaults to `true`.

### `HLS_LIVE_BROADCAST_LIMITS_MIN_FOLLOWERS` [link]

(Not listed on Admin > Diagnostics.) Defaults to `100`.

### `HLS_LIVE_BROADCAST_LIMITS_MIN_ACCOUNT_AGE` [link]

(Not listed on Admin > Diagnostics.) Defaults to `14`.

### `HLS_LIVE_BROADCAST_LIMITS_ADMINS_ONLY` [link]

(Not listed on Admin > Diagnostics.) Defaults to `true`.

### `HLS_LIVE_BROADCAST_SOURCE_APP` [link]

(Not listed on Admin > Diagnostics.) Defaults to `false`.

### `HLS_LIVE_BROADCAST_SOURCE_WEB` [link]

(Not listed on Admin > Diagnostics.) Defaults to `false`.

### `HLS_LIVE_COMMENTS_MAX_FALLOFF` [link]

(Not listed on Admin > Diagnostics.) Defaults to `50`.

## LOGGING [link]

### `LOG_CHANNEL` [link]

Possible values:

- `"stack"` (default)
- `"single"`
- `"daily"`
- `"slack"`
- `"stderr"`
- `"syslog"`
- `"errorlog"`
- `"null"`
- `"emergency"`
- `"media"`

### `LOG_LEVEL` [link]

Used by `single`, `stderr` and `syslog`. Defaults to `"debug"` for all of those.

### `LOG_SLACK_WEBHOOK_URL` [link]

(Not listed on Admin > Diagnostics.) Used by `slack`. Defaults to `""`.

### `LOG_STDERR_FORMATTER` [link]

(Not listed on Admin > Diagnostics.) Used by `stderr`. Defaults to `""`.

## MAIL [link]

### `MAIL_DRIVER` [link]

Laravel supports both SMTP and PHP’s “mail” function as drivers for the sending of e-mail. You may specify which one you’re using throughout your application here. Possible values:

- `"smtp"` (default)
- `"sendmail"`
- `"mailgun"`
- `"mandrill"`
- `"ses"`
- `"sparkpost"`
- `"log"`
- `"array"`

### `MAIL_HOST` [link]

Here you may provide the host address of the SMTP server used by your applications. A default option is provided that is compatible with the Mailgun mail service which will provide reliable deliveries. Defaults to `"smtp.mailgun.org"`.

### `MAIL_PORT` [link]

This is the SMTP port used by your application to deliver e-mails to users of the application. Like the host we have set this value to stay compatible with the Mailgun e-mail application by default. Defaults to `587`.

### `MAIL_FROM_ADDRESS` [link]

You may wish for all e-mails sent by your application to be sent from the same address. Here, you may specify a name and address that is used globally for all e-mails that are sent by your application. Defaults to `"hello@example.com"`.

### `MAIL_FROM_NAME` [link]

Defaults to `"Example"`.

### `MAIL_ENCRYPTION` [link]

Here you may specify the encryption protocol that should be used when the application send e-mail messages. A sensible default using the transport layer security protocol should provide great security. Defaults to `"tls"`.

### `MAIL_USERNAME` [link]

(Not listed on Admin > Diagnostics.) If your SMTP server requires a username for authentication, you should set it here. This will get used to authenticate with your server on connection. You may also set the “password” value below this one. Defaults to `""`.

### `MAIL_PASSWORD` [link]

(Not listed on Admin > Diagnostics.) Defaults to `""`.

## MEDIA [link]

### `MEDIA_DELETE_LOCAL_AFTER_CLOUD` [link]

(Not listed on Admin > Diagnostics.) Defaults to `true`.

### `MEDIA_EXIF_DATABASE` [link]

Defaults to `false`.

## PASSPORT [link]

(Not listed on Admin > Diagnostics.) Passport uses encryption keys while generating secure access tokens for your application. By default, the keys are stored as local files but can be set via environment variables when that is more convenient.

### `PASSPORT_PRIVATE_KEY` [link]

(Not listed on Admin > Diagnostics.)

### `PASSPORT_PUBLIC_KEY` [link]

(Not listed on Admin > Diagnostics.)

## PIXELFED [link]

### `ADMIN_DOMAIN` [link]

Application domains used for routing.

### `APP_DOMAIN` [link]

Application domains used for routing.

### `MEMORY_LIMIT` [link]

This `memory_limit` value is only used for image processing. The default `memory_limit` in `php.ini` is used for the rest of the app. Defaults to `"1024M"`.

### `OPEN_REGISTRATION` [link]

Enable/disable new local account registrations. Defaults to `true`.

### `MAX_ACCOUNT_SIZE` (kB) [link]

Update the max account size, the per user limit of files in kB. Defaults to `1000000` (1GB).

### `MAX_PHOTO_SIZE` (kB) [link]

Update the max photo size, in kB. Defaults to `15000` (15MB).

### `MAX_AVATAR_SIZE` (kB) [link]

Update the max avatar size, in kB. Defaults to `2000` (2MB).

### `MAX_CAPTION_LENGTH` [link]

Change the caption length limit for new local posts. Defaults to `500`.

### `MAX_BIO_LENGTH` [link]

Change the bio length limit for user profiles. Defaults to `125`.

### `MAX_NAME_LENGTH` [link]

Change the length limit for user names. Defaults to `30`.

### `MIN_PASSWORD_LENGTH` [link]

Change the minimum length limit for user passwords. Defaults to `8`.

### `MAX_ALBUM_LENGTH` [link]

The max number of photos allowed per post. Defaults to `4`.

### `ENFORCE_EMAIL_VERIFICATION` [link]

Require email verification before a new user can do anything. Defaults to `true`.

### `IMAGE_QUALITY` [link]

Set the image optimization quality, must be a value between 1-100. Defaults to `80`.

### `ACCOUNT_DELETION` [link]

Enable account deletion. Defaults to `true`.

### `ACCOUNT_DELETE_AFTER` [link]

Set account deletion queue after X days, set to false to delete accounts immediately. Defaults to `false`.

### `PF_ENABLE_CLOUD` [link]

Store media on object storage like S3, Digital Ocean Spaces, Rackspace Defaults to `false`.

### `PF_MAX_USERS` [link]

Allow a maximum number of user accounts. Defaults to `false`.

### `PF_OPTIMIZE_IMAGES` [link]

Resize and optimize image uploads. Defaults to `true`.

### `PF_OPTIMIZE_VIDEOS` [link]

Resize and optimize video uploads. Defaults to `true`.

### `PF_USER_INVITES` [link]

Allow users to invite others via email. Will respect max user limit and prevent invites after the limit is reached. Defaults to `false`.

### `PF_USER_INVITES_TOTAL_LIMIT` [link]

Defaults to `0`.

### `PF_USER_INVITES_DAILY_LIMIT` [link]

Defaults to `0`.

### `PF_USER_INVITES_MONTHLY_LIMIT` [link]

Defaults to `0`.

### `PF_MAX_COLLECTION_LENGTH` [link]

Defaults to `100`.

### `MEDIA_TYPES` [link]

Defaults to `"image/jpeg,image/png,image/gif"`.

### `LIMIT_ACCOUNT_SIZE` [link]

Defaults to `true`.

### `IMPORT_INSTAGRAM` [link]

Defaults to `false`.

### `IMPORT_INSTAGRAM_POST_LIMIT` [link]

Defaults to `100`.

### `IMPORT_INSTAGRAM_SIZE_LIMIT` [link]

Defaults to `5000`.

### `OAUTH_ENABLED` [link]

Defaults to `false`.

### `PF_BOUNCER_ENABLED` [link]

Defaults to `false`.

### `PF_MEDIA_FAST_PROCESS` [link]

Don’t require photos & video to finish optimization & upload to S3 if enabled before posting. If disabled users will have to wait until processed before posting, sacrificing the user experience to ensure media is federated using S3 urls (if enabled). Defaults to `true`.

### `PF_MEDIA_MAX_ALTTEXT_LENGTH` [link]

Defaults to `1000`.

### `PF_ALLOW_APP_REGISTRATION` [link]

Defaults to `true`.

## PORTFOLIO [link]

(Not listed on Admin > Diagnostics.)

### `PORTFOLIO_DOMAIN` [link]

(Not listed on Admin > Diagnostics.) This value is the domain used for the portfolio feature. Only change the default value if you have a subdomain configured. You must use a subdomain on the same app domain. Defaults to `APP_DOMAIN`.

### `PORTFOLIO_PATH` [link]

(Not listed on Admin > Diagnostics.) This value is the path used for the portfolio feature. Only change the default value if you have a subdomain configured. If you want to use the root path of the subdomain, leave this value empty.

WARNING: SETTING THIS VALUE WITHOUT A SUBDOMAIN COULD BREAK YOUR INSTANCE, SO ONLY CHANGE THIS IF YOU KNOW WHAT YOU’RE DOING.

Defaults to `"/i/portfolio"`.

## PURIFY [link]

### `RESTRICT_HTML_TYPES` [link]

Defaults to `true`.

## `RESILIENT_MODE` [link]

(Not listed on Admin > Diagnostics.) This mode allows you to define up to 2 alternate S3 cloud providers for a total of 3 S3 providers for redundancy.

To enable the primary alternate S3 driver, ensure you set the following .env variables:

- `ALT_PRI_ENABLED=true`
- `ALT_PRI_AWS_ACCESS_KEY_ID=KEYID`
- `ALT_PRI_AWS_SECRET_ACCESS_KEY=SECRET`
- `ALT_PRI_AWS_DEFAULT_REGION=REGION`
- `ALT_PRI_AWS_URL=URL`
- `ALT_PRI_AWS_ENDPOINT=ENDPOINT`

To enable the secondary alternate S3 driver, ensure you set the following .env variables:

- `ALT_SEC_ENABLED=true`
- `ALT_SEC_AWS_ACCESS_KEY_ID=KEYID`
- `ALT_SEC_AWS_SECRET_ACCESS_KEY=SECRET`
- `ALT_SEC_AWS_DEFAULT_REGION=REGION`
- `ALT_SEC_AWS_URL=URL`
- `ALT_SEC_AWS_ENDPOINT=ENDPOINT`

## QUEUE [link]

### `QUEUE_DRIVER` [link]

- `"sync"` (default)
- `"database"`
- `"beanstalkd"`
- `"sqs"`
- `"redis"`
- `"null"`

### SQS [link]

(Not listed on Admin > Diagnostics.)

#### `SQS_KEY` [link]

(Not listed on Admin > Diagnostics.) Defaults to `"your-public-key"`.

#### `SQS_SECRET` [link]

(Not listed on Admin > Diagnostics.) Defaults to `"your-secret-key"`.

#### `SQS_PREFIX` [link]

(Not listed on Admin > Diagnostics.) Defaults to `"https://sqs.us-east-1.amazonaws.com/your-account-id"`.

#### `SQS_QUEUE` [link]

(Not listed on Admin > Diagnostics.) Defaults to `"your-queue-name"`.

#### `SQS_REGION` [link]

(Not listed on Admin > Diagnostics.) Defaults to `"us-east-1"`.

### DB_CONNECTION [link]

(Not listed on Admin > Diagnostics.) See `DB_CONNECTION`. These options configure the behavior of failed queue job logging so you can control which database and table are used to store the jobs that have failed. You may change them to any database / table you wish. Defaults to `"mysql"`.

## SERVICES [link]

(Not listed on Admin > Diagnostics.)

### MAILGUN [link]

(Not listed on Admin > Diagnostics.)

#### `MAILGUN_DOMAIN` [link]

(Not listed on Admin > Diagnostics.)

#### `MAILGUN_SECRET` [link]

(Not listed on Admin > Diagnostics.)

### SES [link]

(Not listed on Admin > Diagnostics.)

#### `SES_KEY` [link]

(Not listed on Admin > Diagnostics.)

#### `SES_SECRET` [link]

(Not listed on Admin > Diagnostics.)

#### `SES_REGION` [link]

(Not listed on Admin > Diagnostics.) Defaults to `"us-east-1"`.

### SPARKPOST [link]

(Not listed on Admin > Diagnostics.)

#### `SPARKPOST_SECRET` [link]

(Not listed on Admin > Diagnostics.)

### STRIPE [link]

(Not listed on Admin > Diagnostics.)

#### `STRIPE_KEY` [link]

(Not listed on Admin > Diagnostics.)

#### `STRIPE_SECRET` [link]

(Not listed on Admin > Diagnostics.)

## SESSION [link]

### `SESSION_DRIVER` [link]

This option controls the default session “driver” that will be used on requests. By default, we will use the lightweight native driver but you may specify any of the other wonderful drivers provided here.

- `"file"`
- `"cookie"`
- `"database"` (default)
- `"apc"`
- `"memcached"`
- `"redis"`
- `"array"`

### `SESSION_LIFETIME` [link]

Here you may specify the number of minutes that you wish the session to be allowed to remain idle before it expires. If you want them to immediately expire on the browser closing, set that option. Defaults to `86400`.

### `SESSION_DOMAIN` [link]

Here you may change the domain of the cookie used to identify a session in your application. This will determine which domains the cookie is available to in your application. A sensible default has been set. Defaults to the value of `APP_DOMAIN`, or `null`.

## VIDEO WEBP2P [link]

(Not listed on Admin > Diagnostics.) WebP2P support for local video that uses peer-to-peer technology to reduce load on individual servers when viewing video.

### `MEDIA_HLS_ENABLED` [link]

Set to `true` to enable HLS generation, required for WebP2P support and alone allows for better viewing experiences. Disabled by default.

### `MEDIA_HLS_P2P` [link]

Set to `true` to enable WebP2P support. Requires `MEDIA_HLS_ENABLED=true`. Disabled by default.

### `MEDIA_HLS_BITRATE` [link]

Set the default HLS bitrate. We recommend using the default value of `1000` unless you know what you are doing.

### `MEDIA_HLS_P2P_TRACKER` [link]

Set the WebP2P torrent tracker. The default tracker is `wss://tracker.webtorrent.dev`

### `MEDIA_HLS_P2P_ICE_SERVER` [link]

Set the WebP2P signaling server. The default server is `stun:stun.l.google.com:19302`

### `MEDIA_HLS_DEBUG` [link]

Set to `true` to enable debug mode that logs to browser console log. Disabled by default.

### `MEDIA_HLS_P2P_DEBUG` [link]

Set to `true` to enable debug mode that logs WebP2P events to browser console log. Disabled by default.

## TELESCOPE [link]

(Not listed on Admin > Diagnostics.)

### `TELESCOPE_DRIVER` [link]

(Not listed on Admin > Diagnostics.) This configuration options determines the storage driver that will be used to store Telescope’s data. In addition, you may set any custom options as needed by the particular driver you choose. Defaults to `"database"`.

### `TELESCOPE_ENABLED` [link]

(Not listed on Admin > Diagnostics.) This option may be used to disable all Telescope watchers regardless of their individual configuration, which simply provides a single and convenient way to enable or disable Telescope data storage. Defaults to `false`.

### `TELESCOPE_CACHE_WATCHER` [link]

(Not listed on Admin > Diagnostics.) Defaults to `true`.

### `TELESCOPE_COMMAND_WATCHER` [link]

(Not listed on Admin > Diagnostics.) Defaults to `true`.

### `TELESCOPE_DUMP_WATCHER` [link]

(Not listed on Admin > Diagnostics.) Defaults to `true`.

### `TELESCOPE_EVENT_WATCHER` [link]

(Not listed on Admin > Diagnostics.) Defaults to `true`.

### `TELESCOPE_EXCEPTION_WATCHER` [link]

(Not listed on Admin > Diagnostics.) Defaults to `true`.

### `TELESCOPE_JOB_WATCHER` [link]

(Not listed on Admin > Diagnostics.) Defaults to `true`.

### `TELESCOPE_LOG_WATCHER` [link]

(Not listed on Admin > Diagnostics.) Defaults to `true`.

### `TELESCOPE_MAIL_WATCHER` [link]

(Not listed on Admin > Diagnostics.) Defaults to `true`.

### `TELESCOPE_MODEL_WATCHER` [link]

(Not listed on Admin > Diagnostics.) Defaults to `true`.

### `TELESCOPE_NOTIFICATION_WATCHER` [link]

(Not listed on Admin > Diagnostics.) Defaults to `true`.

### `TELESCOPE_QUERY_WATCHER` [link]

(Not listed on Admin > Diagnostics.) Defaults to `true`.

### `TELESCOPE_REDIS_WATCHER` [link]

(Not listed on Admin > Diagnostics.) Defaults to `true`.

### `TELESCOPE_REQUEST_WATCHER` [link]

(Not listed on Admin > Diagnostics.) Defaults to `true`.

### `TELESCOPE_RESPONSE_SIZE_LIMIT` [link]

(Not listed on Admin > Diagnostics.) Defaults to `64`.

### `TELESCOPE_GATE_WATCHER` [link]

(Not listed on Admin > Diagnostics.) Defaults to `true`.

### `TELESCOPE_SCHEDULE_WATCHER` [link]

(Not listed on Admin > Diagnostics.) Defaults to `true`.

## TRUSTEDPROXY [link]

### `TRUST_PROXIES` [link]

Set trusted proxy IP addresses.

Both IPv4 and IPv6 addresses are supported, along with CIDR notation.

The “*” character is syntactic sugar within TrustedProxy to trust any proxy that connects directly to your server, a requirement when you cannot know the address of your proxy (e.g. if using Rackspace balancers).

The “**” character is syntactic sugar within TrustedProxy to trust not just any proxy that connects directly to your server, but also proxies that connect to those proxies, and all the way back until you reach the original source IP. It will mean that $request->getClientIp() always gets the originating client IP, no matter how many proxies that client’s request has subsequently passed through.

Defaults to `"*"`.

## WEBSOCKETS [link]

(Not listed on Admin > Diagnostics.)

### DASHBOARD SETTINGS [link]

(Not listed on Admin > Diagnostics.) You can configure the dashboard settings from here.

#### `LARAVEL_WEBSOCKETS_PORT` [link]

(Not listed on Admin > Diagnostics.) Defaults to `6001`.

#### `LARAVEL_WEBSOCKETS_DOMAIN` [link]

(Not listed on Admin > Diagnostics.) Defaults to `""`.

#### `LARAVEL_WEBSOCKETS_PATH` [link]

(Not listed on Admin > Diagnostics.) Defaults to `"laravel-websockets"`.

### APPLICATIONS REPOSITORY [link]

(Not listed on Admin > Diagnostics.)

#### `PUSHER_APP_ID` [link]

(Not listed on Admin > Diagnostics.) See PUSHER.

#### `APP_NAME` [link]

(Not listed on Admin > Diagnostics.) See APP.

#### `PUSHER_APP_HOST` [link]

(Not listed on Admin > Diagnostics.)

#### `PUSHER_APP_KEY` [link]

(Not listed on Admin > Diagnostics.) See PUSHER.

#### `PUSHER_APP_SECRET` [link]

(Not listed on Admin > Diagnostics.) See PUSHER.

#### `PUSHER_APP_PATH` [link]

(Not listed on Admin > Diagnostics.)

### BROADCASTING REPLICATION PUBSUB [link]

(Not listed on Admin > Diagnostics.) You can enable replication to publish and subscribe to messages across the driver.

By default, it is set to `"local"`, but you can configure it to use drivers like Redis to ensure connection between multiple instances of WebSocket servers. Just set the driver to `"redis"` to enable the PubSub using Redis.

#### `WEBSOCKETS_REPLICATION_MODE` [link]

(Not listed on Admin > Diagnostics.) Defaults to `"local"`.

#### `WEBSOCKETS_REDIS_REPLICATION_CONNECTION` [link]

(Not listed on Admin > Diagnostics.) See REDIS. Defaults to `"default"`.

### SSL CONFIGURATION [link]

(Not listed on Admin > Diagnostics.) By default, the configuration allows only on HTTP. For SSL, you need to set up the the certificate, the key, and optionally, the passphrase for the private key. You will need to restart the server for the settings to take place.

#### `LARAVEL_WEBSOCKETS_SSL_LOCAL_CERT` [link]

(Not listed on Admin > Diagnostics.) Defaults to `null`.

#### `LARAVEL_WEBSOCKETS_SSL_CA` [link]

(Not listed on Admin > Diagnostics.) Defaults to `null`.

#### `LARAVEL_WEBSOCKETS_SSL_LOCAL_PK` [link]

(Not listed on Admin > Diagnostics.) Defaults to `null`.

#### `LARAVEL_WEBSOCKETS_SSL_PASSPHRASE` [link]

(Not listed on Admin > Diagnostics.) Defaults to `null`.