mirror of
https://github.com/pixelfed/pixelfed.git
synced 2024-11-21 22:11:26 +00:00
cleanup .env.docker variable names and placement in the file
This commit is contained in:
parent
068143639f
commit
98bae1316f
9 changed files with 308 additions and 259 deletions
413
.env.docker
413
.env.docker
|
@ -1,3 +1,4 @@
|
||||||
|
#!/bin/bash
|
||||||
# -*- mode: bash -*-
|
# -*- mode: bash -*-
|
||||||
# vi: ft=bash
|
# vi: ft=bash
|
||||||
|
|
||||||
|
@ -7,19 +8,6 @@
|
||||||
# Pixelfed application configuration
|
# Pixelfed application 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_RUNTIME] and [PHP_VERSION] configured
|
|
||||||
# elsewhere in this file, the final Docker tag is computed.
|
|
||||||
PIXELFED_RELEASE="branch-jippi-fork"
|
|
||||||
|
|
||||||
# A random 32-character string to be used as an encryption key.
|
# A random 32-character string to be used as an encryption key.
|
||||||
#
|
#
|
||||||
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
@ -207,7 +195,7 @@ APP_TIMEZONE="UTC"
|
||||||
# Defaults to "Pixelfed - Photo sharing for everyone".
|
# Defaults to "Pixelfed - Photo sharing for everyone".
|
||||||
#
|
#
|
||||||
# See: https://docs.pixelfed.org/technical-documentation/config/#instance_description
|
# See: https://docs.pixelfed.org/technical-documentation/config/#instance_description
|
||||||
#INSTANCE_DESCRIPTION=
|
#INSTANCE_DESCRIPTION=""
|
||||||
|
|
||||||
# Defaults to "false".
|
# Defaults to "false".
|
||||||
#
|
#
|
||||||
|
@ -227,7 +215,7 @@ INSTANCE_CONTACT_EMAIL="admin@${APP_DOMAIN}"
|
||||||
# Defaults to "".
|
# Defaults to "".
|
||||||
#
|
#
|
||||||
# See: https://docs.pixelfed.org/technical-documentation/config/#banned_usernames
|
# See: https://docs.pixelfed.org/technical-documentation/config/#banned_usernames
|
||||||
#BANNED_USERNAMES=
|
#BANNED_USERNAMES=""
|
||||||
|
|
||||||
# Defaults to "false".
|
# Defaults to "false".
|
||||||
#
|
#
|
||||||
|
@ -263,7 +251,7 @@ LETSENCRYPT_EMAIL="__CHANGE_ME__"
|
||||||
# Database version to use (as Docker tag)
|
# Database version to use (as Docker tag)
|
||||||
#
|
#
|
||||||
# See: https://hub.docker.com/_/mariadb
|
# See: https://hub.docker.com/_/mariadb
|
||||||
#DB_VERSION="11.2"
|
DB_VERSION="11.2"
|
||||||
|
|
||||||
# Here you may specify which of the database connections below
|
# Here you may specify which of the database connections below
|
||||||
# you wish to use as your default connection for all database work.
|
# you wish to use as your default connection for all database work.
|
||||||
|
@ -361,12 +349,12 @@ MAIL_FROM_NAME="Pixelfed @ ${APP_DOMAIN}"
|
||||||
# Defaults to "".
|
# Defaults to "".
|
||||||
#
|
#
|
||||||
# See: https://docs.pixelfed.org/technical-documentation/config/#mail_username
|
# See: https://docs.pixelfed.org/technical-documentation/config/#mail_username
|
||||||
#MAIL_USERNAME=
|
#MAIL_USERNAME=""
|
||||||
|
|
||||||
# Defaults to "".
|
# Defaults to "".
|
||||||
#
|
#
|
||||||
# See: https://docs.pixelfed.org/technical-documentation/config/#mail_password
|
# See: https://docs.pixelfed.org/technical-documentation/config/#mail_password
|
||||||
#MAIL_PASSWORD=
|
#MAIL_PASSWORD=""
|
||||||
|
|
||||||
# Here you may specify the encryption protocol that should be used when the application send e-mail messages.
|
# Here you may specify the encryption protocol that should be used when the application send e-mail messages.
|
||||||
#
|
#
|
||||||
|
@ -381,11 +369,6 @@ MAIL_FROM_NAME="Pixelfed @ ${APP_DOMAIN}"
|
||||||
# Redis configuration
|
# Redis configuration
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
# Redis version to use as Docker tag
|
|
||||||
#
|
|
||||||
# See: https://hub.docker.com/_/redis
|
|
||||||
#REDIS_VERSION="7.2"
|
|
||||||
|
|
||||||
# Defaults to "phpredis".
|
# Defaults to "phpredis".
|
||||||
#
|
#
|
||||||
# See: https://docs.pixelfed.org/technical-documentation/config/#redis_client
|
# See: https://docs.pixelfed.org/technical-documentation/config/#redis_client
|
||||||
|
@ -401,17 +384,17 @@ MAIL_FROM_NAME="Pixelfed @ ${APP_DOMAIN}"
|
||||||
# See: https://docs.pixelfed.org/technical-documentation/config/#redis_host
|
# See: https://docs.pixelfed.org/technical-documentation/config/#redis_host
|
||||||
REDIS_HOST="redis"
|
REDIS_HOST="redis"
|
||||||
|
|
||||||
# Defaults to null.
|
# Defaults to null (not set/commented out).
|
||||||
#
|
#
|
||||||
# See: https://docs.pixelfed.org/technical-documentation/config/#redis_password
|
# See: https://docs.pixelfed.org/technical-documentation/config/#redis_password
|
||||||
#REDIS_PASSWORD=
|
#REDIS_PASSWORD=
|
||||||
|
|
||||||
# Defaults to 6379.
|
# Defaults to "6379".
|
||||||
#
|
#
|
||||||
# See: https://docs.pixelfed.org/technical-documentation/config/#redis_port
|
# See: https://docs.pixelfed.org/technical-documentation/config/#redis_port
|
||||||
#REDIS_PORT="6379"
|
REDIS_PORT="6379"
|
||||||
|
|
||||||
# Defaults to 0.
|
# Defaults to "0".
|
||||||
#
|
#
|
||||||
# See: https://docs.pixelfed.org/technical-documentation/config/#redis_database
|
# See: https://docs.pixelfed.org/technical-documentation/config/#redis_database
|
||||||
#REDIS_DATABASE="0"
|
#REDIS_DATABASE="0"
|
||||||
|
@ -595,26 +578,26 @@ ACTIVITY_PUB="true"
|
||||||
#MEDIA_DELETE_LOCAL_AFTER_CLOUD="true"
|
#MEDIA_DELETE_LOCAL_AFTER_CLOUD="true"
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Storage (cloud) - S3 andS S3 *compatible* providers (most of them)
|
# Storage (cloud) - S3 andS S3 *compatible* providers
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
# See: https://docs.pixelfed.org/technical-documentation/config/#aws_access_key_id
|
# See: https://docs.pixelfed.org/technical-documentation/config/#aws_access_key_id
|
||||||
#AWS_ACCESS_KEY_ID=
|
#AWS_ACCESS_KEY_ID=""
|
||||||
|
|
||||||
# See: https://docs.pixelfed.org/technical-documentation/config/#aws_secret_access_key
|
# See: https://docs.pixelfed.org/technical-documentation/config/#aws_secret_access_key
|
||||||
#AWS_SECRET_ACCESS_KEY=
|
#AWS_SECRET_ACCESS_KEY=""
|
||||||
|
|
||||||
# See: https://docs.pixelfed.org/technical-documentation/config/#aws_default_region
|
# See: https://docs.pixelfed.org/technical-documentation/config/#aws_default_region
|
||||||
#AWS_DEFAULT_REGION=
|
#AWS_DEFAULT_REGION=""
|
||||||
|
|
||||||
# See: https://docs.pixelfed.org/technical-documentation/config/#aws_bucket
|
# See: https://docs.pixelfed.org/technical-documentation/config/#aws_bucket
|
||||||
#AWS_BUCKET=
|
#AWS_BUCKET=""
|
||||||
|
|
||||||
# See: https://docs.pixelfed.org/technical-documentation/config/#aws_url
|
# See: https://docs.pixelfed.org/technical-documentation/config/#aws_url
|
||||||
#AWS_URL=
|
#AWS_URL=""
|
||||||
|
|
||||||
# See: https://docs.pixelfed.org/technical-documentation/config/#aws_endpoint
|
# See: https://docs.pixelfed.org/technical-documentation/config/#aws_endpoint
|
||||||
#AWS_ENDPOINT=
|
#AWS_ENDPOINT=""
|
||||||
|
|
||||||
# See: https://docs.pixelfed.org/technical-documentation/config/#aws_use_path_style_endpoint
|
# See: https://docs.pixelfed.org/technical-documentation/config/#aws_use_path_style_endpoint
|
||||||
#AWS_USE_PATH_STYLE_ENDPOINT="false"
|
#AWS_USE_PATH_STYLE_ENDPOINT="false"
|
||||||
|
@ -625,60 +608,60 @@ ACTIVITY_PUB="true"
|
||||||
|
|
||||||
# Comma-separated list of domains to block.
|
# Comma-separated list of domains to block.
|
||||||
#
|
#
|
||||||
# Defaults to null
|
# Defaults to null (not set/commented out).
|
||||||
#
|
#
|
||||||
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_blocked_domains
|
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_blocked_domains
|
||||||
#CS_BLOCKED_DOMAINS=
|
#CS_BLOCKED_DOMAINS=""
|
||||||
|
|
||||||
# Comma-separated list of domains to add warnings.
|
# Comma-separated list of domains to add warnings.
|
||||||
#
|
#
|
||||||
# Defaults to null.
|
# Defaults to null (not set/commented out).
|
||||||
#
|
#
|
||||||
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_cw_domains
|
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_cw_domains
|
||||||
#CS_CW_DOMAINS=
|
#CS_CW_DOMAINS=""
|
||||||
|
|
||||||
# Comma-separated list of domains to remove from public timelines.
|
# Comma-separated list of domains to remove from public timelines.
|
||||||
#
|
#
|
||||||
# Defaults to null.
|
# Defaults to null (not set/commented out).
|
||||||
#
|
#
|
||||||
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_unlisted_domains
|
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_unlisted_domains
|
||||||
#CS_UNLISTED_DOMAINS=
|
#CS_UNLISTED_DOMAINS=""
|
||||||
|
|
||||||
# Comma-separated list of keywords to block.
|
# Comma-separated list of keywords to block.
|
||||||
#
|
#
|
||||||
# Defaults to null.
|
# Defaults to null (not set/commented out).
|
||||||
#
|
#
|
||||||
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_blocked_keywords
|
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_blocked_keywords
|
||||||
#CS_BLOCKED_KEYWORDS=
|
#CS_BLOCKED_KEYWORDS=""
|
||||||
|
|
||||||
# Comma-separated list of keywords to add warnings.
|
# Comma-separated list of keywords to add warnings.
|
||||||
#
|
#
|
||||||
# Defaults to null.
|
# Defaults to null (not set/commented out).
|
||||||
#
|
#
|
||||||
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_cw_keywords
|
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_cw_keywords
|
||||||
#CS_CW_KEYWORDS=
|
#CS_CW_KEYWORDS=""
|
||||||
|
|
||||||
# Comma-separated list of keywords to remove from public timelines.
|
# Comma-separated list of keywords to remove from public timelines.
|
||||||
#
|
#
|
||||||
# Defaults to null.
|
# Defaults to null (not set/commented out).
|
||||||
#
|
#
|
||||||
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_unlisted_keywords
|
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_unlisted_keywords
|
||||||
#CS_UNLISTED_KEYWORDS=
|
#CS_UNLISTED_KEYWORDS=""
|
||||||
|
|
||||||
# Defaults to null.
|
# Defaults to null (not set/commented out).
|
||||||
#
|
#
|
||||||
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_blocked_actor
|
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_blocked_actor
|
||||||
#CS_BLOCKED_ACTOR=
|
#CS_BLOCKED_ACTOR=""
|
||||||
|
|
||||||
# Defaults to null.
|
# Defaults to null (not set/commented out).
|
||||||
#
|
#
|
||||||
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_cw_actor
|
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_cw_actor
|
||||||
#CS_CW_ACTOR=
|
#CS_CW_ACTOR=""
|
||||||
|
|
||||||
# Defaults to null.
|
# Defaults to null (not set/commented out).
|
||||||
#
|
#
|
||||||
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_unlisted_actor
|
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_unlisted_actor
|
||||||
#CS_UNLISTED_ACTOR=
|
#CS_UNLISTED_ACTOR=""
|
||||||
|
|
||||||
###############################################################
|
###############################################################
|
||||||
# Media
|
# Media
|
||||||
|
@ -730,14 +713,14 @@ LOG_CHANNEL="stderr"
|
||||||
# Defaults to "".
|
# Defaults to "".
|
||||||
#
|
#
|
||||||
# See: https://docs.pixelfed.org/technical-documentation/config/#log_stderr_formatter
|
# See: https://docs.pixelfed.org/technical-documentation/config/#log_stderr_formatter
|
||||||
#LOG_STDERR_FORMATTER=
|
#LOG_STDERR_FORMATTER=""
|
||||||
|
|
||||||
# Used by slack.
|
# Used by slack.
|
||||||
#
|
#
|
||||||
# Defaults to "".
|
# Defaults to "".
|
||||||
#
|
#
|
||||||
# See: https://docs.pixelfed.org/technical-documentation/config/#log_slack_webhook_url
|
# See: https://docs.pixelfed.org/technical-documentation/config/#log_slack_webhook_url
|
||||||
#LOG_SLACK_WEBHOOK_URL=
|
#LOG_SLACK_WEBHOOK_URL=""
|
||||||
|
|
||||||
###############################################################
|
###############################################################
|
||||||
# Broadcasting settings
|
# Broadcasting settings
|
||||||
|
@ -795,7 +778,7 @@ QUEUE_DRIVER="redis"
|
||||||
# Defaults to "https://sqs.us-east-1.amazonaws.com/your-account-id".
|
# Defaults to "https://sqs.us-east-1.amazonaws.com/your-account-id".
|
||||||
#
|
#
|
||||||
# See: https://docs.pixelfed.org/technical-documentation/config/#sqs_prefix
|
# See: https://docs.pixelfed.org/technical-documentation/config/#sqs_prefix
|
||||||
#SQS_PREFIX=
|
#SQS_PREFIX=""
|
||||||
|
|
||||||
# Defaults to "your-queue-name".
|
# Defaults to "your-queue-name".
|
||||||
#
|
#
|
||||||
|
@ -879,60 +862,18 @@ TRUST_PROXIES="*"
|
||||||
# variables when that is more convenient.
|
# variables when that is more convenient.
|
||||||
|
|
||||||
# See: https://docs.pixelfed.org/technical-documentation/config/#passport_private_key
|
# See: https://docs.pixelfed.org/technical-documentation/config/#passport_private_key
|
||||||
#PASSPORT_PRIVATE_KEY=
|
#PASSPORT_PRIVATE_KEY=""
|
||||||
|
|
||||||
# See: https://docs.pixelfed.org/technical-documentation/config/#passport_public_key
|
# See: https://docs.pixelfed.org/technical-documentation/config/#passport_public_key
|
||||||
#PASSPORT_PUBLIC_KEY=
|
#PASSPORT_PUBLIC_KEY=""
|
||||||
|
|
||||||
###############################################################
|
###############################################################
|
||||||
# PHP configuration
|
# PHP configuration
|
||||||
###############################################################
|
###############################################################
|
||||||
|
|
||||||
# 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_RUNTIME] and [PHP_DEBIAN_RELEASE] settings
|
|
||||||
PHP_VERSION="8.1"
|
|
||||||
|
|
||||||
# See: https://www.php.net/manual/en/ini.core.php#ini.memory-limit
|
# See: https://www.php.net/manual/en/ini.core.php#ini.memory-limit
|
||||||
#PHP_MEMORY_LIMIT="128M"
|
#PHP_MEMORY_LIMIT="128M"
|
||||||
|
|
||||||
# The Debian release variant to use of the [php] Docker image
|
|
||||||
#PHP_DEBIAN_RELEASE="bullseye"
|
|
||||||
|
|
||||||
# The [php] Docker image base type
|
|
||||||
#
|
|
||||||
# See: https://github.com/pixelfed/pixelfed/blob/dev/docker/runtimes.md
|
|
||||||
#PHP_BASE_TYPE="apache"
|
|
||||||
|
|
||||||
# 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
|
|
||||||
#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
|
|
||||||
#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
|
|
||||||
#PHP_EXTENSIONS_EXTRA=""
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Other configuration
|
# Other configuration
|
||||||
################################################################################
|
################################################################################
|
||||||
|
@ -951,9 +892,64 @@ PHP_VERSION="8.1"
|
||||||
TZ="${APP_TIMEZONE}"
|
TZ="${APP_TIMEZONE}"
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Docker Specific configuration
|
# 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.
|
# Image to pull the Pixelfed Docker images from.
|
||||||
#
|
#
|
||||||
# Example values:
|
# Example values:
|
||||||
|
@ -962,103 +958,29 @@ TZ="${APP_TIMEZONE}"
|
||||||
# * "pixelfed/pixelfed" to pull from DockerHub
|
# * "pixelfed/pixelfed" to pull from DockerHub
|
||||||
# * "your/fork" to pull from a custom fork
|
# * "your/fork" to pull from a custom fork
|
||||||
#
|
#
|
||||||
DOCKER_IMAGE="ghcr.io/jippi/pixelfed"
|
DOCKER_APP_IMAGE="ghcr.io/jippi/pixelfed"
|
||||||
|
|
||||||
# The container runtime to use.
|
# The container runtime to use.
|
||||||
#
|
#
|
||||||
# See: https://github.com/jippi/pixelfed/blob/jippi-fork/docker/runtimes.md
|
# See: https://github.com/jippi/pixelfed/blob/jippi-fork/docker/runtimes.md
|
||||||
DOCKER_RUNTIME="apache"
|
DOCKER_APP_RUNTIME="apache"
|
||||||
|
|
||||||
# Pixelfed version (image tag) to pull from the registry.
|
# Pixelfed version (image tag) to pull from the registry.
|
||||||
#
|
#
|
||||||
# See: https://github.com/pixelfed/pixelfed/pkgs/container/pixelfed
|
# See: https://github.com/pixelfed/pixelfed/pkgs/container/pixelfed
|
||||||
DOCKER_TAG="${PIXELFED_RELEASE}-${DOCKER_RUNTIME}-${PHP_VERSION}"
|
DOCKER_APP_TAG="${DOCKER_APP_RELEASE}-${DOCKER_APP_RUNTIME}-${DOCKER_APP_PHP_VERSION}"
|
||||||
|
|
||||||
# Path (relative to the docker-compose.yml) or absolute (/some/other/path) where containers will store their data
|
|
||||||
DOCKER_DATA_ROOT="./docker-compose-state/data"
|
|
||||||
|
|
||||||
# Path (relative to the docker-compose.yml) or absolute (/some/other/path) where containers will store their confguration
|
|
||||||
DOCKER_CONFIG_ROOT="./docker-compose-state/config"
|
|
||||||
|
|
||||||
# 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_DATA_PATH="${DOCKER_DATA_ROOT}/db"
|
|
||||||
|
|
||||||
# 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_DATA_PATH="${DOCKER_DATA_ROOT}/redis"
|
|
||||||
|
|
||||||
# Path (on host system) where the [app] + [worker] container will write
|
# Path (on host system) where the [app] + [worker] container will write
|
||||||
# its [storage] data (e.g uploads/images/profile pictures etc.).
|
# 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)
|
# Path is relative (./some/other/path) to the docker-compose.yml or absolute (/some/other/path)
|
||||||
DOCKER_APP_STORAGE_PATH="${DOCKER_DATA_ROOT}/pixelfed/storage"
|
DOCKER_APP_HOST_STORAGE_PATH="${DOCKER_ALL_HOST_DATA_ROOT_PATH}/pixelfed/storage"
|
||||||
|
|
||||||
# Path (on host system) where the [app] + [worker] container will write
|
# Path (on host system) where the [app] + [worker] container will write
|
||||||
# its [cache] data.
|
# its [cache] data.
|
||||||
#
|
#
|
||||||
# Path is relative (./some/other/path) to the docker-compose.yml or absolute (/some/other/path)
|
# Path is relative (./some/other/path) to the docker-compose.yml or absolute (/some/other/path)
|
||||||
DOCKER_APP_CACHE_PATH="${DOCKER_DATA_ROOT}/pixelfed/cache"
|
DOCKER_APP_HOST_CACHE_PATH="${DOCKER_ALL_HOST_DATA_ROOT_PATH}/pixelfed/cache"
|
||||||
|
|
||||||
# How often Docker health check should run for all services
|
|
||||||
#
|
|
||||||
# Can be overridden by individual [DOCKER_*_HEALTHCHECK_INTERVAL] settings further down
|
|
||||||
DOCKER_DEFAULT_HEALTHCHECK_INTERVAL="10s"
|
|
||||||
|
|
||||||
# Port that Redis will listen on *outside* the container (e.g. the host machine)
|
|
||||||
DOCKER_REDIS_PORT_EXTERNAL="${REDIS_PORT:-6379}"
|
|
||||||
|
|
||||||
# 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_CONFIG_ROOT}/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
|
|
||||||
DOCKER_REDIS_HEALTHCHECK_INTERVAL="${DOCKER_DEFAULT_HEALTHCHECK_INTERVAL}"
|
|
||||||
|
|
||||||
# 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_PORT_EXTERNAL="${DB_PORT}"
|
|
||||||
|
|
||||||
# How often Docker health check should run for [db] service
|
|
||||||
DOCKER_DB_HEALTHCHECK_INTERVAL="${DOCKER_DEFAULT_HEALTHCHECK_INTERVAL}"
|
|
||||||
|
|
||||||
# Port that the [proxy] will listen on *outside* the container (e.g. the host machine) for HTTP traffic
|
|
||||||
DOCKER_PROXY_PORT_EXTERNAL_HTTP="80"
|
|
||||||
|
|
||||||
# Port that the [proxy] will listen on *outside* the container (e.g. the host machine) for HTTPS traffic
|
|
||||||
DOCKER_PROXY_PORT_EXTERNAL_HTTPS="443"
|
|
||||||
|
|
||||||
# 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_DEFAULT_HEALTHCHECK_INTERVAL}"
|
|
||||||
|
|
||||||
# How often Docker health check should run for [worker] service
|
|
||||||
DOCKER_WORKER_HEALTHCHECK_INTERVAL="${DOCKER_DEFAULT_HEALTHCHECK_INTERVAL}"
|
|
||||||
|
|
||||||
# Path to the Docker socket on the *host*
|
|
||||||
DOCKER_HOST_SOCKET_PATH="/var/run/docker.sock"
|
|
||||||
|
|
||||||
# Prefix for container names (without any dash at the end)
|
|
||||||
DOCKER_CONTAINER_NAME_PREFIX="${APP_DOMAIN}"
|
|
||||||
|
|
||||||
# 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_DEFAULT_HEALTHCHECK_INTERVAL}"
|
|
||||||
|
|
||||||
# Automatically run "One-time setup tasks" commands.
|
# Automatically run "One-time setup tasks" commands.
|
||||||
#
|
#
|
||||||
|
@ -1067,7 +989,7 @@ DOCKER_PROXY_HEALTHCHECK_INTERVAL="${DOCKER_DEFAULT_HEALTHCHECK_INTERVAL}"
|
||||||
# you can set this to "0" to prevent them from running.
|
# you can set this to "0" to prevent them from running.
|
||||||
#
|
#
|
||||||
# Otherwise, leave it at "1" to have them run *once*.
|
# Otherwise, leave it at "1" to have them run *once*.
|
||||||
#DOCKER_RUN_ONE_TIME_SETUP_TASKS="1"
|
#DOCKER_APP_RUN_ONE_TIME_SETUP_TASKS="1"
|
||||||
|
|
||||||
# A space-seperated list of paths (inside the container) to *recursively* [chown]
|
# 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.
|
# to the container user/group id (UID/GID) in case of permission issues.
|
||||||
|
@ -1077,14 +999,135 @@ DOCKER_PROXY_HEALTHCHECK_INTERVAL="${DOCKER_DEFAULT_HEALTHCHECK_INTERVAL}"
|
||||||
# ! issues. Please report a bug if you see behavior requiring this to be permanently on
|
# ! issues. Please report a bug if you see behavior requiring this to be permanently on
|
||||||
#
|
#
|
||||||
# Example: "/var/www/storage /var/www/bootstrap/cache"
|
# Example: "/var/www/storage /var/www/bootstrap/cache"
|
||||||
#DOCKER_ENSURE_OWNERSHIP_PATHS=""
|
#DOCKER_APP_ENSURE_OWNERSHIP_PATHS=""
|
||||||
|
|
||||||
# Enable Docker Entrypoint debug mode (will call [set -x] in bash scripts)
|
# Enable Docker Entrypoint debug mode (will call [set -x] in bash scripts)
|
||||||
# by setting this to "1".
|
# by setting this to "1".
|
||||||
#ENTRYPOINT_DEBUG="0"
|
#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=""
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# MySQL DB container configuration
|
# 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
|
# See "Environment Variables" at https://hub.docker.com/_/mysql
|
||||||
|
@ -1097,7 +1140,7 @@ MYSQL_PASSWORD="${DB_PASSWORD}"
|
||||||
MYSQL_DATABASE="${DB_DATABASE}"
|
MYSQL_DATABASE="${DB_DATABASE}"
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# MySQL (MariaDB) DB container configuration
|
# Docker [db] service environment variables for MySQL (MariaDB)
|
||||||
################################################################################
|
################################################################################
|
||||||
#
|
#
|
||||||
# See "Start a mariadb server instance with user, password and database"
|
# See "Start a mariadb server instance with user, password and database"
|
||||||
|
@ -1111,7 +1154,7 @@ MARIADB_PASSWORD="${DB_PASSWORD}"
|
||||||
MARIADB_DATABASE="${DB_DATABASE}"
|
MARIADB_DATABASE="${DB_DATABASE}"
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# PostgreSQL DB container configuration
|
# Docker [db] service environment variables for PostgreSQL
|
||||||
################################################################################
|
################################################################################
|
||||||
#
|
#
|
||||||
# See "Environment Variables" at https://hub.docker.com/_/postgres
|
# See "Environment Variables" at https://hub.docker.com/_/postgres
|
||||||
|
|
|
@ -15,7 +15,7 @@ services:
|
||||||
# OLD
|
# OLD
|
||||||
- "app-storage:/migrate/app-storage/old"
|
- "app-storage:/migrate/app-storage/old"
|
||||||
# NEW
|
# NEW
|
||||||
- "${DOCKER_APP_STORAGE_PATH}:/migrate/app-storage/new"
|
- "${DOCKER_APP_HOST_STORAGE_PATH}:/migrate/app-storage/new"
|
||||||
|
|
||||||
################################
|
################################
|
||||||
# MySQL/DB volume
|
# MySQL/DB volume
|
||||||
|
@ -23,7 +23,7 @@ services:
|
||||||
# OLD
|
# OLD
|
||||||
- "db-data:/migrate/db-data/old"
|
- "db-data:/migrate/db-data/old"
|
||||||
# NEW
|
# NEW
|
||||||
- "${DOCKER_DB_DATA_PATH}:/migrate/db-data/new"
|
- "${DOCKER_DB_HOST_DATA_PATH}:/migrate/db-data/new"
|
||||||
|
|
||||||
################################
|
################################
|
||||||
# Redis volume
|
# Redis volume
|
||||||
|
@ -31,7 +31,7 @@ services:
|
||||||
# OLD
|
# OLD
|
||||||
- "redis-data:/migrate/redis-data/old"
|
- "redis-data:/migrate/redis-data/old"
|
||||||
# NEW
|
# NEW
|
||||||
- "${DOCKER_REDIS_DATA_PATH}:/migrate/redis-data/new"
|
- "${DOCKER_REDIS_HOST_DATA_PATH}:/migrate/redis-data/new"
|
||||||
|
|
||||||
# Volumes from the old [docker-compose.yml] file
|
# Volumes from the old [docker-compose.yml] file
|
||||||
# https://github.com/pixelfed/pixelfed/blob/b1ff44ca2f75c088a11576fb03b5bad2fbed4d5c/docker-compose.yml#L72-L76
|
# https://github.com/pixelfed/pixelfed/blob/b1ff44ca2f75c088a11576fb03b5bad2fbed4d5c/docker-compose.yml#L72-L76
|
||||||
|
|
|
@ -20,22 +20,22 @@ services:
|
||||||
# See: https://github.com/nginx-proxy/nginx-proxy/tree/main/docs
|
# See: https://github.com/nginx-proxy/nginx-proxy/tree/main/docs
|
||||||
proxy:
|
proxy:
|
||||||
image: nginxproxy/nginx-proxy:1.4
|
image: nginxproxy/nginx-proxy:1.4
|
||||||
container_name: "${DOCKER_CONTAINER_NAME_PREFIX}-proxy"
|
container_name: "${DOCKER_ALL_CONTAINER_NAME_PREFIX}-proxy"
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
profiles:
|
profiles:
|
||||||
- ${DOCKER_PROXY_PROFILE:-}
|
- ${DOCKER_PROXY_PROFILE:-}
|
||||||
volumes:
|
volumes:
|
||||||
- "${DOCKER_HOST_SOCKET_PATH}:/tmp/docker.sock:ro"
|
- "${DOCKER_PROXY_HOST_DOCKER_SOCKET_PATH}:/tmp/docker.sock:ro"
|
||||||
- "${DOCKER_CONFIG_ROOT}/proxy/conf.d:/etc/nginx/conf.d"
|
- "${DOCKER_ALL_HOST_CONFIG_ROOT_PATH}/proxy/conf.d:/etc/nginx/conf.d"
|
||||||
- "${DOCKER_CONFIG_ROOT}/proxy/vhost.d:/etc/nginx/vhost.d"
|
- "${DOCKER_ALL_HOST_CONFIG_ROOT_PATH}/proxy/vhost.d:/etc/nginx/vhost.d"
|
||||||
- "${DOCKER_CONFIG_ROOT}/proxy/certs:/etc/nginx/certs"
|
- "${DOCKER_ALL_HOST_CONFIG_ROOT_PATH}/proxy/certs:/etc/nginx/certs"
|
||||||
- "${DOCKER_DATA_ROOT}/proxy/html:/usr/share/nginx/html"
|
- "${DOCKER_ALL_HOST_DATA_ROOT_PATH}/proxy/html:/usr/share/nginx/html"
|
||||||
ports:
|
ports:
|
||||||
- "${DOCKER_PROXY_PORT_EXTERNAL_HTTP}:80"
|
- "${DOCKER_PROXY_HOST_PORT_HTTP}:80"
|
||||||
- "${DOCKER_PROXY_PORT_EXTERNAL_HTTPS}:443"
|
- "${DOCKER_PROXY_HOST_PORT_HTTPS}:443"
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: "curl --fail https://${APP_DOMAIN}/api/service/health-check"
|
test: "curl --fail https://${APP_DOMAIN}/api/service/health-check"
|
||||||
interval: "${DOCKER_PROXY_HEALTHCHECK_INTERVAL:-10s}"
|
interval: "${DOCKER_PROXY_HEALTHCHECK_INTERVAL}"
|
||||||
retries: 2
|
retries: 2
|
||||||
timeout: 5s
|
timeout: 5s
|
||||||
|
|
||||||
|
@ -47,41 +47,43 @@ services:
|
||||||
# See: https://github.com/nginx-proxy/acme-companion/tree/main/docs
|
# See: https://github.com/nginx-proxy/acme-companion/tree/main/docs
|
||||||
proxy-acme:
|
proxy-acme:
|
||||||
image: nginxproxy/acme-companion
|
image: nginxproxy/acme-companion
|
||||||
container_name: "${DOCKER_CONTAINER_NAME_PREFIX}-proxy-acme"
|
container_name: "${DOCKER_ALL_CONTAINER_NAME_PREFIX}-proxy-acme"
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
profiles:
|
profiles:
|
||||||
- ${DOCKER_PROXY_ACME_PROFILE:-}
|
- ${DOCKER_PROXY_ACME_PROFILE:-}
|
||||||
environment:
|
environment:
|
||||||
DEBUG: 0
|
DEBUG: 0
|
||||||
DEFAULT_EMAIL: "${LETSENCRYPT_EMAIL}"
|
DEFAULT_EMAIL: "${LETSENCRYPT_EMAIL}"
|
||||||
NGINX_PROXY_CONTAINER: "${DOCKER_CONTAINER_NAME_PREFIX}-proxy"
|
NGINX_PROXY_CONTAINER: "${DOCKER_ALL_CONTAINER_NAME_PREFIX}-proxy"
|
||||||
depends_on:
|
depends_on:
|
||||||
- proxy
|
- proxy
|
||||||
volumes:
|
volumes:
|
||||||
- "${DOCKER_CONFIG_ROOT}/proxy-acme:/etc/acme.sh"
|
- "${DOCKER_ALL_HOST_CONFIG_ROOT_PATH}/proxy-acme:/etc/acme.sh"
|
||||||
- "${DOCKER_CONFIG_ROOT}/proxy/certs:/etc/nginx/certs"
|
- "${DOCKER_ALL_HOST_CONFIG_ROOT_PATH}/proxy/certs:/etc/nginx/certs"
|
||||||
- "${DOCKER_CONFIG_ROOT}/proxy/conf.d:/etc/nginx/conf.d"
|
- "${DOCKER_ALL_HOST_CONFIG_ROOT_PATH}/proxy/conf.d:/etc/nginx/conf.d"
|
||||||
- "${DOCKER_CONFIG_ROOT}/proxy/vhost.d:/etc/nginx/vhost.d"
|
- "${DOCKER_ALL_HOST_CONFIG_ROOT_PATH}/proxy/vhost.d:/etc/nginx/vhost.d"
|
||||||
- "${DOCKER_DATA_ROOT}/proxy/html:/usr/share/nginx/html"
|
- "${DOCKER_ALL_HOST_DATA_ROOT_PATH}/proxy/html:/usr/share/nginx/html"
|
||||||
- "${DOCKER_HOST_SOCKET_PATH}:/var/run/docker.sock:ro"
|
- "${DOCKER_PROXY_HOST_DOCKER_SOCKET_PATH}:/var/run/docker.sock:ro"
|
||||||
|
|
||||||
web:
|
web:
|
||||||
image: "${DOCKER_IMAGE}:${DOCKER_TAG}"
|
image: "${DOCKER_APP_IMAGE}:${DOCKER_APP_TAG}"
|
||||||
container_name: "${DOCKER_CONTAINER_NAME_PREFIX}-web"
|
container_name: "${DOCKER_ALL_CONTAINER_NAME_PREFIX}-web"
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
profiles:
|
||||||
|
- ${DOCKER_WEB_PROFILE:-}
|
||||||
build:
|
build:
|
||||||
target: ${DOCKER_RUNTIME}-runtime
|
target: ${DOCKER_APP_RUNTIME}-runtime
|
||||||
args:
|
args:
|
||||||
PHP_VERSION: "${PHP_VERSION:-8.1}"
|
PHP_VERSION: "${DOCKER_APP_PHP_VERSION}"
|
||||||
PHP_BASE_TYPE: "${PHP_BASE_TYPE:-apache}"
|
PHP_BASE_TYPE: "${DOCKER_APP_BASE_TYPE}"
|
||||||
PHP_DEBIAN_RELEASE: "${PHP_DEBIAN_RELEASE:-bullseye}"
|
PHP_DEBIAN_RELEASE: "${DOCKER_APP_DEBIAN_RELEASE}"
|
||||||
APT_PACKAGES_EXTRA: "${APT_PACKAGES_EXTRA:-}"
|
APT_PACKAGES_EXTRA: "${DOCKER_APP_APT_PACKAGES_EXTRA:-}"
|
||||||
PHP_PECL_EXTENSIONS_EXTRA: "${PHP_PECL_EXTENSIONS_EXTRA:-}"
|
PHP_PECL_EXTENSIONS_EXTRA: "${DOCKER_APP_PHP_PECL_EXTENSIONS_EXTRA:-}"
|
||||||
PHP_EXTENSIONS_EXTRA: "${PHP_EXTENSIONS_EXTRA:-}"
|
PHP_EXTENSIONS_EXTRA: "${DOCKER_APP_PHP_EXTENSIONS_EXTRA:-}"
|
||||||
volumes:
|
volumes:
|
||||||
- "./.env:/var/www/.env"
|
- "./.env:/var/www/.env"
|
||||||
- "${DOCKER_APP_CACHE_PATH}:/var/www/bootstrap/cache"
|
- "${DOCKER_APP_HOST_CACHE_PATH}:/var/www/bootstrap/cache"
|
||||||
- "${DOCKER_APP_STORAGE_PATH}:/var/www/storage"
|
- "${DOCKER_APP_HOST_STORAGE_PATH}:/var/www/storage"
|
||||||
environment:
|
environment:
|
||||||
LETSENCRYPT_HOST: "${LETSENCRYPT_HOST}"
|
LETSENCRYPT_HOST: "${LETSENCRYPT_HOST}"
|
||||||
LETSENCRYPT_EMAIL: "${LETSENCRYPT_EMAIL}"
|
LETSENCRYPT_EMAIL: "${LETSENCRYPT_EMAIL}"
|
||||||
|
@ -93,54 +95,58 @@ services:
|
||||||
com.github.nginx-proxy.nginx-proxy.http2.enable: true
|
com.github.nginx-proxy.nginx-proxy.http2.enable: true
|
||||||
com.github.nginx-proxy.nginx-proxy.http3.enable: true
|
com.github.nginx-proxy.nginx-proxy.http3.enable: true
|
||||||
ports:
|
ports:
|
||||||
- "${DOCKER_WEB_PORT_EXTERNAL_HTTP:-8080}:80"
|
- "${DOCKER_WEB_PORT_EXTERNAL_HTTP}:80"
|
||||||
depends_on:
|
depends_on:
|
||||||
- db
|
- db
|
||||||
- redis
|
- redis
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: 'curl --header "Host: ${APP_DOMAIN}" --fail http://localhost/api/service/health-check'
|
test: 'curl --header "Host: ${APP_DOMAIN}" --fail http://localhost/api/service/health-check'
|
||||||
interval: "${DOCKER_WEB_HEALTHCHECK_INTERVAL:-10s}"
|
interval: "${DOCKER_WEB_HEALTHCHECK_INTERVAL}"
|
||||||
retries: 2
|
retries: 2
|
||||||
timeout: 5s
|
timeout: 5s
|
||||||
|
|
||||||
worker:
|
worker:
|
||||||
image: "${DOCKER_IMAGE}:${DOCKER_TAG}"
|
image: "${DOCKER_APP_IMAGE}:${DOCKER_APP_TAG}"
|
||||||
container_name: "${DOCKER_CONTAINER_NAME_PREFIX}-worker"
|
container_name: "${DOCKER_ALL_CONTAINER_NAME_PREFIX}-worker"
|
||||||
command: gosu www-data php artisan horizon
|
command: gosu www-data php artisan horizon
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
profiles:
|
||||||
|
- ${DOCKER_WORKER_PROFILE:-}
|
||||||
build:
|
build:
|
||||||
target: ${DOCKER_RUNTIME}-runtime
|
target: ${DOCKER_APP_RUNTIME}-runtime
|
||||||
args:
|
args:
|
||||||
PHP_VERSION: "${PHP_VERSION:-8.1}"
|
PHP_VERSION: "${DOCKER_APP_PHP_VERSION}"
|
||||||
PHP_BASE_TYPE: "${PHP_BASE_TYPE:-apache}"
|
PHP_BASE_TYPE: "${DOCKER_APP_BASE_TYPE}"
|
||||||
PHP_DEBIAN_RELEASE: "${PHP_DEBIAN_RELEASE:-bullseye}"
|
PHP_DEBIAN_RELEASE: "${DOCKER_APP_DEBIAN_RELEASE}"
|
||||||
APT_PACKAGES_EXTRA: "${APT_PACKAGES_EXTRA:-}"
|
APT_PACKAGES_EXTRA: "${DOCKER_APP_APT_PACKAGES_EXTRA:-}"
|
||||||
PHP_PECL_EXTENSIONS_EXTRA: "${PHP_PECL_EXTENSIONS_EXTRA:-}"
|
PHP_PECL_EXTENSIONS_EXTRA: "${DOCKER_APP_PHP_PECL_EXTENSIONS_EXTRA:-}"
|
||||||
PHP_EXTENSIONS_EXTRA: "${PHP_EXTENSIONS_EXTRA:-}"
|
PHP_EXTENSIONS_EXTRA: "${DOCKER_APP_PHP_EXTENSIONS_EXTRA:-}"
|
||||||
volumes:
|
volumes:
|
||||||
- "./.env:/var/www/.env"
|
- "./.env:/var/www/.env"
|
||||||
- "${DOCKER_APP_CACHE_PATH}:/var/www/bootstrap/cache"
|
- "${DOCKER_APP_HOST_CACHE_PATH}:/var/www/bootstrap/cache"
|
||||||
- "${DOCKER_APP_STORAGE_PATH}:/var/www/storage"
|
- "${DOCKER_APP_HOST_STORAGE_PATH}:/var/www/storage"
|
||||||
depends_on:
|
depends_on:
|
||||||
- db
|
- db
|
||||||
- redis
|
- redis
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: gosu www-data php artisan horizon:status | grep running
|
test: gosu www-data php artisan horizon:status | grep running
|
||||||
interval: "${DOCKER_WORKER_HEALTHCHECK_INTERVAL:-10s}"
|
interval: "${DOCKER_WORKER_HEALTHCHECK_INTERVAL}"
|
||||||
timeout: 5s
|
timeout: 5s
|
||||||
retries: 2
|
retries: 2
|
||||||
|
|
||||||
db:
|
db:
|
||||||
image: mariadb:${DB_VERSION:-11.2}
|
image: mariadb:${DB_VERSION}
|
||||||
container_name: "${DOCKER_CONTAINER_NAME_PREFIX}-db"
|
container_name: "${DOCKER_ALL_CONTAINER_NAME_PREFIX}-db"
|
||||||
command: --default-authentication-plugin=mysql_native_password
|
command: --default-authentication-plugin=mysql_native_password
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
profiles:
|
||||||
|
- ${DOCKER_DB_PROFILE:-}
|
||||||
env_file:
|
env_file:
|
||||||
- ".env"
|
- ".env"
|
||||||
volumes:
|
volumes:
|
||||||
- "${DOCKER_DB_DATA_PATH}:/var/lib/mysql"
|
- "${DOCKER_DB_HOST_DATA_PATH}:/var/lib/mysql"
|
||||||
ports:
|
ports:
|
||||||
- "${DOCKER_DB_PORT_EXTERNAL}:3306"
|
- "${DOCKER_DB_HOST_PORT}:3306"
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test:
|
test:
|
||||||
[
|
[
|
||||||
|
@ -150,13 +156,13 @@ services:
|
||||||
"--connect",
|
"--connect",
|
||||||
"--innodb_initialized",
|
"--innodb_initialized",
|
||||||
]
|
]
|
||||||
interval: "${DOCKER_DB_HEALTHCHECK_INTERVAL:-10s}"
|
interval: "${DOCKER_DB_HEALTHCHECK_INTERVAL}"
|
||||||
retries: 2
|
retries: 2
|
||||||
timeout: 5s
|
timeout: 5s
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
image: redis:${REDIS_VERSION:-7.2}
|
image: redis:${DOCKER_REDIS_VERSION}
|
||||||
container_name: "${DOCKER_CONTAINER_NAME_PREFIX}-redis"
|
container_name: "${DOCKER_ALL_CONTAINER_NAME_PREFIX}-redis"
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
command: "${DOCKER_REDIS_CONFIG_FILE:-} --requirepass '${REDIS_PASSWORD:-}'"
|
command: "${DOCKER_REDIS_CONFIG_FILE:-} --requirepass '${REDIS_PASSWORD:-}'"
|
||||||
environment:
|
environment:
|
||||||
|
@ -164,12 +170,12 @@ services:
|
||||||
env_file:
|
env_file:
|
||||||
- ".env"
|
- ".env"
|
||||||
volumes:
|
volumes:
|
||||||
- "${DOCKER_CONFIG_ROOT}/redis:/etc/redis"
|
- "${DOCKER_ALL_HOST_CONFIG_ROOT_PATH}/redis:/etc/redis"
|
||||||
- "${DOCKER_REDIS_DATA_PATH}:/data"
|
- "${DOCKER_REDIS_HOST_DATA_PATH}:/data"
|
||||||
ports:
|
ports:
|
||||||
- "${DOCKER_REDIS_PORT_EXTERNAL}:6379"
|
- "${DOCKER_REDIS_HOST_PORT}:6379"
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD", "redis-cli", "-p", "6379", "ping"]
|
test: ["CMD", "redis-cli", "-p", "6379", "ping"]
|
||||||
interval: "${DOCKER_REDIS_HEALTHCHECK_INTERVAL:-10s}"
|
interval: "${DOCKER_REDIS_HEALTHCHECK_INTERVAL}"
|
||||||
retries: 2
|
retries: 2
|
||||||
timeout: 5s
|
timeout: 5s
|
||||||
|
|
|
@ -15,7 +15,7 @@ When a Pixelfed container starts up, the [`ENTRYPOINT`](https://docs.docker.com/
|
||||||
|
|
||||||
### Debugging
|
### Debugging
|
||||||
|
|
||||||
You can set environment variable `ENTRYPOINT_DEBUG=1` to show verbose output of what each `entrypoint.d` script is doing.
|
You can set environment variable `DOCKER_APP_ENTRYPOINT_DEBUG=1` to show verbose output of what each `entrypoint.d` script is doing.
|
||||||
|
|
||||||
You can also `docker exec` or `docker run` into a container and run `/`
|
You can also `docker exec` or `docker run` into a container and run `/`
|
||||||
|
|
||||||
|
@ -73,12 +73,12 @@ Please see the
|
||||||
|
|
||||||
## Fixing ownership on startup
|
## Fixing ownership on startup
|
||||||
|
|
||||||
You can set the environment variable `DOCKER_ENSURE_OWNERSHIP_PATHS` to a list of paths that should have their `$USER` and `$GROUP` ownership changed to the configured runtime user and group during container bootstrapping.
|
You can set the environment variable `DOCKER_APP_ENSURE_OWNERSHIP_PATHS` to a list of paths that should have their `$USER` and `$GROUP` ownership changed to the configured runtime user and group during container bootstrapping.
|
||||||
|
|
||||||
The variable is a space-delimited list shown below and accepts both relative and absolute paths:
|
The variable is a space-delimited list shown below and accepts both relative and absolute paths:
|
||||||
|
|
||||||
* `DOCKER_ENSURE_OWNERSHIP_PATHS="./storage ./bootstrap"`
|
* `DOCKER_APP_ENSURE_OWNERSHIP_PATHS="./storage ./bootstrap"`
|
||||||
* `DOCKER_ENSURE_OWNERSHIP_PATHS="/some/other/folder"`
|
* `DOCKER_APP_ENSURE_OWNERSHIP_PATHS="/some/other/folder"`
|
||||||
|
|
||||||
## Build settings (arguments)
|
## Build settings (arguments)
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ No problem! All you have to do is:
|
||||||
1. Change the `DOCKER_PROXY_ACME_PROFILE` key/value pair in your `.env` file to `"disabled"`.
|
1. Change the `DOCKER_PROXY_ACME_PROFILE` key/value pair in your `.env` file to `"disabled"`.
|
||||||
* This disabled the `proxy-acme` service in `docker-compose.yml`.
|
* This disabled the `proxy-acme` service in `docker-compose.yml`.
|
||||||
* It does *not* disable the `proxy` service.
|
* It does *not* disable the `proxy` service.
|
||||||
1. Put your certificates in `${DOCKER_CONFIG_ROOT}/proxy/certs` (e.g. `./docker-compose/config/proxy/certs`)
|
1. Put your certificates in `${DOCKER_ALL_HOST_CONFIG_ROOT_PATH}/proxy/certs` (e.g. `./docker-compose/config/proxy/certs`)
|
||||||
* You may need to create this folder manually if it does not exists.
|
* You may need to create this folder manually if it does not exists.
|
||||||
* The following files are expected to exist in the directory for the proxy to detect and use them automatically (this is the same directory and file names as LetsEncrypt uses)
|
* The following files are expected to exist in the directory for the proxy to detect and use them automatically (this is the same directory and file names as LetsEncrypt uses)
|
||||||
1. `${APP_DOMAIN}.cert.pem`
|
1. `${APP_DOMAIN}.cert.pem`
|
||||||
|
@ -31,4 +31,4 @@ No problem! All you have to do is:
|
||||||
|
|
||||||
## How do I change the container name prefix?
|
## How do I change the container name prefix?
|
||||||
|
|
||||||
Change the `DOCKER_CONTAINER_NAME_PREFIX` key/value pair in your `.env` file.
|
Change the `DOCKER_ALL_CONTAINER_NAME_PREFIX` key/value pair in your `.env` file.
|
||||||
|
|
|
@ -61,8 +61,8 @@ In *particular* the following sections
|
||||||
* The `PHP_VERSION` settings controls your PHP version
|
* The `PHP_VERSION` settings controls your PHP version
|
||||||
* The `PHP_MEMORY_LIMIT` settings controls your PHP memory limit
|
* The `PHP_MEMORY_LIMIT` settings controls your PHP memory limit
|
||||||
* `Docker Specific configuration` section (near the end of the file) where
|
* `Docker Specific configuration` section (near the end of the file) where
|
||||||
* The `DOCKER_DATA_ROOT` setting dictate where the new migrated data will live.
|
* The `DOCKER_ALL_HOST_DATA_ROOT_PATH` setting dictate where the new migrated data will live.
|
||||||
* The `DOCKER_RUN_ONE_TIME_SETUP_TASKS` controls if the `One time setup tasks` should run or not. We do *not* want this, since your Pixelfed instance already is set up!
|
* The `DOCKER_APP_RUN_ONE_TIME_SETUP_TASKS` controls if the `One time setup tasks` should run or not. We do *not* want this, since your Pixelfed instance already is set up!
|
||||||
* [Frequently Asked Question / FAQ](faq.md)
|
* [Frequently Asked Question / FAQ](faq.md)
|
||||||
* [How do I use my own Proxy server?](faq.md#how-do-i-use-my-own-proxy-server)
|
* [How do I use my own Proxy server?](faq.md#how-do-i-use-my-own-proxy-server)
|
||||||
* [How do I use my own SSL certificate?](faq.md#how-do-i-use-my-own-ssl-certificate)
|
* [How do I use my own SSL certificate?](faq.md#how-do-i-use-my-own-ssl-certificate)
|
||||||
|
@ -232,9 +232,9 @@ If the worker is crash looping, inspect the logs and try to resolve the issues.
|
||||||
|
|
||||||
You can consider the following additional steps:
|
You can consider the following additional steps:
|
||||||
|
|
||||||
* Enabling `ENTRYPOINT_DEBUG` which will show even more log output to help understand whats going on
|
* Enabling `DOCKER_APP_ENTRYPOINT_DEBUG` which will show even more log output to help understand whats going on
|
||||||
* Enabling `DOCKER_ENSURE_OWNERSHIP_PATHS` against the path(s) that might have permission issues
|
* Enabling `DOCKER_APP_ENSURE_OWNERSHIP_PATHS` against the path(s) that might have permission issues
|
||||||
* Fixing permission issues directly on the host since your data should all be in the `${DOCKER_DATA_ROOT}` folder (`./docker-compose-state/data` by default)
|
* Fixing permission issues directly on the host since your data should all be in the `${DOCKER_ALL_HOST_DATA_ROOT_PATH}` folder (`./docker-compose-state/data` by default)
|
||||||
|
|
||||||
##### Web
|
##### Web
|
||||||
|
|
||||||
|
|
|
@ -13,13 +13,13 @@ run-as-current-user chown --verbose "${RUNTIME_UID}:${RUNTIME_GID}" "./bootstrap
|
||||||
run-as-current-user chown --verbose "${RUNTIME_UID}:${RUNTIME_GID}" "./storage"
|
run-as-current-user chown --verbose "${RUNTIME_UID}:${RUNTIME_GID}" "./storage"
|
||||||
|
|
||||||
# Optionally fix ownership of configured paths
|
# Optionally fix ownership of configured paths
|
||||||
: "${DOCKER_ENSURE_OWNERSHIP_PATHS:=""}"
|
: "${DOCKER_APP_ENSURE_OWNERSHIP_PATHS:=""}"
|
||||||
|
|
||||||
declare -a ensure_ownership_paths=()
|
declare -a ensure_ownership_paths=()
|
||||||
IFS=' ' read -ar ensure_ownership_paths <<<"${DOCKER_ENSURE_OWNERSHIP_PATHS}"
|
IFS=' ' read -ar ensure_ownership_paths <<<"${DOCKER_APP_ENSURE_OWNERSHIP_PATHS}"
|
||||||
|
|
||||||
if [[ ${#ensure_ownership_paths[@]} == 0 ]]; then
|
if [[ ${#ensure_ownership_paths[@]} == 0 ]]; then
|
||||||
log-info "No paths has been configured for ownership fixes via [\$DOCKER_ENSURE_OWNERSHIP_PATHS]."
|
log-info "No paths has been configured for ownership fixes via [\$DOCKER_APP_ENSURE_OWNERSHIP_PATHS]."
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -7,11 +7,11 @@ source "${ENTRYPOINT_ROOT}/helpers.sh"
|
||||||
entrypoint-set-script-name "$0"
|
entrypoint-set-script-name "$0"
|
||||||
|
|
||||||
# Allow automatic applying of outstanding/new migrations on startup
|
# Allow automatic applying of outstanding/new migrations on startup
|
||||||
: "${DOCKER_RUN_ONE_TIME_SETUP_TASKS:=1}"
|
: "${DOCKER_APP_RUN_ONE_TIME_SETUP_TASKS:=1}"
|
||||||
|
|
||||||
if is-false "${DOCKER_RUN_ONE_TIME_SETUP_TASKS}"; then
|
if is-false "${DOCKER_APP_RUN_ONE_TIME_SETUP_TASKS}"; then
|
||||||
log-warning "Automatic run of the 'One-time setup tasks' is disabled."
|
log-warning "Automatic run of the 'One-time setup tasks' is disabled."
|
||||||
log-warning "Please set [DOCKER_RUN_ONE_TIME_SETUP_TASKS=1] in your [.env] file to enable this."
|
log-warning "Please set [DOCKER_APP_RUN_ONE_TIME_SETUP_TASKS=1] in your [.env] file to enable this."
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e -o errexit -o nounset -o pipefail
|
set -e -o errexit -o nounset -o pipefail
|
||||||
|
|
||||||
[[ ${ENTRYPOINT_DEBUG:=0} == 1 ]] && set -x
|
[[ ${DOCKER_APP_ENTRYPOINT_DEBUG:=0} == 1 ]] && set -x
|
||||||
|
|
||||||
: "${RUNTIME_UID:="33"}"
|
: "${RUNTIME_UID:="33"}"
|
||||||
: "${RUNTIME_GID:="33"}"
|
: "${RUNTIME_GID:="33"}"
|
||||||
|
|
Loading…
Reference in a new issue