Просмотр исходного кода

allow .env control of a couple of PHP settings

Christian Winther 1 год назад
Родитель
Сommit
0addfe5605
2 измененных файлов с 55 добавлено и 10 удалено
  1. 48 3
      .env.docker
  2. 7 7
      docker/shared/root/docker/templates/usr/local/etc/php/php.ini

+ 48 - 3
.env.docker

@@ -1050,6 +1050,16 @@ DOCKER_APP_HOST_CACHE_PATH="${DOCKER_ALL_HOST_DATA_ROOT_PATH:?error}/pixelfed/ca
 # @dottie/validate required,boolean
 #DOCKER_APP_ENTRYPOINT_DEBUG="0"
 
+# Show the "diff" when applying templating to files
+#
+# @default "1"
+# @dottie/validate required,boolean
+#DOCKER_APP_ENTRYPOINT_SHOW_TEMPLATE_DIFF="1"
+
+# Docker entrypoints that should be skipped on startup
+# @default ""
+#ENTRYPOINT_SKIP_SCRIPTS=""
+
 # List of extra APT packages (separated by space) to install when building
 # locally using [docker compose build].
 #
@@ -1076,6 +1086,43 @@ DOCKER_APP_HOST_CACHE_PATH="${DOCKER_ALL_HOST_DATA_ROOT_PATH:?error}/pixelfed/ca
 # @dottie/validate required
 #DOCKER_APP_PHP_MEMORY_LIMIT="128M"
 
+# @default "E_ALL & ~E_DEPRECATED & ~E_STRICT"
+# @see http://php.net/error-reporting
+# @dottie/validate required
+#DOCKER_APP_PHP_ERROR_REPORTING="E_ALL & ~E_DEPRECATED & ~E_STRICT"
+
+# @default "off"
+# @see http://php.net/display-errors
+# @dottie/validate required,oneof=on off
+#DOCKER_APP_PHP_DISPLAY_ERRORS="off"
+
+# Enables the opcode cache.
+#
+# When disabled, code is not optimised or cached.
+#
+# @default "1"
+# @see https://www.php.net/manual/en/opcache.configuration.php#ini.opcache.enable
+# @dottie/validate required,oneof=0 1
+#DOCKER_APP_PHP_OPCACHE_ENABLE="1"
+
+# If enabled, OPcache will check for updated scripts every [opcache.revalidate_freq] seconds.
+#
+# When this directive is disabled, you must reset OPcache manually via opcache_reset(),
+# opcache_invalidate() or by restarting the Web server for changes to the filesystem to take effect.
+#
+# @default "0"
+# @see https://www.php.net/manual/en/opcache.configuration.php#ini.opcache.validate-timestamps
+# @dottie/validate required,oneof=0 1
+#DOCKER_APP_PHP_OPCACHE_VALIDATE_TIMESTAMPS="0"
+
+# How often to check script timestamps for updates, in seconds.
+# 0 will result in OPcache checking for updates on every request.
+#
+# @default "2"
+# @see https://www.php.net/manual/en/opcache.configuration.php#ini.opcache.revalidate-freq
+# @dottie/validate required,oneof=0 1 2
+#DOCKER_APP_PHP_OPCACHE_REVALIDATE_FREQ="2"
+
 ################################################################################
 # docker redis
 ################################################################################
@@ -1165,7 +1212,6 @@ DOCKER_DB_HEALTHCHECK_INTERVAL="${DOCKER_ALL_DEFAULT_HEALTHCHECK_INTERVAL:?error
 ################################################################################
 
 # Set this to a non-empty value (e.g. "disabled") to disable the [web] service
-# @dottie/validate required
 #DOCKER_WEB_PROFILE=""
 
 # Port to expose [web] container will listen on *outside* the container (e.g. the host machine) for *HTTP* traffic only
@@ -1181,7 +1227,6 @@ DOCKER_WEB_HEALTHCHECK_INTERVAL="${DOCKER_ALL_DEFAULT_HEALTHCHECK_INTERVAL:?erro
 ################################################################################
 
 # Set this to a non-empty value (e.g. "disabled") to disable the [worker] service
-# @dottie/validate required
 #DOCKER_WORKER_PROFILE=""
 
 # How often Docker health check should run for [worker] service
@@ -1196,7 +1241,7 @@ DOCKER_WORKER_HEALTHCHECK_INTERVAL="${DOCKER_ALL_DEFAULT_HEALTHCHECK_INTERVAL:?e
 #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?error}"
+#DOCKER_PROXY_ACME_PROFILE="${DOCKER_PROXY_PROFILE:-}"
 
 # The version of nginx-proxy to use
 #

+ 7 - 7
docker/shared/root/docker/templates/usr/local/etc/php/php.ini

@@ -462,7 +462,7 @@ memory_limit = {{ getenv "DOCKER_APP_PHP_MEMORY_LIMIT" "128M" }}
 ; Development Value: E_ALL
 ; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
 ; http://php.net/error-reporting
-error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
+error_reporting = {{ getenv "DOCKER_APP_PHP_ERROR_REPORTING" "E_ALL & ~E_DEPRECATED & ~E_STRICT" }}
 
 ; This directive controls whether or not and where PHP will output errors,
 ; notices and warnings too. Error output is very useful during development, but
@@ -479,7 +479,7 @@ error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
 ; Development Value: On
 ; Production Value: Off
 ; http://php.net/display-errors
-display_errors = Off
+display_errors = {{ getenv "DOCKER_APP_PHP_DISPLAY_ERRORS" "off" }}
 
 ; The display of errors which occur during PHP's startup sequence are handled
 ; separately from display_errors. We strongly recommend you set this to 'off'
@@ -488,7 +488,7 @@ display_errors = Off
 ; Development Value: On
 ; Production Value: Off
 ; http://php.net/display-startup-errors
-display_startup_errors = Off
+display_startup_errors = {{ getenv "DOCKER_APP_PHP_DISPLAY_ERRORS" "off" }}
 
 ; Besides displaying errors, PHP can also log errors to locations such as a
 ; server-specific log, STDERR, or a location specified by the error_log
@@ -680,7 +680,7 @@ auto_globals_jit = On
 ; Its value may be 0 to disable the limit. It is ignored if POST data reading
 ; is disabled through enable_post_data_reading.
 ; http://php.net/post-max-size
-post_max_size = {{ getenv "POST_MAX_SIZE" }}
+post_max_size = {{ getenv "POST_MAX_SIZE" "61M" }}
 
 ; Automatically add files before PHP document.
 ; http://php.net/auto-prepend-file
@@ -1736,7 +1736,7 @@ ldap.max_links = -1
 
 [opcache]
 ; Determines if Zend OPCache is enabled
-;opcache.enable=1
+opcache.enable={{ getenv "DOCKER_APP_PHP_OPCACHE_ENABLE" "1" }}
 
 ; Determines if Zend OPCache is enabled for the CLI version of PHP
 ;opcache.enable_cli=0
@@ -1762,12 +1762,12 @@ ldap.max_links = -1
 
 ; When disabled, you must reset the OPcache manually or restart the
 ; webserver for changes to the filesystem to take effect.
-;opcache.validate_timestamps=1
+opcache.validate_timestamps={{ getenv "DOCKER_APP_PHP_OPCACHE_VALIDATE_TIMESTAMPS" "0" }}
 
 ; How often (in seconds) to check file timestamps for changes to the shared
 ; memory storage allocation. ("1" means validate once per second, but only
 ; once per request. "0" means always validate)
-;opcache.revalidate_freq=2
+opcache.revalidate_freq={{ getenv "DOCKER_APP_PHP_OPCACHE_REVALIDATE_FREQ" "2" }}
 
 ; Enables or disables file search in include_path optimization
 ;opcache.revalidate_path=0