Skip to content

.env settings

Info

This is an autogenerated page containing all the settings from the default .env.docker file. Below is a quick overview of the most frequently changed sections

Pixelfed settings

Docker settings

App

APP_NAME

docs.pixelfed.org

The name/title for your site

Validation rules:

  • required
  • ne=My Pixelfed Site

APP_DOMAIN

docs.pixelfed.org

Application domain used for routing. (e.g., pixelfed.org)

Validation rules:

  • required
  • ne=pixelfed.org
  • fqdn

APP_URL

https://${APP_DOMAIN} docs.pixelfed.org

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.

Validation rules:

  • required
  • http_url

ADMIN_DOMAIN

${APP_DOMAIN} docs.pixelfed.org

Application domains used for routing.

Validation rules:

  • required
  • fqdn

APP_ENV

production docs.pixelfed.org

This value determines the “environment” your application is currently running in. This may determine how you prefer to configure various services your application utilizes.

Validation rules:

  • oneof=production dev staging

APP_DEBUG

false docs.pixelfed.org

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.

Validation rules:

  • boolean

ENABLE_CONFIG_CACHE

true docs.pixelfed.org

Disable config cache

If disabled, settings must be managed by .env variables.

Validation rules:

  • boolean

OPEN_REGISTRATION

true docs.pixelfed.org

Enable/disable new local account registrations.

Validation rules:

  • boolean

ENFORCE_EMAIL_VERIFICATION

true docs.pixelfed.org

Require email verification before a new user can do anything.

Validation rules:

  • boolean

PF_MAX_USERS

1000 docs.pixelfed.org

Allow a maximum number of user accounts.

Validation rules:

  • number

PF_ENFORCE_MAX_USERS

true

Enforce the maximum number of user accounts

Validation rules:

  • boolean

OAUTH_ENABLED

false docs.pixelfed.org

Validation rules:

  • boolean

APP_TIMEZONE

UTC docs.pixelfed.org

Do not edit your timezone once the service is running - or things will break!

Validation rules:

  • required
  • timezone

APP_LOCALE

en docs.pixelfed.org

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.

APP_FALLBACK_LOCALE

en docs.pixelfed.org

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.

LIMIT_ACCOUNT_SIZE

true docs.pixelfed.org

Validation rules:

  • boolean

MAX_ACCOUNT_SIZE

1000000 docs.pixelfed.org

Update the max account size, the per user limit of files in kB.

Validation rules:

  • number

MAX_PHOTO_SIZE

15000 docs.pixelfed.org

Update the max photo size, in kB.

Validation rules:

  • number

MAX_ALBUM_LENGTH

4 docs.pixelfed.org

The max number of photos allowed per post.

Validation rules:

  • number

MAX_AVATAR_SIZE

2000 docs.pixelfed.org

Update the max avatar size, in kB.

Validation rules:

  • number

MAX_CAPTION_LENGTH

500 docs.pixelfed.org

Change the caption length limit for new local posts.

Validation rules:

  • number

MAX_BIO_LENGTH

125 docs.pixelfed.org

Change the bio length limit for user profiles.

Validation rules:

  • number

MAX_NAME_LENGTH

30 docs.pixelfed.org

Change the length limit for user names.

Validation rules:

  • number

PF_OPTIMIZE_IMAGES

true docs.pixelfed.org

Resize and optimize image uploads.

Validation rules:

  • boolean

IMAGE_QUALITY

80 docs.pixelfed.org

Set the image optimization quality, must be a value between 1-100.

Validation rules:

  • number

PF_OPTIMIZE_VIDEOS

true docs.pixelfed.org

Resize and optimize video uploads.

Validation rules:

  • boolean

ACCOUNT_DELETION

true docs.pixelfed.org

Enable account deletion.

Validation rules:

  • boolean

ACCOUNT_DELETE_AFTER

false docs.pixelfed.org

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

Validation rules:

  • boolean|number

INSTANCE_DESCRIPTION

docs.pixelfed.org

INSTANCE_PUBLIC_HASHTAGS

false docs.pixelfed.org

Validation rules:

  • boolean

INSTANCE_CONTACT_EMAIL

__CHANGE_ME__ docs.pixelfed.org

The public e-mail address people can use to contact you by

Validation rules:

  • required
  • ne=__CHANGE_ME__
  • email

INSTANCE_PUBLIC_LOCAL_TIMELINE

false docs.pixelfed.org

Validation rules:

  • boolean

INSTANCE_REPORTS_EMAIL_ENABLED

false

Validation rules:

  • boolean

INSTANCE_REPORTS_EMAIL_ADDRESSES

your@email.example

Send email reports for auto-spam detections to this e-mail

INSTANCE_REPORTS_EMAIL_AUTOSPAM

false

Send email reports on 'autospam'

Validation rules:

  • boolean

BANNED_USERNAMES

docs.pixelfed.org

STORIES_ENABLED

false docs.pixelfed.org

Validation rules:

  • boolean

RESTRICTED_INSTANCE

false docs.pixelfed.org

Level is hardcoded to 1.

Validation rules:

  • boolean

MEDIA_EXIF_DATABASE

false docs.pixelfed.org

Validation rules:

  • boolean

IMAGE_DRIVER

gd docs.pixelfed.org

Pixelfed supports GD or ImageMagick to process images.

Possible values:

  • gd
  • imagick

Validation rules:

  • oneof=gd imagick

TRUST_PROXIES

* docs.pixelfed.org

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.

CACHE_DRIVER

redis docs.pixelfed.org

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
  • memcached
  • redis

Validation rules:

  • required
  • oneof=apc array database file memcached redis

CACHE_PREFIX

{APP_NAME}_cache docs.pixelfed.org

BROADCAST_DRIVER

redis docs.pixelfed.org

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

Validation rules:

  • oneof=pusher redis log null

RESTRICT_HTML_TYPES

true docs.pixelfed.org

Validation rules:

  • boolean

PASSPORT_PRIVATE_KEY

docs.pixelfed.org

Validation rules:

  • required

PASSPORT_PUBLIC_KEY

docs.pixelfed.org

Validation rules:

  • required

Curated Onboarding

INSTANCE_CUR_REG

false

Enable or disable curated onboarding

Validation rules:

  • boolean

INSTANCE_CUR_REG_RESEND_LIMIT

5

How many times user may request resending of confirmation emails

Validation rules:

  • number

INSTANCE_CUR_REG_CAPTCHA

false

How many times user may request resending of confirmation emails

Validation rules:

  • boolean

INSTANCE_CUR_REG_NOTIFY_ADMIN_ON_VERIFY_MPD

10

Maximum number of notifications to send per day

Validation rules:

  • number

INSTANCE_CUR_REG_NOTIFY_ADMIN_ON_VERIFY

false

Send email reports on 'verify'

Validation rules:

  • boolean

INSTANCE_CUR_REG_NOTIFY_ADMIN_ON_VERIFY_BUNDLE

false

Validation rules:

  • boolean

INSTANCE_CUR_REG_NOTIFY_ADMIN_ON_USER_RESPONSE

false

Send notification on user response

Validation rules:

  • boolean

Database

DB_VERSION

11.4 hub.docker.com

Database version to use (as Docker tag)

Validation rules:

  • required

DB_CONNECTION

mysql docs.pixelfed.org

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
  • pgsql
  • sqlsrv

Validation rules:

  • required
  • oneof=sqlite mysql pgsql sqlsrv

DB_HOST

db docs.pixelfed.org

Validation rules:

  • required
  • hostname

DB_USERNAME

pixelfed docs.pixelfed.org

Validation rules:

  • required

DB_PASSWORD

__CHANGE_ME__ docs.pixelfed.org

The password to your database. Please make it secure. Use a site like https://pwgen.io/ to generate it

Validation rules:

  • required
  • ne=__CHANGE_ME__

DB_DATABASE

pixelfed_prod docs.pixelfed.org

Validation rules:

  • required

DB_PORT

3306 docs.pixelfed.org

Use "3306" for MySQL/MariaDB and "5432" for PostgreeSQL

Validation rules:

  • required
  • number

DB_APPLY_NEW_MIGRATIONS_AUTOMATICALLY

false

Automatically run [artisan migrate --force] if new migrations are detected.

Validation rules:

  • required
  • boolean

Mail

MAIL_DRIVER

smtp docs.pixelfed.org

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
  • sendmail
  • mailgun
  • mandrill
  • ses
  • sparkpost
  • log
  • array

Validation rules:

  • oneof=smtp sendmail mailgun mandrill ses sparkpost log array

MAIL_HOST

smtp.mailgun.org docs.pixelfed.org

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.

Validation rules:

  • required_with=MAIL_DRIVER
  • fqdn

MAIL_PORT

587 docs.pixelfed.org

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.

Validation rules:

  • required_with=MAIL_DRIVER
  • number

MAIL_FROM_ADDRESS

__CHANGE_ME__ docs.pixelfed.org

Here, you may specify a name and address that is used globally for all e-mails that are sent by your application.

You may wish for all e-mails sent by your application to be sent from the same address.

Validation rules:

  • required_with=MAIL_DRIVER
  • email
  • ne=__CHANGE_ME__

MAIL_FROM_NAME

${APP_NAME} docs.pixelfed.org

The 'name' you send e-mail from

Validation rules:

  • required_with=MAIL_DRIVER

MAIL_USERNAME

docs.pixelfed.org

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.

Validation rules:

  • required_with=MAIL_DRIVER

MAIL_PASSWORD

docs.pixelfed.org

Validation rules:

  • required_with=MAIL_DRIVER

MAIL_ENCRYPTION

tls docs.pixelfed.org

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.

Validation rules:

  • required_with=MAIL_DRIVER

Redis

REDIS_CLIENT

phpredis docs.pixelfed.org

REDIS_SCHEME

tcp docs.pixelfed.org

REDIS_HOST

redis docs.pixelfed.org

Validation rules:

  • required

REDIS_PASSWORD

docs.pixelfed.org

Validation rules:

  • omitempty

REDIS_PORT

6379 docs.pixelfed.org

Validation rules:

  • required
  • number

REDIS_DATABASE

0 docs.pixelfed.org

Validation rules:

  • number

Experiments

EXP_TOP

false docs.pixelfed.org

Text only posts (alpha).

Validation rules:

  • boolean

EXP_POLLS

false docs.pixelfed.org

Poll statuses (alpha).

Validation rules:

  • boolean

EXP_CPT

false docs.pixelfed.org

Cached public timeline for larger instances (beta).

Validation rules:

  • boolean

EXP_EMC

true docs.pixelfed.org

Enforce Mastodon API Compatibility (alpha).

Validation rules:

  • boolean

ActivityPub

ACTIVITY_PUB

true docs.pixelfed.org

Validation rules:

  • boolean

AP_REMOTE_FOLLOW

true docs.pixelfed.org

Validation rules:

  • boolean

AP_SHAREDINBOX

true docs.pixelfed.org

Validation rules:

  • boolean

AP_INBOX

true docs.pixelfed.org

Validation rules:

  • boolean

AP_OUTBOX

true docs.pixelfed.org

Validation rules:

  • boolean

Federation

ATOM_FEEDS

true docs.pixelfed.org

Validation rules:

  • boolean

NODEINFO

true docs.pixelfed.org

Validation rules:

  • boolean

WEBFINGER

true docs.pixelfed.org

Validation rules:

  • boolean

Storage

PF_ENABLE_CLOUD

false docs.pixelfed.org

Store media on object storage like S3, Digital Ocean Spaces, Rackspace

Validation rules:

  • boolean

FILESYSTEM_CLOUD

s3 docs.pixelfed.org

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.

Validation rules:

  • required_with=PF_ENABLE_CLOUD

MEDIA_DELETE_LOCAL_AFTER_CLOUD

true docs.pixelfed.org

Validation rules:

  • required_with=PF_ENABLE_CLOUD
  • boolean

AWS_ACCESS_KEY_ID

docs.pixelfed.org

Validation rules:

  • required_if=FILESYSTEM_CLOUD s3

AWS_SECRET_ACCESS_KEY

docs.pixelfed.org

Validation rules:

  • required_if=FILESYSTEM_CLOUD s3

AWS_DEFAULT_REGION

docs.pixelfed.org

Validation rules:

  • required_if=FILESYSTEM_CLOUD s3

AWS_BUCKET

docs.pixelfed.org

Validation rules:

  • required_if=FILESYSTEM_CLOUD s3

AWS_URL

docs.pixelfed.org

Validation rules:

  • required_if=FILESYSTEM_CLOUD s3

AWS_ENDPOINT

docs.pixelfed.org

Validation rules:

  • required_if=FILESYSTEM_CLOUD s3

AWS_USE_PATH_STYLE_ENDPOINT

false docs.pixelfed.org

Validation rules:

  • required_if=FILESYSTEM_CLOUD s3

COSTAR

CS_BLOCKED_DOMAINS

docs.pixelfed.org

Comma-separated list of domains to block.

CS_CW_DOMAINS

docs.pixelfed.org

Comma-separated list of domains to add warnings.

CS_UNLISTED_DOMAINS

docs.pixelfed.org

Comma-separated list of domains to remove from public timelines.

CS_BLOCKED_KEYWORDS

docs.pixelfed.org

Comma-separated list of keywords to block.

CS_CW_KEYWORDS

docs.pixelfed.org

Comma-separated list of keywords to add warnings.

CS_UNLISTED_KEYWORDS

docs.pixelfed.org

Comma-separated list of keywords to remove from public timelines.

CS_BLOCKED_ACTOR

docs.pixelfed.org

CS_CW_ACTOR

docs.pixelfed.org

CS_UNLISTED_ACTOR

docs.pixelfed.org

Logging

LOG_CHANNEL

stderr

Possible values:

  • stack
  • single
  • daily
  • slack
  • stderr
  • syslog
  • errorlog
  • null
  • emergency
  • media

Validation rules:

  • required
  • oneof=stack single daily slack stderr syslog errorlog null emergency media

LOG_LEVEL

debug docs.pixelfed.org

Used by single, stderr and syslog.

Validation rules:

  • oneof=debug info notice warning error critical alert emergency

LOG_STDERR_FORMATTER

docs.pixelfed.org

Used by stderr.

LOG_SLACK_WEBHOOK_URL

docs.pixelfed.org

Used by slack.

Validation rules:

  • http_url

Queue

QUEUE_DRIVER

redis docs.pixelfed.org

Possible values:

  • sync
  • database
  • beanstalkd
  • sqs
  • redis
  • null

Validation rules:

  • required
  • oneof=sync database beanstalkd sqs redis null

SQS_KEY

your-public-key docs.pixelfed.org

Validation rules:

  • required_if=QUEUE_DRIVER sqs

SQS_SECRET

your-secret-key docs.pixelfed.org

Validation rules:

  • required_if=QUEUE_DRIVER sqs

SQS_PREFIX

docs.pixelfed.org

Validation rules:

  • required_if=QUEUE_DRIVER sqs

SQS_QUEUE

your-queue-name docs.pixelfed.org

Validation rules:

  • required_if=QUEUE_DRIVER sqs

SQS_REGION

us-east-1 docs.pixelfed.org

Validation rules:

  • required_if=QUEUE_DRIVER sqs

Session

SESSION_DRIVER

redis

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.

Possible values:

  • file
  • cookie
  • database
  • apc
  • memcached
  • redis
  • array

Validation rules:

  • required
  • oneof=file cookie database apc memcached redis array

SESSION_LIFETIME

86400 docs.pixelfed.org

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.

Validation rules:

  • number

SESSION_DOMAIN

${APP_DOMAIN} docs.pixelfed.org

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.

Validation rules:

  • hostname

Horizon

HORIZON_PREFIX

horizon- docs.pixelfed.org

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.

HORIZON_DARKMODE

false docs.pixelfed.org

Validation rules:

  • boolean

HORIZON_MEMORY_LIMIT

64

This value (in MB) 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.

Validation rules:

  • number

HORIZON_BALANCE_STRATEGY

auto docs.pixelfed.org

HORIZON_MIN_PROCESSES

1 docs.pixelfed.org

Validation rules:

  • number

HORIZON_MAX_PROCESSES

20 docs.pixelfed.org

Validation rules:

  • number

HORIZON_SUPERVISOR_MEMORY

64 docs.pixelfed.org

Validation rules:

  • number

HORIZON_SUPERVISOR_TRIES

3 docs.pixelfed.org

Validation rules:

  • number

HORIZON_SUPERVISOR_NICE

0 docs.pixelfed.org

Validation rules:

  • number

HORIZON_SUPERVISOR_TIMEOUT

300 docs.pixelfed.org

Validation rules:

  • number

Docker Shared

APP_KEY

docs.pixelfed.org

A random 32-character string to be used as an encryption key.

This will be auto-generated by Docker during bootstrap

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.

Validation rules:

  • required

DOCKER_ALL_CONTAINER_NAME_PREFIX

${APP_DOMAIN}

Prefix for container names (without any dash at the end)

Validation rules:

  • required

DOCKER_ALL_DEFAULT_HEALTHCHECK_INTERVAL

10s

How often Docker health check should run for all services

Can be overridden by individual [DOCKER_*_HEALTHCHECK_INTERVAL] settings further down

Validation rules:

  • required

DOCKER_ALL_HOST_ROOT_PATH

./docker-compose-state

Path (relative to the docker-compose.yml) or absolute (/some/other/path) where containers will all data will be stored (data, config, overrides)

Validation rules:

  • required
  • dir

DOCKER_ALL_HOST_DATA_ROOT_PATH

${DOCKER_ALL_HOST_ROOT_PATH:?error}/data

Path (relative to the docker-compose.yml) or absolute (/some/other/path) where containers will store their data

Validation rules:

  • required
  • dir

DOCKER_ALL_HOST_CONFIG_ROOT_PATH

${DOCKER_ALL_HOST_ROOT_PATH:?error}/config

Path (relative to the docker-compose.yml) or absolute (/some/other/path) where containers will store their confguration

Validation rules:

  • required
  • dir

DOCKER_APP_HOST_OVERRIDES_PATH

${DOCKER_ALL_HOST_ROOT_PATH:?error}/overrides

Path (relative to the docker-compose.yml) or absolute (/some/other/path) where containers will store overrides

Validation rules:

  • required
  • dir

TZ

${APP_TIMEZONE} www.php.net

Set timezone used by all containers - these must be in sync.

Do not edit your timezone once the service is running - or things will break!

Validation rules:

  • required
  • timezone

Docker App

DOCKER_APP_RELEASE

v0.12 jippi.github.io

The docker tag prefix to use for pulling images, can be one of

  • latest
  • [some semver release]
  • staging
  • edge
  • branch-[some branch name]
  • pr-[some merge request id]

Combined with [DOCKER_APP_RUNTIME] and [PHP_VERSION] configured elsewhere in this file, the final Docker tag is computed.

See the Tags documentation for more information

Validation rules:

  • required

DOCKER_APP_PHP_VERSION

8.3

The PHP version to use for [web] and [worker] container

Any version published on https://hub.docker.com/_/php should work

Example:

  • 8.3

Do NOT use the full Docker tag (e.g. "8.3.2RC1-fpm-bullseye") only the version part. The rest of the full tag is derived from the [DOCKER_APP_RUNTIME] and [PHP_DEBIAN_RELEASE] settings

Validation rules:

  • required

DOCKER_APP_RUNTIME

apache docs.pixelfed.org

The container runtime to use.

Validation rules:

  • required
  • oneof=apache nginx

DOCKER_APP_DEBIAN_RELEASE

bookworm

The Debian release variant to use of the [php] Docker image

Examlpe: [bookworm]

Validation rules:

  • required
  • oneof=bookworm

DOCKER_APP_BASE_TYPE

apache docs.pixelfed.org

The [php] Docker image base type

Validation rules:

  • required
  • oneof=apache fpm cli

DOCKER_APP_IMAGE

ghcr.io/jippi/docker-pixelfed

Image to pull the Pixelfed Docker images from.

Validation rules:

  • required

DOCKER_APP_TAG

${DOCKER_APP_RELEASE:?missing}-${DOCKER_APP_RUNTIME:?missing}-${DOCKER_APP_PHP_VERSION:?missing}-${DOCKER_APP_DEBIAN_RELEASE:?missing} github.com

Pixelfed version (image tag) to pull from the registry.

Validation rules:

  • required

DOCKER_APP_HOST_STORAGE_PATH

${DOCKER_ALL_HOST_DATA_ROOT_PATH:?error}/pixelfed/storage

Path (on host system) where the [app] + [worker] container will write its [storage] data (e.g uploads/images/profile pictures etc.).

Path is relative (./some/other/path) to the docker-compose.yml or absolute (/some/other/path)

Validation rules:

  • required
  • dir

DOCKER_APP_HOST_CACHE_PATH

${DOCKER_ALL_HOST_DATA_ROOT_PATH:?error}/pixelfed/cache

Path (on host system) where the [app] + [worker] container will write its [cache] data.

Path is relative (./some/other/path) to the docker-compose.yml or absolute (/some/other/path)

Validation rules:

  • required
  • dir

DOCKER_APP_RUN_ONE_TIME_SETUP_TASKS

1

Validation rules:

  • boolean

DOCKER_APP_ENSURE_OWNERSHIP_PATHS

A space-seperated list of paths (inside the container) to recursively [chown] to the container user/group id (UID/GID) in case of permission issues.

! You should not leave this on permanently, at it can significantly slow down startup ! time for the container, and during normal operations there should never be permission ! issues. Please report a bug if you see behavior requiring this to be permanently on

Example: "/var/www/storage /var/www/bootstrap/cache"

DOCKER_APP_ENTRYPOINT_DEBUG

0

Enable Docker Entrypoint debug mode (will call [set -x] in bash scripts) by setting this to "1"

Validation rules:

  • boolean

DOCKER_APP_ENTRYPOINT_SHOW_TEMPLATE_DIFF

1

Show the "diff" when applying templating to files

Validation rules:

  • required
  • boolean

ENTRYPOINT_SKIP_SCRIPTS

Docker entrypoints that should be skipped on startup

DOCKER_APP_APT_PACKAGES_EXTRA

github.com

List of extra APT packages (separated by space) to install when building locally using [docker compose build].

DOCKER_APP_PHP_PECL_EXTENSIONS_EXTRA

github.com

List of extra PECL extensions (separated by space) to install when building locally using [docker compose build].

DOCKER_APP_PHP_EXTENSIONS_EXTRA

github.com

List of extra PHP extensions (separated by space) to install when building locally using [docker compose build].

DOCKER_APP_PHP_MEMORY_LIMIT

128M www.php.net

DOCKER_APP_PHP_ERROR_REPORTING

E_ALL & ~E_DEPRECATED & ~E_STRICT

DOCKER_APP_PHP_DISPLAY_ERRORS

off

Validation rules:

  • oneof=on off

DOCKER_APP_PHP_OPCACHE_ENABLE

1 www.php.net

Enables the opcode cache.

When disabled, code is not optimised or cached.

Validation rules:

  • oneof=0 1

DOCKER_APP_PHP_OPCACHE_VALIDATE_TIMESTAMPS

0 www.php.net

If enabled, OPcache will check for updated scripts every [opcache.revalidate_freq] seconds.

When this directive is disabled, you must reset OPcache manually via opcache_reset(), opcache_invalidate() or by restarting the Web server for changes to the filesystem to take effect.

Validation rules:

  • oneof=0 1

DOCKER_APP_PHP_OPCACHE_REVALIDATE_FREQ

2 www.php.net

How often to check script timestamps for updates, in seconds. 0 will result in OPcache checking for updates on every request.

Validation rules:

  • oneof=0 1 2

DOCKER_APP_BUILD_FRONTEND

0

When doing [docker compose build], should the frontend be built in the Dockerfile? If set to "0" the included pre-compiled frontend will be used.

Validation rules:

  • oneof=0 1

Docker Redis

DOCKER_REDIS_PROFILE

Set this to a non-empty value (e.g. "disabled") to disable the [redis] service

DOCKER_REDIS_VERSION

7.2 hub.docker.com

Redis version to use as Docker tag

Validation rules:

  • required

DOCKER_REDIS_HOST_DATA_PATH

${DOCKER_ALL_HOST_DATA_ROOT_PATH:?error}/redis

Path (on host system) where the [redis] container will store its data

Path is relative (./some/other/path) to the docker-compose.yml or absolute (/some/other/path)

Validation rules:

  • required
  • dir

DOCKER_REDIS_HOST_PORT

${REDIS_PORT:?error}

Port that Redis will listen on outside the container (e.g. the host machine)

Validation rules:

  • required
  • number

DOCKER_REDIS_CONFIG_FILE

/etc/redis/redis.conf

The filename that Redis should store its config file within

NOTE: The file MUST exists (even empty) before enabling this setting!

Use a command like [touch "${DOCKER_ALL_HOST_CONFIG_ROOT_PATH}/redis/redis.conf"] to create it.

Validation rules:

  • required

DOCKER_REDIS_HEALTHCHECK_INTERVAL

${DOCKER_ALL_DEFAULT_HEALTHCHECK_INTERVAL:?error}

How often Docker health check should run for [redis] service

Validation rules:

  • required

Docker Db

DOCKER_DB_PROFILE

Set this to a non-empty value (e.g. "disabled") to disable the [db] service

DOCKER_DB_IMAGE

mariadb:${DB_VERSION}

Docker image for the DB service

Validation rules:

  • required

DOCKER_DB_COMMAND

--default-authentication-plugin=mysql_native_password --old-mode=''

Command to pass to the [db] server container

Validation rules:

  • required

DOCKER_DB_HOST_DATA_PATH

${DOCKER_ALL_HOST_DATA_ROOT_PATH:?error}/db

Path (on host system) where the [db] container will store its data

Path is relative (./some/other/path) to the docker-compose.yml or absolute (/some/other/path)

Validation rules:

  • required
  • dir

DOCKER_DB_CONTAINER_DATA_PATH

/var/lib/mysql

Path (inside the container) where the [db] will store its data.

Path MUST be absolute.

For MySQL this should be [/var/lib/mysql] For PostgreSQL this should be [/var/lib/postgresql/data]

Validation rules:

  • required

DOCKER_DB_HOST_PORT

${DB_PORT:?error}

Port that the database will listen on OUTSIDE the container (e.g. the host machine)

Use "3306" for MySQL/MariaDB and "5432" for PostgreeSQL

Validation rules:

  • required
  • number

DOCKER_DB_CONTAINER_PORT

${DB_PORT:?error}

Port that the database will listen on INSIDE the container

Use "3306" for MySQL/MariaDB and "5432" for PostgreeSQL

Validation rules:

  • required
  • number

DOCKER_DB_ROOT_PASSWORD

${DB_PASSWORD:?error}

root password for the database. By default uses DB_PASSWORD but can be changed in situations where you are migrating to the included docker-compose and have a different password set already

Validation rules:

  • required

DOCKER_DB_HEALTHCHECK_INTERVAL

${DOCKER_ALL_DEFAULT_HEALTHCHECK_INTERVAL:?error}

How often Docker health check should run for [db] service

Validation rules:

  • required

Docker Web

DOCKER_WEB_PROFILE

Set this to a non-empty value (e.g. "disabled") to disable the [web] service

DOCKER_WEB_PORT_EXTERNAL_HTTP

8080

Port to expose [web] container will listen on outside the container (e.g. the host machine) for HTTP traffic only

Validation rules:

  • required
  • number

DOCKER_WEB_HEALTHCHECK_INTERVAL

${DOCKER_ALL_DEFAULT_HEALTHCHECK_INTERVAL:?error}

How often Docker health check should run for [web] service

Validation rules:

  • required

Docker Worker

DOCKER_WORKER_PROFILE

Set this to a non-empty value (e.g. "disabled") to disable the [worker] service

DOCKER_WORKER_HEALTHCHECK_INTERVAL

${DOCKER_ALL_DEFAULT_HEALTHCHECK_INTERVAL:?error}

How often Docker health check should run for [worker] service

Validation rules:

  • required

Docker Cron

DOCKER_CRON_PROFILE

Set this to a non-empty value (e.g. "disabled") to disable the [cron] service

Docker Proxy

DOCKER_PROXY_PROFILE

Set this to a non-empty value (e.g. "disabled") to disable the [proxy] and [proxy-acme] service

DOCKER_PROXY_ACME_PROFILE

${DOCKER_PROXY_PROFILE:-}

Set this to a non-empty value (e.g. "disabled") to disable the [proxy-acme] service

DOCKER_PROXY_VERSION

1.4 hub.docker.com

The version of nginx-proxy to use

Validation rules:

  • required

DOCKER_PROXY_HEALTHCHECK_INTERVAL

${DOCKER_ALL_DEFAULT_HEALTHCHECK_INTERVAL:?error}

How often Docker health check should run for [proxy] service

Validation rules:

  • required

DOCKER_PROXY_HOST_PORT_HTTP

80

Port that the [proxy] will listen on outside the container (e.g. the host machine) for HTTP traffic

Validation rules:

  • required
  • number

DOCKER_PROXY_HOST_PORT_HTTPS

443

Port that the [proxy] will listen on outside the container (e.g. the host machine) for HTTPS traffic

Validation rules:

  • required
  • number

DOCKER_PROXY_HOST_DOCKER_SOCKET_PATH

/var/run/docker.sock

Path to the Docker socket on the host

Validation rules:

  • required

DOCKER_PROXY_LETSENCRYPT_HOST

${APP_DOMAIN}

The host to request LetsEncrypt certificate for

Validation rules:

  • required
  • fqdn

DOCKER_PROXY_LETSENCRYPT_EMAIL

${INSTANCE_CONTACT_EMAIL:?error}

The e-mail to use for Lets Encrypt certificate requests.

Validation rules:

  • required
  • email

DOCKER_PROXY_LETSENCRYPT_TEST

1

Lets Encrypt staging/test servers for certificate requests.

Setting this to any value will change to letsencrypt test servers.