pixelfed/.env.docker

1167 lines
38 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# -*- mode: bash -*-
# vi: ft=bash
# shellcheck disable=SC2034,SC2148
################################################################################
# Pixelfed application configuration
################################################################################
# A random 32-character string to be used as an encryption key.
#
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# ! NOTE: 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.
#
# See: https://docs.pixelfed.org/technical-documentation/config/#app_key
APP_KEY=
# See: https://docs.pixelfed.org/technical-documentation/config/#app_name-1
APP_NAME="Pixelfed Prod"
# Application domains used for routing.
#
# See: https://docs.pixelfed.org/technical-documentation/config/#app_domain
APP_DOMAIN="__CHANGE_ME__"
# 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.
#
# See: https://docs.pixelfed.org/technical-documentation/config/#app_url
APP_URL="https://${APP_DOMAIN}"
# Application domains used for routing.
#
# See: https://docs.pixelfed.org/technical-documentation/config/#admin_domain
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.
#
# See: https://docs.pixelfed.org/technical-documentation/config/#app_env
#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.
#
# See: https://docs.pixelfed.org/technical-documentation/config/#app_debug
#APP_DEBUG="false"
# Enable/disable new local account registrations.
#
# See: https://docs.pixelfed.org/technical-documentation/config/#open_registration
#OPEN_REGISTRATION="true"
# Require email verification before a new user can do anything.
#
# Defaults to "true".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#enforce_email_verification
#ENFORCE_EMAIL_VERIFICATION="true"
# Allow a maximum number of user accounts.
#
# Defaults to "1000".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#pf_max_users
#PF_MAX_USERS="1000"
# Enforce the maximum number of user accounts
#
# Defaults to "true".
#PF_ENFORCE_MAX_USERS="true"
# See: https://docs.pixelfed.org/technical-documentation/config/#oauth_enabled
OAUTH_ENABLED="true"
# Defaults to "UTC".
#
# ! Do not edit your timezone once the service is running - or things will break!
#
# See: https://docs.pixelfed.org/technical-documentation/config/#app_timezone
# See: https://www.php.net/manual/en/timezones.php
APP_TIMEZONE="UTC"
# 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".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#app_locale
#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.
#
# Defaults to "en".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#app_fallback_locale
#APP_FALLBACK_LOCALE="en"
# See: https://docs.pixelfed.org/technical-documentation/config/#limit_account_size
#LIMIT_ACCOUNT_SIZE="true"
# Update the max account size, the per user limit of files in kB.
#
# Defaults to "1000000" (1GB).
#
# See: https://docs.pixelfed.org/technical-documentation/config/#max_account_size-kb
#MAX_ACCOUNT_SIZE="1000000"
# Update the max photo size, in kB.
#
# Defaults to "15000" (15MB).
#
# See: https://docs.pixelfed.org/technical-documentation/config/#max_photo_size-kb
#MAX_PHOTO_SIZE="15000"
# The max number of photos allowed per post.
#
# Defaults to "4".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#max_album_length
#MAX_ALBUM_LENGTH="4"
# Update the max avatar size, in kB.
#
# Defaults to "2000" (2MB).
#
# See: https://docs.pixelfed.org/technical-documentation/config/#max_avatar_size-kb
#MAX_AVATAR_SIZE="2000"
# Change the caption length limit for new local posts.
#
# Defaults to "500".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#max_caption_length
#MAX_CAPTION_LENGTH="500"
# Change the bio length limit for user profiles.
#
# Defaults to "125".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#max_bio_length
#MAX_BIO_LENGTH="125"
# Change the length limit for user names.
#
# Defaults to "30".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#max_name_length
#MAX_NAME_LENGTH="30"
# Resize and optimize image uploads.
#
# Defaults to "true".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#pf_optimize_images
#PF_OPTIMIZE_IMAGES="true"
# Set the image optimization quality, must be a value between 1-100.
#
# Defaults to "80".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#image_quality
#IMAGE_QUALITY="80"
# Resize and optimize video uploads.
#
# Defaults to "true".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#pf_optimize_videos
#PF_OPTIMIZE_VIDEOS="true"
# Enable account deletion.
#
# Defaults to "true".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#account_deletion
#ACCOUNT_DELETION="true"
# Set account deletion queue after X days, set to false to delete accounts immediately.
#
# Defaults to "false".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#account_delete_after
#ACCOUNT_DELETE_AFTER="false"
# Defaults to "Pixelfed - Photo sharing for everyone".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#instance_description
#INSTANCE_DESCRIPTION=""
# Defaults to "false".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#instance_public_hashtags
#INSTANCE_PUBLIC_HASHTAGS="false"
# Defaults to "".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#instance_contact_email
INSTANCE_CONTACT_EMAIL="admin@${APP_DOMAIN}"
# Defaults to "false".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#instance_public_local_timeline
#INSTANCE_PUBLIC_LOCAL_TIMELINE="false"
# Defaults to "".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#banned_usernames
#BANNED_USERNAMES=""
# Defaults to "false".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#stories_enabled
#STORIES_ENABLED="false"
# Defaults to "false".
#
# Level is hardcoded to 1.
#
# See: https://docs.pixelfed.org/technical-documentation/config/#restricted_instance
#RESTRICTED_INSTANCE="false"
################################################################################
# Lets Encrypt configuration
################################################################################
# The host to request LetsEncrypt certificate for
LETSENCRYPT_HOST="${APP_DOMAIN}"
# The e-mail to use for Lets Encrypt certificate requests.
LETSENCRYPT_EMAIL="__CHANGE_ME__"
# Lets Encrypt staging/test servers for certificate requests.
#
# Setting this to any value will change to letsencrypt test servers.
#LETSENCRYPT_TEST="1"
################################################################################
# Database configuration
################################################################################
# Database version to use (as Docker tag)
#
# See: https://hub.docker.com/_/mariadb
DB_VERSION="11.2"
# 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"
#
# See: https://docs.pixelfed.org/technical-documentation/config/#db_connection
DB_CONNECTION="mysql"
# See: https://docs.pixelfed.org/technical-documentation/config/#db_host
DB_HOST="db"
# See: https://docs.pixelfed.org/technical-documentation/config/#db_username
DB_USERNAME="pixelfed"
# See: https://docs.pixelfed.org/technical-documentation/config/#db_password
DB_PASSWORD="__CHANGE_ME__"
# See: https://docs.pixelfed.org/technical-documentation/config/#db_database
DB_DATABASE="pixelfed_prod"
# Use "3306" for MySQL/MariaDB and "5432" for PostgreeSQL
#
# See: https://docs.pixelfed.org/technical-documentation/config/#db_port
DB_PORT="3306"
# Automatically run [artisan migrate --force] if new migrations are detected.
DB_APPLY_NEW_MIGRATIONS_AUTOMATICALLY="false"
################################################################################
# Mail configuration
################################################################################
# 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"
#
# See: https://docs.pixelfed.org/technical-documentation/config/#mail_driver
#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.
#
# Defaults to "smtp.mailgun.org".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#mail_host
#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.
#
# Defaults to 587.
#
# See: https://docs.pixelfed.org/technical-documentation/config/#mail_port
#MAIL_PORT="587"
# 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".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#mail_from_address
MAIL_FROM_ADDRESS="hello@${APP_DOMAIN}"
# Defaults to "Example".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#mail_from_name
MAIL_FROM_NAME="Pixelfed @ ${APP_DOMAIN}"
# 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 "".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#mail_username
#MAIL_USERNAME=""
# Defaults to "".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#mail_password
#MAIL_PASSWORD=""
# 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".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#mail_encryption
#MAIL_ENCRYPTION="tls"
################################################################################
# Redis configuration
################################################################################
# Defaults to "phpredis".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#redis_client
#REDIS_CLIENT="phpredis"
# Defaults to "tcp".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#redis_scheme
#REDIS_SCHEME="tcp"
# Defaults to "localhost".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#redis_host
REDIS_HOST="redis"
# Defaults to null (not set/commented out).
#
# See: https://docs.pixelfed.org/technical-documentation/config/#redis_password
#REDIS_PASSWORD=
# Defaults to "6379".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#redis_port
REDIS_PORT="6379"
# Defaults to "0".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#redis_database
#REDIS_DATABASE="0"
################################################################################
# Cache settings
################################################################################
# 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"
#
# See: https://docs.pixelfed.org/technical-documentation/config/#cache_driver
CACHE_DRIVER="redis"
# Defaults to ${APP_NAME}_cache, or laravel_cache if no APP_NAME is set.
#
# See: https://docs.pixelfed.org/technical-documentation/config/#cache_prefix
#CACHE_PREFIX="{APP_NAME}_cache"
################################################################################
# Horizon settings
################################################################################
# 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 dont have problems.
#
# Defaults to "horizon-".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#horizon_prefix
#HORIZON_PREFIX="horizon-"
# Defaults to "false".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#horizon_darkmode
#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.
#
# You should set this value according to the resources available to your server.
#
# Defaults to "64".
#HORIZON_MEMORY_LIMIT="64"
# See: https://docs.pixelfed.org/technical-documentation/config/#horizon_balance_strategy
#HORIZON_BALANCE_STRATEGY="auto"
# See: https://docs.pixelfed.org/technical-documentation/config/#horizon_min_processes
#HORIZON_MIN_PROCESSES="1"
# See: https://docs.pixelfed.org/technical-documentation/config/#horizon_max_processes
#HORIZON_MAX_PROCESSES="20"
# See: https://docs.pixelfed.org/technical-documentation/config/#horizon_supervisor_memory
#HORIZON_SUPERVISOR_MEMORY="64"
# See: https://docs.pixelfed.org/technical-documentation/config/#horizon_supervisor_tries
#HORIZON_SUPERVISOR_TRIES="3"
# See: https://docs.pixelfed.org/technical-documentation/config/#horizon_supervisor_nice
#HORIZON_SUPERVISOR_NICE="0"
# See: https://docs.pixelfed.org/technical-documentation/config/#horizon_supervisor_timeout
#HORIZON_SUPERVISOR_TIMEOUT="300"
################################################################################
# Experiments
################################################################################
# Text only posts (alpha).
#
# Defaults to "false".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#exp_top
#EXP_TOP="false"
# Poll statuses (alpha).
#
# Defaults to "false".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#exp_polls
#EXP_POLLS="false"
# Cached public timeline for larger instances (beta).
#
# Defaults to "false".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#exp_cpt
#EXP_CPT="false"
# Enforce Mastodon API Compatibility (alpha).
#
# Defaults to "true".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#exp_emc
#EXP_EMC="true"
################################################################################
# ActivityPub confguration
################################################################################
# Defaults to "false".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#activity_pub
ACTIVITY_PUB="true"
# Defaults to "true".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#ap_remote_follow
#AP_REMOTE_FOLLOW="true"
# Defaults to "true".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#ap_sharedinbox
#AP_SHAREDINBOX="true"
# Defaults to "true".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#ap_inbox
#AP_INBOX="true"
# Defaults to "true".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#ap_outbox
#AP_OUTBOX="true"
################################################################################
# Federation confguration
################################################################################
# Defaults to "true".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#atom_feeds
#ATOM_FEEDS="true"
# Defaults to "true".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#nodeinfo
#NODEINFO="true"
# Defaults to "true".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#webfinger
#WEBFINGER="true"
################################################################################
# Storage (cloud)
################################################################################
# Store media on object storage like S3, Digital Ocean Spaces, Rackspace
#
# Defaults to "false".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#pf_enable_cloud
#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.
#
# Defaults to "s3".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#filesystem_cloud
#FILESYSTEM_CLOUD="s3"
# Defaults to true.
#
# See: https://docs.pixelfed.org/technical-documentation/config/#media_delete_local_after_cloud
#MEDIA_DELETE_LOCAL_AFTER_CLOUD="true"
################################################################################
# Storage (cloud) - S3 andS S3 *compatible* providers
################################################################################
# See: https://docs.pixelfed.org/technical-documentation/config/#aws_access_key_id
#AWS_ACCESS_KEY_ID=""
# See: https://docs.pixelfed.org/technical-documentation/config/#aws_secret_access_key
#AWS_SECRET_ACCESS_KEY=""
# See: https://docs.pixelfed.org/technical-documentation/config/#aws_default_region
#AWS_DEFAULT_REGION=""
# See: https://docs.pixelfed.org/technical-documentation/config/#aws_bucket
#AWS_BUCKET=""
# See: https://docs.pixelfed.org/technical-documentation/config/#aws_url
#AWS_URL=""
# See: https://docs.pixelfed.org/technical-documentation/config/#aws_endpoint
#AWS_ENDPOINT=""
# See: https://docs.pixelfed.org/technical-documentation/config/#aws_use_path_style_endpoint
#AWS_USE_PATH_STYLE_ENDPOINT="false"
###############################################################
# COSTAR - Confirm Object Sentiment Transform and Reduce
###############################################################
# Comma-separated list of domains to block.
#
# Defaults to null (not set/commented out).
#
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_blocked_domains
#CS_BLOCKED_DOMAINS=""
# Comma-separated list of domains to add warnings.
#
# Defaults to null (not set/commented out).
#
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_cw_domains
#CS_CW_DOMAINS=""
# Comma-separated list of domains to remove from public timelines.
#
# Defaults to null (not set/commented out).
#
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_unlisted_domains
#CS_UNLISTED_DOMAINS=""
# Comma-separated list of keywords to block.
#
# Defaults to null (not set/commented out).
#
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_blocked_keywords
#CS_BLOCKED_KEYWORDS=""
# Comma-separated list of keywords to add warnings.
#
# Defaults to null (not set/commented out).
#
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_cw_keywords
#CS_CW_KEYWORDS=""
# Comma-separated list of keywords to remove from public timelines.
#
# Defaults to null (not set/commented out).
#
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_unlisted_keywords
#CS_UNLISTED_KEYWORDS=""
# Defaults to null (not set/commented out).
#
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_blocked_actor
#CS_BLOCKED_ACTOR=""
# Defaults to null (not set/commented out).
#
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_cw_actor
#CS_CW_ACTOR=""
# Defaults to null (not set/commented out).
#
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_unlisted_actor
#CS_UNLISTED_ACTOR=""
###############################################################
# Media
###############################################################
# Defaults to false.
#
# See: https://docs.pixelfed.org/technical-documentation/config/#media_exif_database
MEDIA_EXIF_DATABASE="true"
# Pixelfed supports GD or ImageMagick to process images.
#
# Defaults to "gd".
#
# Possible values:
# - "gd" (default)
# - "imagick"
#
# See: https://docs.pixelfed.org/technical-documentation/config/#image_driver
#IMAGE_DRIVER="gd"
###############################################################
# Logging
###############################################################
# Possible values:
#
# - "stack" (default)
# - "single"
# - "daily"
# - "slack"
# - "stderr"
# - "syslog"
# - "errorlog"
# - "null"
# - "emergency"
# - "media"
LOG_CHANNEL="stderr"
# Used by single, stderr and syslog.
#
# Defaults to "debug" for all of those.
#
# See: https://docs.pixelfed.org/technical-documentation/config/#log_level
#LOG_LEVEL="debug"
# Used by stderr.
#
# Defaults to "".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#log_stderr_formatter
#LOG_STDERR_FORMATTER=""
# Used by slack.
#
# Defaults to "".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#log_slack_webhook_url
#LOG_SLACK_WEBHOOK_URL=""
###############################################################
# Broadcasting settings
###############################################################
# 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)
#
# See: https://docs.pixelfed.org/technical-documentation/config/#broadcast_driver
BROADCAST_DRIVER="redis"
###############################################################
# Sanitizing settings
###############################################################
# Defaults to "true".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#restrict_html_types
#RESTRICT_HTML_TYPES="true"
###############################################################
# Queue configuration
###############################################################
# Possible values:
# - "sync" (default)
# - "database"
# - "beanstalkd"
# - "sqs"
# - "redis"
# - "null"
#
# See: https://docs.pixelfed.org/technical-documentation/config/#queue_driver
QUEUE_DRIVER="redis"
###############################################################
# Queue (SQS) configuration
###############################################################
# Defaults to "your-public-key".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#sqs_key
#SQS_KEY="your-public-key"
# Defaults to "your-secret-key".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#sqs_secret
#SQS_SECRET="your-secret-key"
# Defaults to "https://sqs.us-east-1.amazonaws.com/your-account-id".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#sqs_prefix
#SQS_PREFIX=""
# Defaults to "your-queue-name".
#
# https://docs.pixelfed.org/technical-documentation/config/#sqs_queue
#SQS_QUEUE="your-queue-name"
# Defaults to "us-east-1".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#sqs_region
#SQS_REGION="us-east-1"
###############################################################
# Session configuration
###############################################################
# 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"
SESSION_DRIVER="redis"
# 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.
#
# See: https://docs.pixelfed.org/technical-documentation/config/#session_lifetime
#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.
#
# Defaults to the value of APP_DOMAIN, or null.
#
# See: https://docs.pixelfed.org/technical-documentation/config/#session_domain
#SESSION_DOMAIN="${APP_DOMAIN}"
###############################################################
# Proxy configuration
###############################################################
# 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.
#
# Defaults to "*".
#
# See: https://docs.pixelfed.org/technical-documentation/config/#trust_proxies
TRUST_PROXIES="*"
###############################################################
# Passport configuration
###############################################################
#
# 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
#PASSPORT_PRIVATE_KEY=""
# See: https://docs.pixelfed.org/technical-documentation/config/#passport_public_key
#PASSPORT_PUBLIC_KEY=""
###############################################################
# PHP configuration
###############################################################
# See: https://www.php.net/manual/en/ini.core.php#ini.memory-limit
#PHP_MEMORY_LIMIT="128M"
################################################################################
# Other configuration
################################################################################
# ? Add your own configuration here
################################################################################
# Timezone configuration
################################################################################
# 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
TZ="${APP_TIMEZONE}"
################################################################################
# Docker configuraton for *all* services
################################################################################
# Prefix for container names (without any dash at the end)
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
DOCKER_ALL_DEFAULT_HEALTHCHECK_INTERVAL="10s"
# Path (relative to the docker-compose.yml) or absolute (/some/other/path) where containers will store their data
DOCKER_ALL_HOST_DATA_ROOT_PATH="./docker-compose-state/data"
# Path (relative to the docker-compose.yml) or absolute (/some/other/path) where containers will store their confguration
DOCKER_ALL_HOST_CONFIG_ROOT_PATH="./docker-compose-state/config"
################################################################################
# Docker [web] + [worker] (also know as "app") shared service configuration
################################################################################
# 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.
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
DOCKER_APP_PHP_VERSION="8.2"
# The [php] Docker image base type
#
# See: https://github.com/pixelfed/pixelfed/blob/dev/docker/runtimes.md
DOCKER_APP_BASE_TYPE="apache"
# The Debian release variant to use of the [php] Docker image
DOCKER_APP_DEBIAN_RELEASE="bullseye"
# 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
#
DOCKER_APP_IMAGE="ghcr.io/jippi/pixelfed"
# The container runtime to use.
#
# See: https://github.com/jippi/pixelfed/blob/jippi-fork/docker/runtimes.md
DOCKER_APP_RUNTIME="apache"
# Pixelfed version (image tag) to pull from the registry.
#
# See: https://github.com/pixelfed/pixelfed/pkgs/container/pixelfed
DOCKER_APP_TAG="${DOCKER_APP_RELEASE}-${DOCKER_APP_RUNTIME}-${DOCKER_APP_PHP_VERSION}"
# 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)
DOCKER_APP_HOST_STORAGE_PATH="${DOCKER_ALL_HOST_DATA_ROOT_PATH}/pixelfed/storage"
# 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)
DOCKER_APP_HOST_CACHE_PATH="${DOCKER_ALL_HOST_DATA_ROOT_PATH}/pixelfed/cache"
# Automatically run "One-time setup tasks" commands.
#
# 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*.
#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"
#DOCKER_APP_ENSURE_OWNERSHIP_PATHS=""
# Enable Docker Entrypoint debug mode (will call [set -x] in bash scripts)
# by setting this to "1".
#DOCKER_APP_ENTRYPOINT_DEBUG="0"
# List of extra APT packages (separated by space) to install when building
# locally using [docker compose build].
#
# See: https://github.com/pixelfed/pixelfed/blob/dev/docker/customizing.md
#DOCKER_APP_APT_PACKAGES_EXTRA=""
# List of *extra* PECL extensions (separated by space) to install when
# building locally using [docker compose build].
#
# See: https://github.com/pixelfed/pixelfed/blob/dev/docker/customizing.md
#DOCKER_APP_PHP_PECL_EXTENSIONS_EXTRA=""
# List of *extra* PHP extensions (separated by space) to install when
# building locally using [docker compose build].
#
# See: https://github.com/pixelfed/pixelfed/blob/dev/docker/customizing.md
#DOCKER_APP_PHP_EXTENSIONS_EXTRA=""
################################################################################
# Docker [redis] service configuration
################################################################################
# Redis version to use as Docker tag
#
# See: https://hub.docker.com/_/redis
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)
DOCKER_REDIS_HOST_DATA_PATH="${DOCKER_ALL_HOST_DATA_ROOT_PATH}/redis"
# Port that Redis will listen on *outside* the container (e.g. the host machine)
DOCKER_REDIS_HOST_PORT="${REDIS_PORT}"
# 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.
#
# Defaults to ""
#DOCKER_REDIS_CONFIG_FILE="/etc/redis/redis.conf"
# How often Docker health check should run for [redis] service
#
# Defaults to "10s"
DOCKER_REDIS_HEALTHCHECK_INTERVAL="${DOCKER_ALL_DEFAULT_HEALTHCHECK_INTERVAL}"
################################################################################
# Docker [db] service configuration
################################################################################
# Set this to a non-empty value (e.g. "disabled") to disable the [db] service
#DOCKER_DB_PROFILE=""
# 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)
DOCKER_DB_HOST_DATA_PATH="${DOCKER_ALL_HOST_DATA_ROOT_PATH}/db"
# Port that the database will listen on *outside* the container (e.g. the host machine)
#
# Use "3306" for MySQL/MariaDB and "5432" for PostgreeSQL
DOCKER_DB_HOST_PORT="${DB_PORT}"
# How often Docker health check should run for [db] service
DOCKER_DB_HEALTHCHECK_INTERVAL="${DOCKER_ALL_DEFAULT_HEALTHCHECK_INTERVAL}"
################################################################################
# Docker [web] service configuration
################################################################################
# Set this to a non-empty value (e.g. "disabled") to disable the [web] service
#DOCKER_WEB_PROFILE=""
# Port to expose [web] container will listen on *outside* the container (e.g. the host machine) for *HTTP* traffic only
DOCKER_WEB_PORT_EXTERNAL_HTTP="8080"
# How often Docker health check should run for [web] service
DOCKER_WEB_HEALTHCHECK_INTERVAL="${DOCKER_ALL_DEFAULT_HEALTHCHECK_INTERVAL}"
################################################################################
# Docker [worker] service configuration
################################################################################
# Set this to a non-empty value (e.g. "disabled") to disable the [worker] service
#DOCKER_WORKER_PROFILE=""
# How often Docker health check should run for [worker] service
DOCKER_WORKER_HEALTHCHECK_INTERVAL="${DOCKER_ALL_DEFAULT_HEALTHCHECK_INTERVAL}"
################################################################################
# Docker [proxy] + [proxy-acme] service configuration
################################################################################
# Set this to a non-empty value (e.g. "disabled") to disable the [proxy] and [proxy-acme] service
#DOCKER_PROXY_PROFILE=""
# Set this to a non-empty value (e.g. "disabled") to disable the [proxy-acme] service
#DOCKER_PROXY_ACME_PROFILE="${DOCKER_PROXY_PROFILE:-}"
# How often Docker health check should run for [proxy] service
DOCKER_PROXY_HEALTHCHECK_INTERVAL="${DOCKER_ALL_DEFAULT_HEALTHCHECK_INTERVAL}"
# Port that the [proxy] will listen on *outside* the container (e.g. the host machine) for HTTP traffic
DOCKER_PROXY_HOST_PORT_HTTP="80"
# Port that the [proxy] will listen on *outside* the container (e.g. the host machine) for HTTPS traffic
DOCKER_PROXY_HOST_PORT_HTTPS="443"
# Path to the Docker socket on the *host*
DOCKER_PROXY_HOST_DOCKER_SOCKET_PATH="/var/run/docker.sock"
# ! ----------------------------------------------------------------------------
# ! STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP
# ! ----------------------------------------------------------------------------
# ! Below this line is default environment variables for various [db] backends
# ! You very likely do *NOT* need to modify any of this, ever.
# ! ----------------------------------------------------------------------------
################################################################################
# Docker [db] service environment variables for MySQL (Oracle)
################################################################################
#
# See "Environment Variables" at https://hub.docker.com/_/mysql
#
# ! DO NOT CHANGE unless you know what you are doing
MYSQL_ROOT_PASSWORD="${DB_PASSWORD}"
MYSQL_USER="${DB_USERNAME}"
MYSQL_PASSWORD="${DB_PASSWORD}"
MYSQL_DATABASE="${DB_DATABASE}"
################################################################################
# Docker [db] service environment variables for MySQL (MariaDB)
################################################################################
#
# See "Start a mariadb server instance with user, password and database"
# at https://hub.docker.com/_/mariadb
#
# ! DO NOT CHANGE unless you know what you are doing
MARIADB_ROOT_PASSWORD="${DB_PASSWORD}"
MARIADB_USER="${DB_USERNAME}"
MARIADB_PASSWORD="${DB_PASSWORD}"
MARIADB_DATABASE="${DB_DATABASE}"
################################################################################
# Docker [db] service environment variables for PostgreSQL
################################################################################
#
# See "Environment Variables" at https://hub.docker.com/_/postgres
#
# ! DO NOT CHANGE unless you know what you are doing
POSTGRES_USER="${DB_USERNAME}"
POSTGRES_PASSWORD="${DB_PASSWORD}"
POSTGRES_DB="${DB_DATABASE}"