1
0
Fork 1
mirror of https://github.com/pixelfed/pixelfed.git synced 2024-12-27 18:26:50 +00:00
pixelfed/.env.docker

1279 lines
43 KiB
Docker
Raw Normal View History

#!/bin/bash
2024-01-06 14:19:36 +00:00
# -*- mode: bash -*-
# vi: ft=bash
2024-02-11 01:24:26 +00:00
# shellcheck disable=SC2034,SC2148
2024-01-06 14:19:36 +00:00
2024-02-10 20:03:04 +00:00
# Use Dottie (https://github.com/jippi/dottie) to manage this .env file easier!
#
2024-02-11 01:24:26 +00:00
# For example:
2024-02-10 20:03:04 +00:00
#
2024-02-11 01:24:26 +00:00
# Run [dottie update] to update your [.env] file with upstream (as part of upgrade)
# Run [dottie validate] to validate youe [.env] file
#
# @dottie/source .env.docker
2024-01-06 14:19:36 +00:00
2024-01-15 23:50:16 +00:00
################################################################################
2024-02-10 20:03:04 +00:00
# app
2024-01-15 23:50:16 +00:00
################################################################################
2024-01-06 14:19:36 +00:00
2024-02-10 23:08:22 +00:00
# The name/title for your site
2024-02-10 20:03:04 +00:00
# @see https://docs.pixelfed.org/technical-documentation/config/#app_name-1
2024-02-11 02:00:09 +00:00
# @dottie/example My Pixelfed Site
2024-02-10 23:08:22 +00:00
# @dottie/validate required,ne=My Pixelfed Site
2024-02-11 02:00:09 +00:00
APP_NAME=
2024-01-06 14:19:36 +00:00
2024-02-10 23:08:22 +00:00
# Application domain used for routing. (e.g., pixelfed.org)
2024-01-06 14:19:36 +00:00
#
2024-02-10 20:03:04 +00:00
# @see https://docs.pixelfed.org/technical-documentation/config/#app_domain
2024-02-11 02:00:09 +00:00
# @dottie/example example.com
2024-02-10 23:08:22 +00:00
# @dottie/validate required,ne=example.com,fqdn
APP_DOMAIN="example.com"
2024-01-06 14:19:36 +00:00
# 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.
#
2024-02-10 20:03:04 +00:00
# @see https://docs.pixelfed.org/technical-documentation/config/#app_url
# @dottie/validate required,http_url
2024-01-15 23:50:16 +00:00
APP_URL="https://${APP_DOMAIN}"
2024-01-06 14:19:36 +00:00
# Application domains used for routing.
#
2024-02-10 20:03:04 +00:00
# @see https://docs.pixelfed.org/technical-documentation/config/#admin_domain
# @dottie/validate required,fqdn
2024-01-06 14:19:36 +00:00
ADMIN_DOMAIN="${APP_DOMAIN}"
# This value determines the “environment” your application is currently running in.
# This may determine how you prefer to configure various services your application utilizes.
#
2024-02-10 20:03:04 +00:00
# @default "production"
# @see https://docs.pixelfed.org/technical-documentation/config/#app_env
2024-02-19 00:52:12 +00:00
# @dottie/validate required,oneof=production dev staging
2024-01-06 14:19:36 +00:00
#APP_ENV="production"
# 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.
#
2024-02-10 20:03:04 +00:00
# @default "false"
# @see https://docs.pixelfed.org/technical-documentation/config/#app_debug
# @dottie/validate required,boolean
2024-01-06 14:19:36 +00:00
#APP_DEBUG="false"
# Enable/disable new local account registrations.
#
2024-02-10 20:03:04 +00:00
# @default "true"
# @see https://docs.pixelfed.org/technical-documentation/config/#open_registration
# @dottie/validate required,boolean
2024-01-15 23:50:16 +00:00
#OPEN_REGISTRATION="true"
2024-01-06 14:19:36 +00:00
# Require email verification before a new user can do anything.
#
2024-02-10 20:03:04 +00:00
# @default "true"
# @see https://docs.pixelfed.org/technical-documentation/config/#enforce_email_verification
# @dottie/validate required,boolean
2024-01-06 14:19:36 +00:00
#ENFORCE_EMAIL_VERIFICATION="true"
# Allow a maximum number of user accounts.
#
2024-02-10 20:03:04 +00:00
# @default "1000"
# @see https://docs.pixelfed.org/technical-documentation/config/#pf_max_users
# @dottie/validate required,number
2024-01-15 14:57:40 +00:00
#PF_MAX_USERS="1000"
2024-01-15 14:44:47 +00:00
# Enforce the maximum number of user accounts
#
2024-02-10 20:03:04 +00:00
# @default "true"
# @dottie/validate boolean
2024-01-15 14:44:47 +00:00
#PF_ENFORCE_MAX_USERS="true"
2024-01-06 14:19:36 +00:00
2024-02-10 20:03:04 +00:00
# @default "false"
# @see https://docs.pixelfed.org/technical-documentation/config/#oauth_enabled
# @dottie/validate required,boolean
#OAUTH_ENABLED="false"
2024-01-06 14:19:36 +00:00
2024-01-15 23:50:16 +00:00
# ! Do not edit your timezone once the service is running - or things will break!
2024-01-06 14:19:36 +00:00
#
2024-02-10 20:03:04 +00:00
# @default "UTC"
# @see https://docs.pixelfed.org/technical-documentation/config/#app_timezone
# @see https://www.php.net/manual/en/timezones.php
# @dottie/validate required,timezone
2024-01-15 23:50:16 +00:00
APP_TIMEZONE="UTC"
2024-01-06 14:19:36 +00:00
# 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.
#
2024-02-10 20:03:04 +00:00
# @default "en"
# @see https://docs.pixelfed.org/technical-documentation/config/#app_locale
# @dottie/validate required
2024-01-06 14:19:36 +00:00
#APP_LOCALE="en"
# 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.
#
2024-02-10 20:03:04 +00:00
# @default "en"
# @see https://docs.pixelfed.org/technical-documentation/config/#app_fallback_locale
# @dottie/validate required
2024-01-06 14:19:36 +00:00
#APP_FALLBACK_LOCALE="en"
2024-02-10 20:03:04 +00:00
# @see https://docs.pixelfed.org/technical-documentation/config/#limit_account_size
# @dottie/validate required,boolean
2024-01-06 14:19:36 +00:00
#LIMIT_ACCOUNT_SIZE="true"
# Update the max account size, the per user limit of files in kB.
#
2024-02-10 20:03:04 +00:00
# @default "1000000" (1GB)
# @see https://docs.pixelfed.org/technical-documentation/config/#max_account_size-kb
# @dottie/validate required,number
2024-01-06 14:19:36 +00:00
#MAX_ACCOUNT_SIZE="1000000"
# Update the max photo size, in kB.
#
2024-02-10 20:03:04 +00:00
# @default "15000" (15MB)
# @see https://docs.pixelfed.org/technical-documentation/config/#max_photo_size-kb
# @dottie/validate required,number
2024-01-15 14:57:40 +00:00
#MAX_PHOTO_SIZE="15000"
2024-01-06 14:19:36 +00:00
2024-01-17 14:46:07 +00:00
# The max number of photos allowed per post.
#
2024-02-10 20:03:04 +00:00
# @default "4"
# @see https://docs.pixelfed.org/technical-documentation/config/#max_album_length
# @dottie/validate required,number
2024-01-17 14:46:07 +00:00
#MAX_ALBUM_LENGTH="4"
2024-01-06 14:19:36 +00:00
# Update the max avatar size, in kB.
#
2024-02-10 20:03:04 +00:00
# @default "2000" (2MB).
# @see https://docs.pixelfed.org/technical-documentation/config/#max_avatar_size-kb
# @dottie/validate required,number
2024-01-06 14:19:36 +00:00
#MAX_AVATAR_SIZE="2000"
# Change the caption length limit for new local posts.
#
2024-02-10 20:03:04 +00:00
# @default "500"
# @see https://docs.pixelfed.org/technical-documentation/config/#max_caption_length
# @dottie/validate required,number
2024-01-06 14:19:36 +00:00
#MAX_CAPTION_LENGTH="500"
# Change the bio length limit for user profiles.
#
2024-02-10 20:03:04 +00:00
# @default "125"
# @see https://docs.pixelfed.org/technical-documentation/config/#max_bio_length
# @dottie/validate required,number
2024-01-06 14:19:36 +00:00
#MAX_BIO_LENGTH="125"
# Change the length limit for user names.
#
2024-02-10 20:03:04 +00:00
# @default "30"
# @see https://docs.pixelfed.org/technical-documentation/config/#max_name_length
# @dottie/validate required,number
2024-01-06 14:19:36 +00:00
#MAX_NAME_LENGTH="30"
# Resize and optimize image uploads.
#
2024-02-10 20:03:04 +00:00
# @default "true"
# @see https://docs.pixelfed.org/technical-documentation/config/#pf_optimize_images
# @dottie/validate required,boolean
2024-01-06 14:19:36 +00:00
#PF_OPTIMIZE_IMAGES="true"
# Set the image optimization quality, must be a value between 1-100.
#
2024-02-10 20:03:04 +00:00
# @default "80"
# @see https://docs.pixelfed.org/technical-documentation/config/#image_quality
# @dottie/validate required,number
2024-01-06 14:19:36 +00:00
#IMAGE_QUALITY="80"
# Resize and optimize video uploads.
#
2024-02-10 20:03:04 +00:00
# @default "true"
# @see https://docs.pixelfed.org/technical-documentation/config/#pf_optimize_videos
# @dottie/validate required,boolean
2024-01-06 14:19:36 +00:00
#PF_OPTIMIZE_VIDEOS="true"
# Enable account deletion.
#
2024-02-10 20:03:04 +00:00
# @default "true"
# @see https://docs.pixelfed.org/technical-documentation/config/#account_deletion
# @dottie/validate required,boolean
2024-01-06 14:19:36 +00:00
#ACCOUNT_DELETION="true"
# Set account deletion queue after X days, set to false to delete accounts immediately.
#
2024-02-10 20:03:04 +00:00
# @default "false"
# @see https://docs.pixelfed.org/technical-documentation/config/#account_delete_after
# @dottie/validate required,boolean|number
2024-01-06 14:19:36 +00:00
#ACCOUNT_DELETE_AFTER="false"
2024-02-10 20:03:04 +00:00
# @default "Pixelfed - Photo sharing for everyone"
# @see https://docs.pixelfed.org/technical-documentation/config/#instance_description
# @dottie/validate required
#INSTANCE_DESCRIPTION=""
2024-01-06 14:19:36 +00:00
2024-02-10 20:03:04 +00:00
# @default "false"
# @see https://docs.pixelfed.org/technical-documentation/config/#instance_public_hashtags
# @dottie/validate required,boolean
2024-01-06 14:19:36 +00:00
#INSTANCE_PUBLIC_HASHTAGS="false"
2024-02-10 23:08:22 +00:00
# The public e-mail address people can use to contact you by
#
2024-02-10 20:03:04 +00:00
# @default ""
# @see https://docs.pixelfed.org/technical-documentation/config/#instance_contact_email
2024-02-10 23:08:22 +00:00
# @dottie/validate required,ne=__CHANGE_ME__,email
INSTANCE_CONTACT_EMAIL="__CHANGE_ME__"
2024-01-06 14:19:36 +00:00
2024-02-10 20:03:04 +00:00
# @default "false"
# @see https://docs.pixelfed.org/technical-documentation/config/#instance_public_local_timeline
# @dottie/validate required,boolean
2024-01-06 14:19:36 +00:00
#INSTANCE_PUBLIC_LOCAL_TIMELINE="false"
2024-02-10 20:03:04 +00:00
# @default ""
# @see https://docs.pixelfed.org/technical-documentation/config/#banned_usernames
#BANNED_USERNAMES=""
2024-01-06 14:19:36 +00:00
2024-02-10 20:03:04 +00:00
# @default "false"
# @see https://docs.pixelfed.org/technical-documentation/config/#stories_enabled
# @dottie/validate required,boolean
2024-01-06 14:19:36 +00:00
#STORIES_ENABLED="false"
# Level is hardcoded to 1.
#
2024-02-10 20:03:04 +00:00
# @default "false"
# @see https://docs.pixelfed.org/technical-documentation/config/#restricted_instance
# @dottie/validate required,boolean
2024-01-06 14:19:36 +00:00
#RESTRICTED_INSTANCE="false"
2024-02-10 20:03:04 +00:00
# @default false
# @see https://docs.pixelfed.org/technical-documentation/config/#media_exif_database
# @dottie/validate required,boolean
2024-02-10 23:08:22 +00:00
#MEDIA_EXIF_DATABASE="false"
2024-01-15 23:50:16 +00:00
2024-02-10 20:03:04 +00:00
# Pixelfed supports GD or ImageMagick to process images.
#
# Possible values:
# - "gd" (default)
# - "imagick"
#
# @default "gd"
# @see https://docs.pixelfed.org/technical-documentation/config/#image_driver
# @dottie/validate required,oneof=gd imagick
#IMAGE_DRIVER="gd"
2024-01-15 23:50:16 +00:00
2024-02-10 20:03:04 +00:00
# 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 clients request has subsequently passed through.
#
# @default "*"
# @see https://docs.pixelfed.org/technical-documentation/config/#trust_proxies
# @dottie/validate required
#TRUST_PROXIES="*"
2024-01-15 23:50:16 +00:00
2024-02-10 20:03:04 +00:00
# This option controls the default cache connection that gets used while using this caching library.
2024-01-15 23:50:16 +00:00
#
2024-02-10 20:03:04 +00:00
# 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"
#
# @default "file"
# @see https://docs.pixelfed.org/technical-documentation/config/#cache_driver
# @dottie/validate required,oneof=apc array database file memcached redis
CACHE_DRIVER="redis"
# @default ${APP_NAME}_cache, or laravel_cache if no APP_NAME is set.
# @see https://docs.pixelfed.org/technical-documentation/config/#cache_prefix
# @dottie/validate required
#CACHE_PREFIX="{APP_NAME}_cache"
# 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)
#
# @default null
# @see https://docs.pixelfed.org/technical-documentation/config/#broadcast_driver
# @dottie/validate required,oneof=pusher redis log null
BROADCAST_DRIVER="redis"
# @default "true"
# @see https://docs.pixelfed.org/technical-documentation/config/#restrict_html_types
# @dottie/validate required,boolean
#RESTRICT_HTML_TYPES="true"
# 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.
# @see https://docs.pixelfed.org/technical-documentation/config/#passport_private_key
# @dottie/validate required
#PASSPORT_PRIVATE_KEY=""
# @see https://docs.pixelfed.org/technical-documentation/config/#passport_public_key
# @dottie/validate required
#PASSPORT_PUBLIC_KEY=""
2024-01-15 23:50:16 +00:00
################################################################################
2024-02-10 20:03:04 +00:00
# database
2024-01-15 23:50:16 +00:00
################################################################################
2024-01-06 14:19:36 +00:00
2024-01-17 16:11:36 +00:00
# Database version to use (as Docker tag)
#
2024-02-10 20:03:04 +00:00
# @see https://hub.docker.com/_/mariadb
# @dottie/validate required
DB_VERSION="11.2"
2024-01-17 16:11:36 +00:00
2024-01-15 23:50:16 +00:00
# Here you may specify which of the database connections below
# you wish to use as your default connection for all database work.
2024-01-06 14:19:36 +00:00
#
# Of course you may use many connections at once using the database library.
#
# Possible values:
#
# - "sqlite"
# - "mysql" (default)
# - "pgsql"
# - "sqlsrv"
#
2024-02-10 20:03:04 +00:00
# @see https://docs.pixelfed.org/technical-documentation/config/#db_connection
# @dottie/validate required,oneof=sqlite mysql pgsql sqlsrv
2024-01-06 14:19:36 +00:00
DB_CONNECTION="mysql"
2024-02-10 20:03:04 +00:00
# @see https://docs.pixelfed.org/technical-documentation/config/#db_host
# @dottie/validate required,hostname
2024-01-06 14:19:36 +00:00
DB_HOST="db"
2024-02-10 20:03:04 +00:00
# @see https://docs.pixelfed.org/technical-documentation/config/#db_username
# @dottie/validate required
2024-01-06 14:19:36 +00:00
DB_USERNAME="pixelfed"
2024-02-10 23:08:22 +00:00
# The password to your database. Please make it secure.
# Use a site like https://pwgen.io/ to generate it
#
2024-02-10 20:03:04 +00:00
# @see https://docs.pixelfed.org/technical-documentation/config/#db_password
2024-02-11 02:00:09 +00:00
# @dottie/validate required
DB_PASSWORD=
2024-01-06 14:19:36 +00:00
2024-02-10 20:03:04 +00:00
# @see https://docs.pixelfed.org/technical-documentation/config/#db_database
# @dottie/validate required
2024-01-06 14:19:36 +00:00
DB_DATABASE="pixelfed_prod"
# Use "3306" for MySQL/MariaDB and "5432" for PostgreeSQL
#
2024-02-10 20:03:04 +00:00
# @see https://docs.pixelfed.org/technical-documentation/config/#db_port
# @dottie/validate required,number
2024-01-06 14:19:36 +00:00
DB_PORT="3306"
2024-01-15 20:42:11 +00:00
# Automatically run [artisan migrate --force] if new migrations are detected.
2024-02-10 20:03:04 +00:00
# @dottie/validate required,boolean
2024-01-15 23:50:16 +00:00
DB_APPLY_NEW_MIGRATIONS_AUTOMATICALLY="false"
2024-01-15 20:42:11 +00:00
2024-01-15 23:50:16 +00:00
################################################################################
2024-02-10 20:03:04 +00:00
# mail
2024-01-15 23:50:16 +00:00
################################################################################
2024-01-06 14:19:36 +00:00
# Laravel supports both SMTP and PHPs “mail” function as drivers for the sending of e-mail.
# You may specify which one youre using throughout your application here.
#
# Possible values:
#
# "smtp" (default)
# "sendmail"
# "mailgun"
# "mandrill"
# "ses"
# "sparkpost"
# "log"
# "array"
#
2024-02-10 20:03:04 +00:00
# @default "smtp"
# @see https://docs.pixelfed.org/technical-documentation/config/#mail_driver
# @dottie/validate required,oneof=smtp sendmail mailgun mandrill ses sparkpost log array
2024-01-06 14:19:36 +00:00
#MAIL_DRIVER="smtp"
# 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.
#
2024-02-10 20:03:04 +00:00
# @default "smtp.mailgun.org"
# @see https://docs.pixelfed.org/technical-documentation/config/#mail_host
# @dottie/validate required_with=MAIL_DRIVER,fqdn
2024-01-06 14:19:36 +00:00
#MAIL_HOST="smtp.mailgun.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.
#
2024-02-10 20:03:04 +00:00
# @default 587.
# @see https://docs.pixelfed.org/technical-documentation/config/#mail_port
# @dottie/validate required_with=MAIL_DRIVER,number
2024-01-06 14:19:36 +00:00
#MAIL_PORT="587"
# Here, you may specify a name and address that is used globally for all e-mails that are sent by your application.
#
2024-02-10 23:08:22 +00:00
# You may wish for all e-mails sent by your application to be sent from the same address.
#
# @default "bot@example.com"
2024-02-10 20:03:04 +00:00
# @see https://docs.pixelfed.org/technical-documentation/config/#mail_from_address
2024-02-10 23:08:22 +00:00
# @dottie/validate required_with=MAIL_DRIVER,email,ne=__CHANGE_ME__
#MAIL_FROM_ADDRESS="__CHANGE_ME__"
2024-01-06 14:19:36 +00:00
2024-02-10 23:08:22 +00:00
# The 'name' you send e-mail from
#
2024-02-10 20:03:04 +00:00
# @default "Example"
# @see https://docs.pixelfed.org/technical-documentation/config/#mail_from_name
# @dottie/validate required_with=MAIL_DRIVER
2024-02-10 23:08:22 +00:00
#MAIL_FROM_NAME="${APP_NAME}"
2024-01-06 14:19:36 +00:00
# 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.
#
2024-02-10 20:03:04 +00:00
# @default ""
# @see https://docs.pixelfed.org/technical-documentation/config/#mail_username
# @dottie/validate required_with=MAIL_DRIVER
#MAIL_USERNAME=""
2024-01-06 14:19:36 +00:00
2024-02-10 20:03:04 +00:00
# @default ""
# @see https://docs.pixelfed.org/technical-documentation/config/#mail_password
# @dottie/validate required_with=MAIL_DRIVER
#MAIL_PASSWORD=""
2024-01-06 14:19:36 +00:00
# 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.
#
2024-02-10 20:03:04 +00:00
# @default "tls"
# @see https://docs.pixelfed.org/technical-documentation/config/#mail_encryption
# @dottie/validate required_with=MAIL_DRIVER
2024-01-06 14:19:36 +00:00
#MAIL_ENCRYPTION="tls"
2024-01-15 23:50:16 +00:00
################################################################################
2024-02-10 20:03:04 +00:00
# redis
2024-01-15 23:50:16 +00:00
################################################################################
2024-01-06 14:19:36 +00:00
2024-02-10 20:03:04 +00:00
# @default "phpredis"
# @see https://docs.pixelfed.org/technical-documentation/config/#redis_client
# @dottie/validate required
2024-01-06 14:19:36 +00:00
#REDIS_CLIENT="phpredis"
2024-02-10 20:03:04 +00:00
# @default "tcp"
# @see https://docs.pixelfed.org/technical-documentation/config/#redis_scheme
# @dottie/validate required
2024-01-06 14:19:36 +00:00
#REDIS_SCHEME="tcp"
2024-02-10 20:03:04 +00:00
# @default "localhost"
# @see https://docs.pixelfed.org/technical-documentation/config/#redis_host
# @dottie/validate required
2024-01-06 14:19:36 +00:00
REDIS_HOST="redis"
2024-02-10 20:03:04 +00:00
# @default "null" (not set/commented out).
# @see https://docs.pixelfed.org/technical-documentation/config/#redis_password
# @dottie/validate omitempty
2024-01-06 14:19:36 +00:00
#REDIS_PASSWORD=
2024-02-10 20:03:04 +00:00
# @default "6379"
# @see https://docs.pixelfed.org/technical-documentation/config/#redis_port
# @dottie/validate required,number
REDIS_PORT="6379"
2024-01-06 14:19:36 +00:00
2024-02-10 20:03:04 +00:00
# @default "0"
# @see https://docs.pixelfed.org/technical-documentation/config/#redis_database
# @dottie/validate required,number
2024-01-06 14:19:36 +00:00
#REDIS_DATABASE="0"
2024-01-15 23:50:16 +00:00
################################################################################
2024-02-10 20:03:04 +00:00
# experiments
2024-01-15 23:50:16 +00:00
################################################################################
2024-01-06 14:19:36 +00:00
# Text only posts (alpha).
#
2024-02-10 20:03:04 +00:00
# @default "false"
# @see https://docs.pixelfed.org/technical-documentation/config/#exp_top
# @dottie/validate required,boolean
2024-01-06 14:19:36 +00:00
#EXP_TOP="false"
# Poll statuses (alpha).
#
2024-02-10 20:03:04 +00:00
# @default "false"
# @see https://docs.pixelfed.org/technical-documentation/config/#exp_polls
# @dottie/validate required,boolean
2024-01-06 14:19:36 +00:00
#EXP_POLLS="false"
# Cached public timeline for larger instances (beta).
#
2024-02-10 20:03:04 +00:00
# @default "false"
# @see https://docs.pixelfed.org/technical-documentation/config/#exp_cpt
# @dottie/validate required,boolean
2024-01-06 14:19:36 +00:00
#EXP_CPT="false"
2024-01-15 23:50:16 +00:00
# Enforce Mastodon API Compatibility (alpha).
2024-01-06 14:19:36 +00:00
#
2024-02-10 20:03:04 +00:00
# @default "true"
# @see https://docs.pixelfed.org/technical-documentation/config/#exp_emc
# @dottie/validate required,boolean
2024-01-15 23:50:16 +00:00
#EXP_EMC="true"
2024-01-06 14:19:36 +00:00
2024-01-15 23:50:16 +00:00
################################################################################
2024-02-10 20:03:04 +00:00
# ActivityPub
2024-01-15 23:50:16 +00:00
################################################################################
2024-01-06 14:19:36 +00:00
2024-02-10 20:03:04 +00:00
# @default "false"
# @see https://docs.pixelfed.org/technical-documentation/config/#activity_pub
# @dottie/validate required,boolean
#ACTIVITY_PUB="true"
2024-01-06 14:19:36 +00:00
2024-02-10 20:03:04 +00:00
# @default "true"
# @see https://docs.pixelfed.org/technical-documentation/config/#ap_remote_follow
# @dottie/validate required,boolean
2024-01-06 14:19:36 +00:00
#AP_REMOTE_FOLLOW="true"
2024-02-10 20:03:04 +00:00
# @default "true"
# @see https://docs.pixelfed.org/technical-documentation/config/#ap_sharedinbox
# @dottie/validate required,boolean
2024-01-06 14:19:36 +00:00
#AP_SHAREDINBOX="true"
2024-02-10 20:03:04 +00:00
# @default "true"
# @see https://docs.pixelfed.org/technical-documentation/config/#ap_inbox
# @dottie/validate required,boolean
2024-01-06 14:19:36 +00:00
#AP_INBOX="true"
2024-02-10 20:03:04 +00:00
# @default "true"
# @see https://docs.pixelfed.org/technical-documentation/config/#ap_outbox
# @dottie/validate required,boolean
2024-01-06 14:19:36 +00:00
#AP_OUTBOX="true"
2024-01-15 23:50:16 +00:00
################################################################################
2024-02-10 20:03:04 +00:00
# Federation
2024-01-15 23:50:16 +00:00
################################################################################
2024-01-06 14:19:36 +00:00
2024-02-10 20:03:04 +00:00
# @default "true"
# @see https://docs.pixelfed.org/technical-documentation/config/#atom_feeds
# @dottie/validate required,boolean
2024-01-06 14:19:36 +00:00
#ATOM_FEEDS="true"
2024-02-10 20:03:04 +00:00
# @default "true"
# @see https://docs.pixelfed.org/technical-documentation/config/#nodeinfo
# @dottie/validate required,boolean
2024-01-06 14:19:36 +00:00
#NODEINFO="true"
2024-02-10 20:03:04 +00:00
# @default "true"
# @see https://docs.pixelfed.org/technical-documentation/config/#webfinger
# @dottie/validate required,boolean
2024-01-06 14:19:36 +00:00
#WEBFINGER="true"
2024-01-15 23:50:16 +00:00
################################################################################
2024-02-10 20:03:04 +00:00
# Storage
2024-01-15 23:50:16 +00:00
################################################################################
2024-01-06 14:19:36 +00:00
# Store media on object storage like S3, Digital Ocean Spaces, Rackspace
#
2024-02-10 20:03:04 +00:00
# @default "false"
# @see https://docs.pixelfed.org/technical-documentation/config/#pf_enable_cloud
# @dottie/validate required,boolean
2024-01-06 14:19:36 +00:00
#PF_ENABLE_CLOUD="false"
# 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.
#
2024-02-10 20:03:04 +00:00
# @default "s3"
# @see https://docs.pixelfed.org/technical-documentation/config/#filesystem_cloud
# @dottie/validate required_with=PF_ENABLE_CLOUD
2024-01-06 14:19:36 +00:00
#FILESYSTEM_CLOUD="s3"
2024-02-10 20:03:04 +00:00
# @default true.
# @see https://docs.pixelfed.org/technical-documentation/config/#media_delete_local_after_cloud
# @dottie/validate required_with=PF_ENABLE_CLOUD,boolean
2024-01-06 14:19:36 +00:00
#MEDIA_DELETE_LOCAL_AFTER_CLOUD="true"
2024-02-10 20:03:04 +00:00
# @see https://docs.pixelfed.org/technical-documentation/config/#aws_access_key_id
# @dottie/validate required_if=FILESYSTEM_CLOUD s3
#AWS_ACCESS_KEY_ID=""
2024-01-06 14:19:36 +00:00
2024-02-10 20:03:04 +00:00
# @see https://docs.pixelfed.org/technical-documentation/config/#aws_secret_access_key
# @dottie/validate required_if=FILESYSTEM_CLOUD s3
#AWS_SECRET_ACCESS_KEY=""
2024-01-06 14:19:36 +00:00
2024-02-10 20:03:04 +00:00
# @see https://docs.pixelfed.org/technical-documentation/config/#aws_default_region
# @dottie/validate required_if=FILESYSTEM_CLOUD s3
#AWS_DEFAULT_REGION=""
2024-01-06 14:19:36 +00:00
2024-02-10 20:03:04 +00:00
# @see https://docs.pixelfed.org/technical-documentation/config/#aws_bucket
# @dottie/validate required_if=FILESYSTEM_CLOUD s3
#AWS_BUCKET=""
2024-01-06 14:19:36 +00:00
2024-02-10 20:03:04 +00:00
# @see https://docs.pixelfed.org/technical-documentation/config/#aws_url
# @dottie/validate required_if=FILESYSTEM_CLOUD s3
#AWS_URL=""
2024-01-06 14:19:36 +00:00
2024-02-10 20:03:04 +00:00
# @see https://docs.pixelfed.org/technical-documentation/config/#aws_endpoint
# @dottie/validate required_if=FILESYSTEM_CLOUD s3
#AWS_ENDPOINT=""
2020-04-11 15:48:02 +00:00
2024-02-10 20:03:04 +00:00
# @see https://docs.pixelfed.org/technical-documentation/config/#aws_use_path_style_endpoint
# @dottie/validate required_if=FILESYSTEM_CLOUD s3
2024-01-06 14:19:36 +00:00
#AWS_USE_PATH_STYLE_ENDPOINT="false"
2024-02-10 20:03:04 +00:00
################################################################################
# COSTAR
################################################################################
2024-01-06 14:19:36 +00:00
# Comma-separated list of domains to block.
#
2024-02-10 20:03:04 +00:00
# @default null (not set/commented out).
# @see https://docs.pixelfed.org/technical-documentation/config/#cs_blocked_domains
# @dottie/validate
#CS_BLOCKED_DOMAINS=""
2024-01-06 14:19:36 +00:00
# Comma-separated list of domains to add warnings.
#
2024-02-10 20:03:04 +00:00
# @default null (not set/commented out).
# @see https://docs.pixelfed.org/technical-documentation/config/#cs_cw_domains
# @dottie/validate
#CS_CW_DOMAINS=""
2024-01-06 14:19:36 +00:00
# Comma-separated list of domains to remove from public timelines.
#
2024-02-10 20:03:04 +00:00
# @default null (not set/commented out).
# @see https://docs.pixelfed.org/technical-documentation/config/#cs_unlisted_domains
# @dottie/validate
#CS_UNLISTED_DOMAINS=""
2024-01-06 14:19:36 +00:00
# Comma-separated list of keywords to block.
#
2024-02-10 20:03:04 +00:00
# @default null (not set/commented out).
# @see https://docs.pixelfed.org/technical-documentation/config/#cs_blocked_keywords
# @dottie/validate
#CS_BLOCKED_KEYWORDS=""
2020-04-11 15:48:02 +00:00
2024-01-06 14:19:36 +00:00
# Comma-separated list of keywords to add warnings.
#
2024-02-10 20:03:04 +00:00
# @default null (not set/commented out).
# @see https://docs.pixelfed.org/technical-documentation/config/#cs_cw_keywords
# @dottie/validate
#CS_CW_KEYWORDS=""
2020-04-11 15:48:02 +00:00
2024-01-06 14:19:36 +00:00
# Comma-separated list of keywords to remove from public timelines.
#
2024-02-10 20:03:04 +00:00
# @default null (not set/commented out).
# @see https://docs.pixelfed.org/technical-documentation/config/#cs_unlisted_keywords
# @dottie/validate
#CS_UNLISTED_KEYWORDS=""
2024-01-06 14:19:36 +00:00
2024-02-10 20:03:04 +00:00
# @default null (not set/commented out).
# @see https://docs.pixelfed.org/technical-documentation/config/#cs_blocked_actor
# @dottie/validate
#CS_BLOCKED_ACTOR=""
2024-01-06 14:19:36 +00:00
2024-02-10 20:03:04 +00:00
# @default null (not set/commented out).
# @see https://docs.pixelfed.org/technical-documentation/config/#cs_cw_actor
# @dottie/validate
#CS_CW_ACTOR=""
2024-01-06 14:19:36 +00:00
2024-02-10 20:03:04 +00:00
# @default null (not set/commented out).
# @see https://docs.pixelfed.org/technical-documentation/config/#cs_unlisted_actor
# @dottie/validate
#CS_UNLISTED_ACTOR=""
2024-01-06 14:19:36 +00:00
2024-02-10 20:03:04 +00:00
################################################################################
# logging
################################################################################
2024-01-06 14:19:36 +00:00
# Possible values:
#
# - "stack" (default)
# - "single"
# - "daily"
# - "slack"
# - "stderr"
# - "syslog"
# - "errorlog"
# - "null"
# - "emergency"
# - "media"
2024-02-10 20:03:04 +00:00
#
# @default "stack"
# @dottie/validate required,oneof=stack single daily slack stderr syslog errorlog null emergency media
2024-01-06 14:19:36 +00:00
LOG_CHANNEL="stderr"
# Used by single, stderr and syslog.
#
2024-02-10 20:03:04 +00:00
# @default "debug"
# @see https://docs.pixelfed.org/technical-documentation/config/#log_level
# @dottie/validate required,oneof=debug info notice warning error critical alert emergency
2024-01-06 14:19:36 +00:00
#LOG_LEVEL="debug"
# Used by stderr.
#
2024-02-10 20:03:04 +00:00
# @default ""
# @see https://docs.pixelfed.org/technical-documentation/config/#log_stderr_formatter
#LOG_STDERR_FORMATTER=""
2024-01-06 14:19:36 +00:00
# Used by slack.
#
2024-02-10 20:03:04 +00:00
# @default ""
# @see https://docs.pixelfed.org/technical-documentation/config/#log_slack_webhook_url
# @dottie/validate required,http_url
#LOG_SLACK_WEBHOOK_URL=""
2024-01-06 14:19:36 +00:00
2024-02-10 20:03:04 +00:00
################################################################################
# queue
################################################################################
2024-01-06 14:19:36 +00:00
# Possible values:
# - "sync" (default)
# - "database"
# - "beanstalkd"
# - "sqs"
# - "redis"
# - "null"
#
2024-02-10 20:03:04 +00:00
# @default "sync"
# @see https://docs.pixelfed.org/technical-documentation/config/#queue_driver
# @dottie/validate required,oneof=sync database beanstalkd sqs redis null
2024-01-06 14:19:36 +00:00
QUEUE_DRIVER="redis"
2024-02-10 20:03:04 +00:00
# @default "your-public-key"
# @see https://docs.pixelfed.org/technical-documentation/config/#sqs_key
# @dottie/validate required_if=QUEUE_DRIVER sqs
2024-01-06 14:19:36 +00:00
#SQS_KEY="your-public-key"
2020-04-11 15:48:02 +00:00
2024-02-10 20:03:04 +00:00
# @default "your-secret-key"
# @see https://docs.pixelfed.org/technical-documentation/config/#sqs_secret
# @dottie/validate required_if=QUEUE_DRIVER sqs
2024-01-06 14:19:36 +00:00
#SQS_SECRET="your-secret-key"
2020-04-11 15:48:02 +00:00
2024-02-10 20:03:04 +00:00
# @default "https://sqs.us-east-1.amazonaws.com/your-account-id"
# @see https://docs.pixelfed.org/technical-documentation/config/#sqs_prefix
# @dottie/validate required_if=QUEUE_DRIVER sqs
#SQS_PREFIX=""
2020-04-11 15:48:02 +00:00
2024-02-10 20:03:04 +00:00
# @default "your-queue-name"
# @see https://docs.pixelfed.org/technical-documentation/config/#sqs_queue
# @dottie/validate required_if=QUEUE_DRIVER sqs
2024-01-06 14:19:36 +00:00
#SQS_QUEUE="your-queue-name"
2020-04-11 15:48:02 +00:00
2024-02-10 20:03:04 +00:00
# @default "us-east-1"
# @see https://docs.pixelfed.org/technical-documentation/config/#sqs_region
# @dottie/validate required_if=QUEUE_DRIVER sqs
2024-01-06 14:19:36 +00:00
#SQS_REGION="us-east-1"
2020-04-11 15:48:02 +00:00
2024-02-10 20:03:04 +00:00
################################################################################
# session
################################################################################
2020-04-11 15:48:02 +00:00
2024-01-06 14:19:36 +00:00
# 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" (default)
# - "apc"
# - "memcached"
# - "redis"
# - "array"
2024-02-10 20:03:04 +00:00
#
# @default "database"
# @dottie/validate required,oneof=file cookie database apc memcached redis array
2024-01-06 14:19:36 +00:00
SESSION_DRIVER="redis"
2020-04-11 15:48:02 +00:00
2024-01-06 14:19:36 +00:00
# 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.
#
2024-02-10 20:03:04 +00:00
# @default 86400.
# @see https://docs.pixelfed.org/technical-documentation/config/#session_lifetime
# @dottie/validate required,number
2024-01-06 14:19:36 +00:00
#SESSION_LIFETIME="86400"
# 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.
#
2024-02-10 20:03:04 +00:00
# @default the value of APP_DOMAIN, or null.
# @see https://docs.pixelfed.org/technical-documentation/config/#session_domain
2024-02-19 00:48:36 +00:00
# @dottie/validate required,hostname
2024-01-06 14:19:36 +00:00
#SESSION_DOMAIN="${APP_DOMAIN}"
2024-02-10 20:03:04 +00:00
################################################################################
# horizon
################################################################################
2024-01-06 14:19:36 +00:00
2024-02-10 20:03:04 +00:00
# This prefix will be used when storing all Horizon data in Redis.
2024-01-06 14:19:36 +00:00
#
2024-02-10 20:03:04 +00:00
# You may modify the prefix when you are running multiple installations
# of Horizon on the same server so that they dont have problems.
2024-01-06 14:19:36 +00:00
#
2024-02-10 20:03:04 +00:00
# @default "horizon-"
# @see https://docs.pixelfed.org/technical-documentation/config/#horizon_prefix
# @dottie/validate required
#HORIZON_PREFIX="horizon-"
2020-04-11 15:48:02 +00:00
2024-02-10 20:03:04 +00:00
# @default "false"
# @see https://docs.pixelfed.org/technical-documentation/config/#horizon_darkmode
# @dottie/validate required,boolean
#HORIZON_DARKMODE="false"
# This value (in MB) describes the maximum amount of memory (in MB) the Horizon worker
# may consume before it is terminated and restarted.
2024-01-06 14:19:36 +00:00
#
2024-02-10 20:03:04 +00:00
# You should set this value according to the resources available to your server.
2024-01-06 14:19:36 +00:00
#
2024-02-10 20:03:04 +00:00
# @default "64"
# @dottie/validate required,number
#HORIZON_MEMORY_LIMIT="64"
2024-01-06 14:19:36 +00:00
2024-02-10 20:03:04 +00:00
# @see https://docs.pixelfed.org/technical-documentation/config/#horizon_balance_strategy
# @dottie/validate required
#HORIZON_BALANCE_STRATEGY="auto"
2024-01-06 14:19:36 +00:00
2024-02-10 20:03:04 +00:00
# @see https://docs.pixelfed.org/technical-documentation/config/#horizon_min_processes
# @dottie/validate required,number
#HORIZON_MIN_PROCESSES="1"
2024-01-06 14:19:36 +00:00
2024-02-10 20:03:04 +00:00
# @see https://docs.pixelfed.org/technical-documentation/config/#horizon_max_processes
# @dottie/validate required,number
#HORIZON_MAX_PROCESSES="20"
2024-01-06 14:19:36 +00:00
2024-02-10 20:03:04 +00:00
# @see https://docs.pixelfed.org/technical-documentation/config/#horizon_supervisor_memory
# @dottie/validate required,number
#HORIZON_SUPERVISOR_MEMORY="64"
2024-01-06 14:19:36 +00:00
2024-02-10 20:03:04 +00:00
# @see https://docs.pixelfed.org/technical-documentation/config/#horizon_supervisor_tries
# @dottie/validate required,number
#HORIZON_SUPERVISOR_TRIES="3"
2024-01-06 14:19:36 +00:00
2024-02-10 20:03:04 +00:00
# @see https://docs.pixelfed.org/technical-documentation/config/#horizon_supervisor_nice
# @dottie/validate required,number
#HORIZON_SUPERVISOR_NICE="0"
# @see https://docs.pixelfed.org/technical-documentation/config/#horizon_supervisor_timeout
# @dottie/validate required,number
#HORIZON_SUPERVISOR_TIMEOUT="300"
2024-01-06 14:19:36 +00:00
2024-01-15 23:50:16 +00:00
################################################################################
2024-02-10 20:03:04 +00:00
# docker shared
2024-01-15 23:50:16 +00:00
################################################################################
2024-01-06 18:01:48 +00:00
2024-02-10 20:03:04 +00:00
# A random 32-character string to be used as an encryption key.
2024-01-15 23:50:16 +00:00
#
2024-02-10 20:03:04 +00:00
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# ! NOTE: This will be auto-generated by Docker during bootstrap
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2024-01-15 23:50:16 +00:00
#
2024-02-10 20:03:04 +00:00
# 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.
#
# @see https://docs.pixelfed.org/technical-documentation/config/#app_key
2024-02-11 02:00:09 +00:00
# @dottie/validate required
2024-02-10 20:03:04 +00:00
APP_KEY=
# Prefix for container names (without any dash at the end)
2024-02-10 20:03:04 +00:00
# @dottie/validate required
DOCKER_ALL_CONTAINER_NAME_PREFIX="${APP_DOMAIN}"
# How often Docker health check should run for all services
#
# Can be overridden by individual [DOCKER_*_HEALTHCHECK_INTERVAL] settings further down
2024-02-10 20:03:04 +00:00
#
# @default "10s"
# @dottie/validate required
DOCKER_ALL_DEFAULT_HEALTHCHECK_INTERVAL="10s"
2024-01-26 20:45:08 +00:00
# Path (relative to the docker-compose.yml) or absolute (/some/other/path) where containers will *all* data
# will be stored (data, config, overrides)
2024-02-10 20:03:04 +00:00
#
# @default "./docker-compose-state"
# @dottie/validate required,dir
2024-01-26 20:45:08 +00:00
DOCKER_ALL_HOST_ROOT_PATH="./docker-compose-state"
# Path (relative to the docker-compose.yml) or absolute (/some/other/path) where containers will store their data
2024-02-10 20:03:04 +00:00
#
# @default "${DOCKER_ALL_HOST_ROOT_PATH}/data"
# @dottie/validate 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 confguration
2024-02-10 20:03:04 +00:00
#
# @default "${DOCKER_ALL_HOST_ROOT_PATH}/config"
# @dottie/validate required,dir
DOCKER_ALL_HOST_CONFIG_ROOT_PATH="${DOCKER_ALL_HOST_ROOT_PATH:?error}/config"
2024-01-26 20:45:08 +00:00
# Path (relative to the docker-compose.yml) or absolute (/some/other/path) where containers will store overrides
2024-02-10 20:03:04 +00:00
#
# @default "${DOCKER_ALL_HOST_ROOT_PATH}/overrides"
# @dottie/validate required,dir
DOCKER_APP_HOST_OVERRIDES_PATH="${DOCKER_ALL_HOST_ROOT_PATH:?error}/overrides"
# 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!
#
# @see https://www.php.net/manual/en/timezones.php
# @dottie/validate required,timezone
TZ="${APP_TIMEZONE}"
2024-01-15 23:50:16 +00:00
################################################################################
2024-02-10 20:03:04 +00:00
# docker app
################################################################################
# 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.
2024-02-10 20:03:04 +00:00
# @dottie/validate required
DOCKER_APP_RELEASE="branch-jippi-fork"
# The PHP version to use for [web] and [worker] container
#
# Any version published on https://hub.docker.com/_/php should work
#
# Example:
#
# * 8.1
# * 8.2
# * 8.2.14
# * latest
#
# 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
2024-02-10 20:03:04 +00:00
# @dottie/validate required
DOCKER_APP_PHP_VERSION="8.2"
2024-01-26 23:39:18 +00:00
# The container runtime to use.
#
2024-02-10 20:03:04 +00:00
# @see https://docs.pixelfed.org/running-pixelfed/docker/runtimes.html
# @dottie/validate required,oneof=apache nginx fpm
2024-01-26 23:39:18 +00:00
DOCKER_APP_RUNTIME="apache"
# The Debian release variant to use of the [php] Docker image
2024-01-26 23:39:18 +00:00
#
# Examlpe: [bookworm] or [bullseye]
# @dottie/validate required,oneof=bookworm bullseye
DOCKER_APP_DEBIAN_RELEASE="bullseye"
2024-01-15 23:50:16 +00:00
2024-01-26 23:39:18 +00:00
# The [php] Docker image base type
#
2024-02-10 20:03:04 +00:00
# @see https://docs.pixelfed.org/running-pixelfed/docker/runtimes.html
# @dottie/validate required,oneof=apache fpm cli
2024-01-26 23:39:18 +00:00
DOCKER_APP_BASE_TYPE="apache"
2024-01-15 23:50:16 +00:00
# Image to pull the Pixelfed Docker images from.
#
# Example values:
#
# * "ghcr.io/pixelfed/pixelfed" to pull from GitHub
# * "pixelfed/pixelfed" to pull from DockerHub
# * "your/fork" to pull from a custom fork
#
2024-02-10 20:03:04 +00:00
# @dottie/validate required
DOCKER_APP_IMAGE="ghcr.io/jippi/pixelfed"
2024-01-15 23:50:16 +00:00
# Pixelfed version (image tag) to pull from the registry.
#
2024-02-10 20:03:04 +00:00
# @see https://github.com/pixelfed/pixelfed/pkgs/container/pixelfed
# @dottie/validate required
DOCKER_APP_TAG="${DOCKER_APP_RELEASE:?error}-${DOCKER_APP_RUNTIME:?error}-${DOCKER_APP_PHP_VERSION:?error}"
2024-01-15 23:50:16 +00:00
# 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)
2024-02-10 20:03:04 +00:00
# @dottie/validate required,dir
DOCKER_APP_HOST_STORAGE_PATH="${DOCKER_ALL_HOST_DATA_ROOT_PATH:?error}/pixelfed/storage"
2024-01-15 23:50:16 +00:00
# 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)
2024-02-10 20:03:04 +00:00
# @dottie/validate required,dir
DOCKER_APP_HOST_CACHE_PATH="${DOCKER_ALL_HOST_DATA_ROOT_PATH:?error}/pixelfed/cache"
2024-01-15 23:50:16 +00:00
# Automatically run "One-time setup tasks" commands.
2024-01-17 16:11:36 +00:00
#
# If you are migrating to this docker-compose setup or have manually run the "One time seutp"
# tasks (https://docs.pixelfed.org/running-pixelfed/installation/#setting-up-services)
# you can set this to "0" to prevent them from running.
#
# Otherwise, leave it at "1" to have them run *once*.
2024-02-10 20:03:04 +00:00
# @dottie/validate required,boolean
#DOCKER_APP_RUN_ONE_TIME_SETUP_TASKS="1"
# 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"
2024-02-10 20:03:04 +00:00
# @dottie/validate required
#DOCKER_APP_ENSURE_OWNERSHIP_PATHS=""
# Enable Docker Entrypoint debug mode (will call [set -x] in bash scripts)
2024-02-10 20:03:04 +00:00
# by setting this to "1"
# @dottie/validate required,boolean
#DOCKER_APP_ENTRYPOINT_DEBUG="0"
# Show the "diff" when applying templating to files
#
# @default "1"
# @dottie/validate required,boolean
#DOCKER_APP_ENTRYPOINT_SHOW_TEMPLATE_DIFF="1"
# Docker entrypoints that should be skipped on startup
# @default ""
#ENTRYPOINT_SKIP_SCRIPTS=""
# List of extra APT packages (separated by space) to install when building
# locally using [docker compose build].
#
2024-02-10 20:03:04 +00:00
# @see https://github.com/pixelfed/pixelfed/blob/dev/docker/customizing.md
# @dottie/validate required
#DOCKER_APP_APT_PACKAGES_EXTRA=""
# List of *extra* PECL extensions (separated by space) to install when
# building locally using [docker compose build].
#
2024-02-10 20:03:04 +00:00
# @see https://github.com/pixelfed/pixelfed/blob/dev/docker/customizing.md
# @dottie/validate required
#DOCKER_APP_PHP_PECL_EXTENSIONS_EXTRA=""
# List of *extra* PHP extensions (separated by space) to install when
# building locally using [docker compose build].
#
2024-02-10 20:03:04 +00:00
# @see https://github.com/pixelfed/pixelfed/blob/dev/docker/customizing.md
# @dottie/validate required
#DOCKER_APP_PHP_EXTENSIONS_EXTRA=""
2024-02-10 20:03:04 +00:00
# @default "128M"
# @see https://www.php.net/manual/en/ini.core.php#ini.memory-limit
# @dottie/validate required
#DOCKER_APP_PHP_MEMORY_LIMIT="128M"
# @default "E_ALL & ~E_DEPRECATED & ~E_STRICT"
# @see http://php.net/error-reporting
# @dottie/validate required
#DOCKER_APP_PHP_ERROR_REPORTING="E_ALL & ~E_DEPRECATED & ~E_STRICT"
# @default "off"
# @see http://php.net/display-errors
# @dottie/validate required,oneof=on off
#DOCKER_APP_PHP_DISPLAY_ERRORS="off"
# Enables the opcode cache.
#
# When disabled, code is not optimised or cached.
#
# @default "1"
# @see https://www.php.net/manual/en/opcache.configuration.php#ini.opcache.enable
# @dottie/validate required,oneof=0 1
#DOCKER_APP_PHP_OPCACHE_ENABLE="1"
# 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.
#
# @default "0"
# @see https://www.php.net/manual/en/opcache.configuration.php#ini.opcache.validate-timestamps
# @dottie/validate required,oneof=0 1
#DOCKER_APP_PHP_OPCACHE_VALIDATE_TIMESTAMPS="0"
# How often to check script timestamps for updates, in seconds.
# 0 will result in OPcache checking for updates on every request.
#
# @default "2"
# @see https://www.php.net/manual/en/opcache.configuration.php#ini.opcache.revalidate-freq
# @dottie/validate required,oneof=0 1 2
#DOCKER_APP_PHP_OPCACHE_REVALIDATE_FREQ="2"
################################################################################
2024-02-10 20:03:04 +00:00
# docker redis
################################################################################
2024-02-21 21:52:59 +00:00
# Set this to a non-empty value (e.g. "disabled") to disable the [redis] service
#DOCKER_REDIS_PROFILE=
# Redis version to use as Docker tag
#
2024-02-10 20:03:04 +00:00
# @see https://hub.docker.com/_/redis
# @dottie/validate required
DOCKER_REDIS_VERSION="7.2"
# 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)
2024-02-10 20:03:04 +00:00
# @dottie/validate required,dir
DOCKER_REDIS_HOST_DATA_PATH="${DOCKER_ALL_HOST_DATA_ROOT_PATH:?error}/redis"
2024-01-17 16:11:36 +00:00
2024-01-06 14:19:36 +00:00
# Port that Redis will listen on *outside* the container (e.g. the host machine)
2024-02-10 20:03:04 +00:00
# @dottie/validate required,number
DOCKER_REDIS_HOST_PORT="${REDIS_PORT:?error}"
2024-01-06 14:19:36 +00:00
2024-01-17 14:25:31 +00:00
# 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.
2024-01-17 14:25:31 +00:00
#
2024-02-10 20:03:04 +00:00
# @default ""
# @dottie/validate required
2024-01-17 14:25:31 +00:00
#DOCKER_REDIS_CONFIG_FILE="/etc/redis/redis.conf"
2024-01-17 16:11:36 +00:00
# How often Docker health check should run for [redis] service
#
2024-02-10 20:03:04 +00:00
# @default "10s"
# @dottie/validate required
DOCKER_REDIS_HEALTHCHECK_INTERVAL="${DOCKER_ALL_DEFAULT_HEALTHCHECK_INTERVAL:?error}"
################################################################################
2024-02-10 20:03:04 +00:00
# docker db
################################################################################
2024-02-21 21:52:59 +00:00
# Set this to a non-empty value (e.g. "disabled") to disable the [db] service
#DOCKER_DB_PROFILE=
2024-02-10 20:03:04 +00:00
# Docker image for the DB service
# @dottie/validate required
DOCKER_DB_IMAGE="mariadb:${DB_VERSION}"
# Command to pass to the [db] server container
# @dottie/validate required
DOCKER_DB_COMMAND="--default-authentication-plugin=mysql_native_password"
# 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)
2024-02-10 20:03:04 +00:00
# @dottie/validate required,dir
DOCKER_DB_HOST_DATA_PATH="${DOCKER_ALL_HOST_DATA_ROOT_PATH:?error}/db"
# 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]
# @dottie/validate required
DOCKER_DB_CONTAINER_DATA_PATH="/var/lib/mysql"
# Port that the database will listen on *OUTSIDE* the container (e.g. the host machine)
#
# Use "3306" for MySQL/MariaDB and "5432" for PostgreeSQL
# @dottie/validate required,number
DOCKER_DB_HOST_PORT="${DB_PORT:?error}"
2024-01-17 16:11:36 +00:00
2024-02-10 20:03:04 +00:00
# Port that the database will listen on *INSIDE* the container
2024-01-06 14:19:36 +00:00
#
# Use "3306" for MySQL/MariaDB and "5432" for PostgreeSQL
2024-02-10 20:03:04 +00:00
# @dottie/validate required,number
DOCKER_DB_CONTAINER_PORT="${DB_PORT:?error}"
2024-01-06 14:19:36 +00:00
2024-01-17 16:11:36 +00:00
# How often Docker health check should run for [db] service
2024-02-10 20:03:04 +00:00
# @dottie/validate required
DOCKER_DB_HEALTHCHECK_INTERVAL="${DOCKER_ALL_DEFAULT_HEALTHCHECK_INTERVAL:?error}"
2024-01-17 16:11:36 +00:00
################################################################################
2024-02-10 20:03:04 +00:00
# docker web
################################################################################
2024-01-06 15:57:20 +00:00
# Set this to a non-empty value (e.g. "disabled") to disable the [web] service
#DOCKER_WEB_PROFILE=""
2024-01-06 18:01:48 +00:00
2024-01-15 19:20:22 +00:00
# Port to expose [web] container will listen on *outside* the container (e.g. the host machine) for *HTTP* traffic only
2024-02-10 20:03:04 +00:00
# @dottie/validate required,number
2024-01-15 19:20:22 +00:00
DOCKER_WEB_PORT_EXTERNAL_HTTP="8080"
2024-01-17 16:11:36 +00:00
# How often Docker health check should run for [web] service
2024-02-10 20:03:04 +00:00
# @dottie/validate required
DOCKER_WEB_HEALTHCHECK_INTERVAL="${DOCKER_ALL_DEFAULT_HEALTHCHECK_INTERVAL:?error}"
2024-01-17 16:11:36 +00:00
################################################################################
2024-02-10 20:03:04 +00:00
# docker worker
################################################################################
2024-01-17 16:11:36 +00:00
# Set this to a non-empty value (e.g. "disabled") to disable the [worker] service
#DOCKER_WORKER_PROFILE=""
2024-01-06 18:01:48 +00:00
# How often Docker health check should run for [worker] service
2024-02-10 20:03:04 +00:00
# @dottie/validate required
DOCKER_WORKER_HEALTHCHECK_INTERVAL="${DOCKER_ALL_DEFAULT_HEALTHCHECK_INTERVAL:?error}"
################################################################################
2024-02-10 20:03:04 +00:00
# docker proxy
################################################################################
2024-01-15 19:39:59 +00:00
# Set this to a non-empty value (e.g. "disabled") to disable the [proxy] and [proxy-acme] service
2024-02-10 20:03:04 +00:00
#DOCKER_PROXY_PROFILE=
2024-01-15 19:39:59 +00:00
# Set this to a non-empty value (e.g. "disabled") to disable the [proxy-acme] service
#DOCKER_PROXY_ACME_PROFILE="${DOCKER_PROXY_PROFILE:-}"
2024-01-15 20:42:11 +00:00
2024-02-21 21:52:59 +00:00
# The version of nginx-proxy to use
#
# @see https://hub.docker.com/r/nginxproxy/nginx-proxy
# @dottie/validate required
DOCKER_PROXY_VERSION="1.4"
2024-01-17 16:11:36 +00:00
# How often Docker health check should run for [proxy] service
2024-02-10 20:03:04 +00:00
# @dottie/validate required
DOCKER_PROXY_HEALTHCHECK_INTERVAL="${DOCKER_ALL_DEFAULT_HEALTHCHECK_INTERVAL:?error}"
2024-01-17 16:11:36 +00:00
# Port that the [proxy] will listen on *outside* the container (e.g. the host machine) for HTTP traffic
2024-02-10 20:03:04 +00:00
# @dottie/validate required,number
DOCKER_PROXY_HOST_PORT_HTTP="80"
2024-01-15 20:42:11 +00:00
# Port that the [proxy] will listen on *outside* the container (e.g. the host machine) for HTTPS traffic
2024-02-10 20:03:04 +00:00
# @dottie/validate required,number
DOCKER_PROXY_HOST_PORT_HTTPS="443"
2024-01-15 20:42:11 +00:00
# Path to the Docker socket on the *host*
2024-02-10 20:03:04 +00:00
# @dottie/validate required,file
DOCKER_PROXY_HOST_DOCKER_SOCKET_PATH="/var/run/docker.sock"
2024-02-10 20:03:04 +00:00
# The host to request LetsEncrypt certificate for
# @dottie/validate required,fqdn
DOCKER_PROXY_LETSENCRYPT_HOST="${APP_DOMAIN}"
2024-01-15 20:42:11 +00:00
2024-02-10 20:03:04 +00:00
# The e-mail to use for Lets Encrypt certificate requests.
# @dottie/validate required,email
DOCKER_PROXY_LETSENCRYPT_EMAIL="${INSTANCE_CONTACT_EMAIL:?error}"
2024-01-15 23:50:16 +00:00
2024-02-10 20:03:04 +00:00
# Lets Encrypt staging/test servers for certificate requests.
2024-01-15 23:50:16 +00:00
#
2024-02-10 20:03:04 +00:00
# Setting this to any value will change to letsencrypt test servers.
2024-02-11 02:00:09 +00:00
#DOCKER_PROXY_LETSENCRYPT_TEST="1"