mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-06 17:44:21 +00:00

* PHRAS-4159 Update apt repositories * release of version 4.1.20 PHRAS-4160 * Changelog update --------- Co-authored-by: nmaillat <maillat@alchemy.fr>
1311 lines
47 KiB
Bash
1311 lines
47 KiB
Bash
###
|
||
#
|
||
# Environment variables are assigned at different times in docker.
|
||
# 3 tags make it possible to distinguish them :
|
||
#
|
||
# - @install
|
||
# - @build
|
||
# - @run
|
||
#
|
||
# The "@deprecated" tag targets a deprecated variable.
|
||
#
|
||
# For better readability, see url below :
|
||
# https://docs.phraseanet.com/4.1/en/Admin/EnvironnementVariables.html
|
||
|
||
|
||
# --- ATTENTION POINTS FOR PHRASEANET CONFIGURATION -------------------------------------------------------------------
|
||
# 1. Default Passwords: Ensure all default passwords defined in this configuration are changed to secure, personalized passwords before deployment.
|
||
# 2. MariaDB Container: The provided MariaDB container is not ready for production as-is and requires adjustments. It is recommended to use an external, redundant service for the primary datastore.
|
||
# 3. Configuration Persistence: Changes made in this file need appropriate backups as they are crucial for system restoration and disaster recovery.
|
||
# 4. Environment Specifics: Ensure that settings like database hosts, ports, and credentials are correctly configured for your specific environment.
|
||
# 5. Environment Variable Customization: Environment variables should be tailored to fit the specific needs and usage intentions of the application. Always review and adjust these settings to align with operational requirements.
|
||
# 6. Plugin Dependencies: some features, such as SAML authentication, require additional paid plugins not included in the public images.
|
||
|
||
|
||
|
||
# --- Phraseanet stack composition -------------------------------------------------------------------------------------
|
||
|
||
# Stack composition use "COMPOSE_FILES" and "COMPOSE_PROFILES" variables. Use it
|
||
# to adapt the stack in accordance with your needs.
|
||
#
|
||
# 1/ "COMPOSE_FILE" value define docker-compose files to include. See available
|
||
# files list below :
|
||
# - "docker-compose.yml" : Services Nginx, Phraseanet, workers,
|
||
# scheduler
|
||
# - "docker-compose.datastores.yml" : All data storage services required by
|
||
# Phraseanet except for files storage.
|
||
# - "docker-compose.tools.yml" : Dev and debug tools
|
||
# - "docker-compose.override.yml" : For dev only, use the code from hosts,
|
||
# activate ide debugger, ports mapping for
|
||
# datastores
|
||
# - "docker-compose.phrasea.yml" : For integrate this stack in the "traefik" of Phrasea stack
|
||
#
|
||
# - "docker-compose.limits.yml" : defines containers cpu and memory limits for all Phraseanet and gateway containers only.
|
||
#
|
||
# - "docker-compose.alternatives.yml": all alternative services, used only on evolution or transition or testing periods
|
||
#
|
||
# 2/ "COMPOSE_PROFILES" value define which profiles you want to use
|
||
# in docker-compose.
|
||
# See available services and worker profiles below:
|
||
#
|
||
# Profiles service list:
|
||
# - "app" : launch Phraseanet and Workers.
|
||
# - "setup" : launch a Phraseanet installation and configuration container, this container is launched to perform a default installation and
|
||
# each time it is necessary to update the Phraseanet configuration using the env variables.
|
||
# when an update is performed, the current phraseanet 'config/' repository is backuped in
|
||
# - "gateway-classic" : launch Nginx service.
|
||
# - "gateway-traefik" : Nginx is launched behind a traefik service, at this time `traefik` is not include in this stack but you can use your own
|
||
# or use `Traefik` include in Phrasea Stack.
|
||
# - "workers" : launch one worker container by kind of Jobs, you can also
|
||
# choose to launch only some workers, see worker profile list below.
|
||
# - "worker" : launch one container worker with all jobs run on it.
|
||
# - "cmd" : launch a container based on worker image, useful for run cmd manualy.
|
||
# - "db" : db profile will launch a mariadb container, with data stored on host and mounted in the db container.
|
||
# because this is the primary datastore, you should use you own SGDD service for production needs.
|
||
# - "db-docker-vol" : same as "db" profile but with data stored in a docker volume.
|
||
# - "elastisearch" : launch a elasticsearch container.
|
||
# - "rabbitmq" : launch a rabbitmq container.
|
||
# - "redis" : launch a redis container for app cache.
|
||
# - "redis-session" : launch a redis container for store fpm session.
|
||
# - "builder" : launch the builder container, for dev only.
|
||
# - "elk" : launch an elk stack, for dev only.
|
||
# - "squid" : reverse proxy for dev only.
|
||
# - "mailhog" : for catching all email emit by app for dev and testing.
|
||
# - "db-backup" : launch and run a container to cron database backups and backup file's rotation.
|
||
# - "pma" : launch a phpmyadmin container for test and dev purpose.
|
||
# - "db-mysql8" : launch a mysql8 container (beta), (/!\ do not mix with the "db" profile)
|
||
# Because this is the primary datastore, you should use you own SGDD service for production needs.
|
||
#
|
||
# Profiles worker list:
|
||
# - "assetsInjest"
|
||
# - "createRecord"
|
||
# - "deleteRecord"
|
||
# - "editRecord"
|
||
# - "exportMail"
|
||
# - "downloadAsync"
|
||
# - "exposeUpload"
|
||
# - "exportFtp"
|
||
# - "mainQueue"
|
||
# - "populateIndex"
|
||
# - "pullAssets"
|
||
# - "recordsActions"
|
||
# - "subdefCreation"
|
||
# - "subtitle" Not working (fixed in a future version)
|
||
# - "validationReminder"
|
||
# - "webhook"
|
||
# - "writeMetadatas"
|
||
# - "shareBasket"
|
||
#
|
||
# - "scheduler" : legacy task manager. Warning! Use only if your stack
|
||
# require using old task.
|
||
#
|
||
# See [Docker compose profile documentation|https://docs.docker.com/compose/profiles/]
|
||
# for more information about docker compose profiles.
|
||
#
|
||
#
|
||
# See below some examples of stack composition:
|
||
#
|
||
# For development:
|
||
# - COMPOSE_FILE=docker-compose.yml:docker-compose.datastores.yml:docker-compose.tools.yml:docker-compose.override.yml
|
||
# - COMPOSE_PROFILES=app,setup,db,pma,elasticsearch,redis,redis-session,rabbitmq,workers,mailhog,builder,gateway-classic,cmd
|
||
#
|
||
# For testing with tools:
|
||
# - COMPOSE_FILE=docker-compose.yml:docker-compose.datastores.yml:docker-compose.tools.yml
|
||
# - COMPOSE_PROFILES=app,setup,db,pma,elasticsearch,rabbitmq,redis,redis-session,workers,cmd,mailhog,gateway-classic
|
||
#
|
||
# # To test with tools and apply resources throttling on Phraseanet containers :
|
||
# - COMPOSE_FILE=docker-compose.yml:docker-compose.datastores.yml:docker-compose.tools.yml:docker-compose.limits.yml
|
||
# - COMPOSE_PROFILES=app,setup,db,pma,elasticsearch,rabbitmq,redis,redis-session,workers,cmd,mailhog,gateway-classic
|
||
#
|
||
# For testing with debug and SSL (the traekik is provide by Phrasea stack):
|
||
# - COMPOSE_FILE=docker-compose.yml:docker-compose.datastores.yml:docker-compose.tools.yml:docker-compose.under-phrasea.yml
|
||
# - COMPOSE_PROFILES=app,setup,gateway-traefik,db,pma,elasticsearch,rabbitmq,redis,redis-session,worker,workers,mailhog
|
||
#
|
||
# For production (require using your own databases services and SSL):
|
||
# - COMPOSE_FILE=docker-compose.yml:docker-compose.datastores.yml:docker-compose.tools.yml:docker-compose.scheduler.yml
|
||
# - COMPOSE_PROFILES=app,setup,workers,gateway-traefik
|
||
#
|
||
# Example with all profiles:
|
||
# - COMPOSE_FILE=docker-compose.yml:docker-compose.datastores.yml:docker-compose.tools.yml:docker-compose.limits.yml
|
||
# - COMPOSE_PROFILES=app,setup,gateway-classic,db,elasticsearch,redis,redis-session,rabbitmq,pma,mailhog,assetsInjest,createRecord,deleteRecord,editRecord,
|
||
# exportMail,downloadAsync,exposeUpload,exportFtp,mainQueue,populateIndex,pullAssets,recordsActions,subdefCreation,
|
||
# validationReminder,webhook,writeMetadatas,shareBasket,scheduler,cmd,elk,db-backup,phraseanet-saml-sp
|
||
#
|
||
|
||
|
||
# Define "docker-compose" files to include.
|
||
# @run
|
||
COMPOSE_FILE=docker-compose.yml:docker-compose.datastores.yml:docker-compose.tools.yml
|
||
|
||
# Define which profiles you want to use in "docker-compose".
|
||
# @run
|
||
COMPOSE_PROFILES=app,setup,gateway-classic,db,elasticsearch,rabbitmq,redis,redis-session,worker,mailhog,db-backup
|
||
|
||
|
||
|
||
# --- Phraseanet container settings ------------------------------------------------------------------------------------
|
||
|
||
# Registry from which you pull docker images.
|
||
# Avalaible values:
|
||
# - "local" : build and use your images.
|
||
# - "alchemyfr" : using predbuild images from Alchemy registry from dockerhub.
|
||
#
|
||
# @run
|
||
PHRASEANET_DOCKER_REGISTRY=alchemyfr
|
||
|
||
# Docker images tag.
|
||
# @run
|
||
PHRASEANET_DOCKER_TAG=4.1.20
|
||
|
||
# Stack Name
|
||
# An optionnal Name for the stack
|
||
# @run
|
||
STACK_NAME=
|
||
|
||
# --- CPU and Memory Configuration for Docker Services -------------------------------------------------------------------
|
||
# These settings are only active if 'docker-compose.limits.yml' is specified in the COMPOSE_FILE variable.
|
||
# they define the resources allocated to the containers, for more explanation see the docker compose documentation
|
||
|
||
# Number of CPUs allocated to the worker service.
|
||
# @run
|
||
WORKER_CPU=2
|
||
|
||
# Number of CPUs allocated to the gateway service.
|
||
# @run
|
||
GATEWAY_CPU=2
|
||
|
||
# Number of CPUs allocated to the PHP-FPM service.
|
||
# @run
|
||
FPM_CPU=2
|
||
|
||
# Maximum memory that the worker service can use.
|
||
# @run
|
||
WORKER_MEMORY_LIMIT=2048M
|
||
|
||
# Maximum memory that the gateway service can use.
|
||
# @run
|
||
GATEWAY_MEMORY_LIMIT=2048M
|
||
|
||
# Maximum memory that the PHP-FPM service can use.
|
||
# @run
|
||
FPM_MEMORY_LIMIT=2048M
|
||
|
||
# Reserved memory for the worker service.
|
||
# @run
|
||
WORKER_MEMORY_RESERVATION=256M
|
||
|
||
# Reserved memory for the gateway service.
|
||
# @run
|
||
GATEWAY_MEMORY_RESERVATION=256M
|
||
|
||
# Reserved memory for the PHP-FPM service.
|
||
# @run
|
||
FPM_MEMORY_RESERVATION=256M
|
||
|
||
|
||
# --- Phraseanet container network settings ------------------------------------------------------------------------------------
|
||
# Phraseanet network settings are used to define the network configuration
|
||
# of the Phraseanet stack when traefik is used.
|
||
# see phraseanet under traefik in Phrasea stack
|
||
|
||
# Phrasea network Name, the name of Phrasea network and see by traefik
|
||
# @run
|
||
PHRASEA_NETWORK_NAME=ps_internal
|
||
|
||
# Domain Name used by traefik in Phrasea stack
|
||
# @run
|
||
PHRASEA_DOMAIN=phrasea.local
|
||
|
||
# Phrasea Gateway IP, the IP of the gateway container (traefik) in the Phrasea stack
|
||
# @run
|
||
PHRASEA_GATEWAY_IP=172.30.0.1
|
||
|
||
# Phrasea Gateway Name, the name of the gateway container (traefik) in the Phrasea stack
|
||
# @run
|
||
PHRASEA_COMPOSE_PROJECT_NAME=ps
|
||
|
||
|
||
# --- Phraseanet container entrypoint settings -------------------------------------------------------------------------
|
||
|
||
# Do an installation if Phraseanet is not installed.
|
||
# Avalaible values: "0" | "1"
|
||
# @run
|
||
PHRASEANET_INSTALL=1
|
||
|
||
# Apply they env variables values to config/configuration.yml file.
|
||
# Avalaible values: "0" | "1"
|
||
# @run
|
||
PHRASEANET_SETUP=1
|
||
|
||
# Play an upgrade.
|
||
# Avalaible values: "0" | "1"
|
||
# @run
|
||
PHRASEANET_UPGRADE=0
|
||
|
||
# Maintenance mode
|
||
# show an Nginx unavailability message
|
||
# Available values: "0" | "1"
|
||
# 0 - for no maintenance mode
|
||
# 1 - for persisting maintenance mode
|
||
# During an upgrade, the unavailability message is automatically activated with a default message
|
||
# "We are performing scheduled maintenance and will be back online in a few minutes."
|
||
# @run
|
||
PHRASEANET_MAINTENANCE=0
|
||
|
||
# Customize the maintenance message
|
||
# this is possible to customize the displayed maintenance message.
|
||
# Note: space needs to be encoded with space html character, quote and double quote need to be escaped
|
||
# Example :
|
||
# PHRASEANET_MAINTENANCE_MESSAGE="<p>Under maintenance!</p><p>More information <a href=\"https://www.yoururl.fr\">here</a></p>"
|
||
# @run
|
||
PHRASEANET_MAINTENANCE_MESSAGE=
|
||
|
||
# --- RabbitMQ settings ------------------------------------------------------------------------------------------------
|
||
|
||
# RabbitMQ user account : create an account in RabbitMQ container and use it
|
||
# in Phraseanet configuration.
|
||
# @run
|
||
RABBITMQ_DEFAULT_USER=alchemy
|
||
|
||
# RabbitMQ password account.
|
||
# @run
|
||
RABBITMQ_DEFAULT_PASS=vdh4dpe5Wy3R
|
||
|
||
# RabbitMQ Http interface management port.
|
||
# @run
|
||
RABBITMQ_MANAGEMENT_PORT=10811
|
||
|
||
# rabbit hostname, need also for the name of rabbit database dir to avoid random name after dc down/up
|
||
# @run
|
||
RABBITMQ_HOSTNAME=rabbit_phraseanet
|
||
|
||
# @run
|
||
RABBITMQ_IMAGE_TAG=rabbitmq:4.1.0-management
|
||
|
||
# --- Gateway settings (Nginx) -----------------------------------------------------------------------------------------
|
||
|
||
# Value applied to "send_timeout", "keepalive_timeout", "client_header_timeout"
|
||
# and "client_body_timeout" Nginx settings.
|
||
# @run
|
||
GATEWAY_SEND_TIMEOUT=120
|
||
|
||
# Timeout for establishing a connection with a proxied server. See [documentation|
|
||
# https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_connect_timeout].
|
||
# @run
|
||
GATEWAY_PROXY_TIMEOUT=120
|
||
|
||
# Value applied to "fastcgi_connect_timeout", "fastcgi_read_timeout"
|
||
# and "fastcgi_send_timeout" Nginx settings.
|
||
# @run
|
||
GATEWAY_FASTCGI_TIMEOUT=300
|
||
|
||
# --- Gateway restricted access settings (Nginx) -----------------------------------------------------------------------------------------
|
||
# Activate application access restrictions.
|
||
# Restrictions can be based on IP and/or password. Use these settings to control who can access the application.
|
||
|
||
# Allowed IPs: Comma-separated list of IP addresses that are allowed to access the gateway.
|
||
# Uncomment and specify IPs to enable. Example: GATEWAY_ALLOWED_IPS=10.0.0.1,10.0.1.1
|
||
# @run
|
||
GATEWAY_ALLOWED_IPS=
|
||
|
||
# Denied IPs: Comma-separated list of IP addresses that are denied access to the gateway.
|
||
# Uncomment and specify IPs to enable. Example: GATEWAY_DENIED_IPS=172.1.0.1,172.1.0.2
|
||
# @run
|
||
GATEWAY_DENIED_IPS=
|
||
|
||
# Users: Specifies credentials for accessing the gateway. Format "username:password".
|
||
# Uncomment and specify user credentials to enable. Example: GATEWAY_USERS="user1:password1,user2:password2"
|
||
# @run
|
||
GATEWAY_USERS=
|
||
|
||
# Status and ping access Allowed IPs: Comma-separated list of IP addresses that are allowed to access the /status or /ping pages.
|
||
# Uncomment and specify IPs to enable. Example: GATEWAY_STATUS_ALLOWED_IPS=10.0.0.1,10.0.1.1
|
||
# @run
|
||
GATEWAY_STATUS_ALLOWED_IPS=
|
||
|
||
# --- Gateway HTTP requests quota management (Nginx) -----------------------------------------------------------------------------------------
|
||
# Manage http incoming request limits by verbs using the "ngx_http_limit_req_module" module.
|
||
# this feature is based on ip adresses and need PHRASEANET_TRUSTED_PROXIES defined to get real_ip
|
||
# READ is for GET and HEAD requests
|
||
# WRITE is for POST, PUT, DELETE and PATCH requests
|
||
# Enabling the requests Limit
|
||
# @run
|
||
HTTP_REQUEST_LIMITS=false
|
||
|
||
# In megabyte For Exemple 16,000 IP addresses takes 1 megabyte, so our zone can store about 160,000 addresses.
|
||
# @run
|
||
HTTP_READ_REQUEST_LIMIT_MEMORY=10
|
||
|
||
# request/seconde, sets the maximum request rate. By default here the rate cannot exceed 100 requests per second
|
||
# @run
|
||
HTTP_READ_REQUEST_LIMIT_RATE=100
|
||
|
||
# The burst parameter defines how many requests a client can make in excess of the rate specified
|
||
# @run
|
||
HTTP_READ_REQUEST_LIMIT_BURST=20
|
||
|
||
# (m) For Exemple 16,000 IP addresses takes 1 megabyte, so our zone can store about 160,000 addresses.
|
||
# @run
|
||
HTTP_WRITE_REQUEST_LIMIT_MEMORY=10
|
||
|
||
# (r/s) Sets the maximum request rate. By default here the rate cannot exceed 10 requests per second
|
||
# @run
|
||
HTTP_WRITE_REQUEST_LIMIT_RATE=100
|
||
|
||
# The burst parameter defines how many requests a client can make in excess of the rate specified
|
||
# @run
|
||
HTTP_WRITE_REQUEST_LIMIT_BURST=20
|
||
|
||
# --- Gateway HTTPS settings (Nginx) ------------------------------------------------------------------------------------
|
||
# https and reverse proxy (on/off)
|
||
# set to on in the case : https behind a proxy
|
||
# @run
|
||
GATEWAY_FASTCGI_HTTPS=off
|
||
|
||
# --- Gateway CSP settings (Nginx) --------------------------------------------------------------------------------------
|
||
# Content Security Policy (CSP)
|
||
# helps to detect and mitigate some types of attacks, including Cross-Site Scripting (XSS).
|
||
# CSP default values are included in the "Gateway" container entrypoint.
|
||
# Use GATEWAY_CSP env var if you want to define yours or override Gateway default CSP values.
|
||
|
||
# default value GATEWAY_CSP="default-src 'self' 127.0.0.1 https://sockjs-eu.pusher.com:443 wss://ws-eu.pusher.com https://apiws.carrick-skills.com:8443 https://apiws.carrick-flow.com:8443 https://fonts.gstatic.com *.tiles.mapbox.com https://api.mapbox.com https://events.mapbox.com *.axept.io *.matomo.cloud *.newrelic.com *.nr-data.net https://www.googletagmanager.com *.google-analytics.com *.phrasea.io https://apiws.carrick-flow.com:8443 https://apiws.carrick-skills.com:8443 https://maxcdn.bootstrapcdn.com data: ; script-src 'unsafe-inline' 'unsafe-eval' 'self' https://www.gstatic.com *.alchemyasp.com *.axept.io *.matomo.cloud *.newrelic.com https://www.googletagmanager.com https://apiws.carrick-flow.com:8443 https://apiws.carrick-skills.com:8443 https://maxcdn.bootstrapcdn.com data: blob: ; style-src 'self' 'unsafe-inline' https://fonts.gstatic.com https://fonts.googleapis.com https://www.google.com https://www.gstatic.com https://apiws.carrick-flow.com:8443 https://apiws.carrick-skills.com:8443 https://maxcdn.bootstrapcdn.com ; img-src 'self' data: blob: *.tiles.mapbox.com https://axeptio.imgix.net *.cloudfront.net *.phrasea.io *.amazonaws.com https://apiws.carrick-flow.com:8443 https://apiws.carrick-skills.com:8443 https://maxcdn.bootstrapcdn.com https://www.gnu.org/graphics/ ; object-src 'self'; frame-ancestors 'self'"
|
||
# @run
|
||
GATEWAY_CSP=
|
||
|
||
# --- PHP settings -----------------------------------------------------------------------------------------------------
|
||
|
||
# Maximum request body size for Php and Nginx. Example "1G"
|
||
# @run
|
||
MAX_BODY_SIZE=1G
|
||
|
||
# Maximum Php input var. See [max-input-vars Php documentation|
|
||
# https://www.php.net/manual/en/info.configuration.php#ini.max-input-vars].
|
||
# @run
|
||
MAX_INPUT_VARS=12000
|
||
|
||
# Maximum Php execution time in second. See [max-execution-time Php documentation|
|
||
# https://www.php.net/manual/en/info.configuration.php#ini.max-execution-time].
|
||
# @run
|
||
MAX_EXECUTION_TIME=120
|
||
|
||
# Maximum Php input time in second. See [max-input-time Php documentation|
|
||
# https://www.php.net/manual/en/info.configuration.php#ini.max-input-time].
|
||
# @run
|
||
MAX_INPUT_TIME=60
|
||
|
||
# Php timeout for serving a single request after which the worker process will
|
||
# be killed. This option should be used when the "max_execution_time" ini option
|
||
# does not stop script execution for some reason. A value of "0" means "off".
|
||
# Available units: s(econds)[default], m(inutes), h(ours), or d(ays).
|
||
# @run
|
||
REQUEST_TERMINATE_TIMEOUT=300s
|
||
|
||
# Maximum amount of memory a script may consume (128MB)
|
||
# http://php.net/memory-limit
|
||
# Memory limit in FPM context
|
||
# @run
|
||
FPM_MEMORY_LIMIT=2048M
|
||
# Memory limit for php-cli
|
||
# @run
|
||
PHP_CLI_MEMORY_LIMIT=2048M
|
||
|
||
# Temporary directory for HTTP uploaded files (will use system default if not
|
||
# specified).
|
||
# http://php.net/upload-tmp-dir
|
||
# @run
|
||
PHP_UPLOAD_TMP_DIR=/var/alchemy/Phraseanet/tmp/php_upload_tmp
|
||
|
||
# Php Opcache status. See [opcache Php documentation|
|
||
# https://www.php.net/manual/en/intro.opcache.php].
|
||
# Avalaible values: "0" | "1"
|
||
# @run
|
||
OPCACHE_ENABLED=1
|
||
|
||
# Php session cache limiter. See [session-cache-limiter Php documentation|
|
||
# https://www.php.net/manual/en/function.session-cache-limiter].
|
||
# Avalaible values: "off" | "on"
|
||
# @run
|
||
SESSION_CACHE_LIMITER=off
|
||
|
||
# Php logging level. See [error-reporting Php documentation|
|
||
# https://www.php.net/manual/en/function.error-reporting.php].
|
||
# Available values: "alert" | "error" | "warning" | "notice" | "debug"
|
||
# @run
|
||
PHP_LOG_LEVEL=warning
|
||
|
||
# PHP Handler used to store/retrieve data.
|
||
# http://php.net/session.save-handler
|
||
# session handler can be "files" and path must be than
|
||
# @run
|
||
SESSION_SAVE_HANDLER=redis
|
||
# @run
|
||
SESSION_SAVE_PATH=tcp://redis-session:6379
|
||
|
||
# PHP session cookies to be secured
|
||
# only works if the application is under ssl protection
|
||
# @run
|
||
COOKIE_SECURE=false
|
||
|
||
# FPM
|
||
# Choose how the process manager will control the number of child processes.
|
||
# Possible Values:
|
||
# static - a fixed number (pm.max_children) of child processes;
|
||
# dynamic - the number of child processes are set dynamically based on the
|
||
# @run
|
||
FPM_PM_TYPE=dynamic
|
||
|
||
# FPM
|
||
# The number of child processes to be created when pm is set to 'static' and the
|
||
# maximum number of child processes when pm is set to 'dynamic' or 'ondemand'.
|
||
# @run
|
||
FPM_MAXCHILDREN=9
|
||
|
||
# FPM
|
||
# The number of child processes created on startup.
|
||
# Note: Used only when pm is set to 'dynamic'
|
||
# @run
|
||
FPM_STARTSERVERS=3
|
||
|
||
# FPM
|
||
# The desired minimum number of idle server processes.
|
||
# Note: Used only when pm is set to 'dynamic'
|
||
# Note: Mandatory when pm is set to 'dynamic'
|
||
# @run
|
||
FPM_MINSPARESERVER=2
|
||
|
||
# FPM
|
||
# The desired maximum number of idle server processes.
|
||
# Note: Used only when pm is set to 'dynamic'
|
||
# Note: Mandatory when pm is set to 'dynamic'
|
||
# @run
|
||
FPM_MAXSPARESERVER=4
|
||
|
||
# FPM
|
||
# The number of requests each child process should execute before respawning.
|
||
# @run
|
||
FPM_MAX_REQUESTS=1000
|
||
|
||
# --- MySQL settings ---------------------------------------------------------------------------------------------------
|
||
|
||
# MySQL root password.
|
||
# A change is mandatory for security reasons.
|
||
# @build
|
||
MYSQL_ROOT_PASSWORD=root
|
||
|
||
# MySQL server host address.
|
||
# @build
|
||
SERVER_NAME=phraseanet-docker
|
||
|
||
# MySQL maximum allowed packet.
|
||
# Value applied to "max_allowed_packet" MySQL server setting.
|
||
# @run
|
||
MYSQL_MAX_ALLOWED_PACKET=16M
|
||
|
||
# Value applied to "max_connection" MySQL server setting.
|
||
# @run
|
||
MYSQL_MAX_CONNECTION=200
|
||
|
||
# Enable the slow query log to see queries with especially long duration.
|
||
# Value applied to "slow_query_log" MySQL server setting.
|
||
# @run
|
||
MYSQL_SLOW_QUERY_LOG=0
|
||
|
||
# Value applied to "long_query_time" MySQL server setting.
|
||
# @run
|
||
MYSQL_LONG_QUERY_TIME=10
|
||
|
||
# Cache only tiny result sets, so we can fit more in the query cache.
|
||
# Value applied to "query_cache_limit" MySQL server setting.
|
||
# @run
|
||
MYSQL_QUERY_CACHE_LIMIT=128k
|
||
|
||
# Value applied to "query_cache_size" MySQL server setting.
|
||
# @run
|
||
MYSQL_QUERY_CACHE_SIZE=64M
|
||
|
||
# Value applied to "key_buffer_size" MySQL server setting.
|
||
# @run
|
||
MYSQL_KEY_BUFFER_SIZE=128M
|
||
|
||
# Value applied to "connect_timeout" MySQL server setting.
|
||
# @run
|
||
MYSQL_CONNECT_TIMEOUT=60
|
||
|
||
# Value applied to "wait_timeout" MySQL server setting.
|
||
# @run
|
||
MYSQL_WAIT_TIMEOUT=600
|
||
|
||
# This Environment variable will run mariadb-upgrade is essential when mariadb version changes.
|
||
# https://mariadb.com/kb/en/mariadb-upgrade/
|
||
# @run
|
||
MARIADB_AUTO_UPGRADE=1
|
||
|
||
# --- DB Backup settings ---------------------------------------------------------------------------------------------
|
||
# "db-backup" profile launch and run a container to cron database backups and backup file's rotation.
|
||
# This container is based on the "alpine" image and use the "mysql-client" package to perform backups.
|
||
|
||
# Path where the backuped files will be locally stored
|
||
# @run
|
||
DB_BACKUP_VOLUME_PATH=./datas
|
||
|
||
# The database server host
|
||
# @run
|
||
DB_BACKUP_MYSQL_HOST=db
|
||
|
||
# The database server user
|
||
# @run
|
||
DB_BACKUP_MYSQL_USER=root
|
||
|
||
# The database server pass
|
||
# @run
|
||
DB_BACKUP_MYSQL_PASS=${MYSQL_ROOT_PASSWORD}
|
||
|
||
# The backup file's rotation time in days
|
||
# @run
|
||
DB_BACKUP_MAX_BACKUPS=7
|
||
|
||
# If set, create a backup when the container starts
|
||
# @run
|
||
DB_BACKUP_INIT_BACKUP=0
|
||
|
||
# If set, restores latest backup.
|
||
# @run
|
||
DB_BACKUP_INIT_RESTORE_LATEST=0
|
||
|
||
# Every day at 03:00
|
||
# @run
|
||
#DB_BACKUP_CRON_TIME=0 3 * *
|
||
DB_BACKUP_CRON_TIME=
|
||
|
||
# Make it small
|
||
# @run
|
||
DB_BACKUP_GZIP_LEVEL=9
|
||
|
||
# --- redis cache settings ---------------------------------------------------------------------------------------------
|
||
|
||
# Redis session Image Tag.
|
||
# @run
|
||
REDIS_CACHE_IMAGE_TAG=redis:8.0.1
|
||
|
||
# --- redis session settings ---------------------------------------------------------------------------------------------
|
||
|
||
# Redis cache Image Tag.
|
||
# @run
|
||
REDIS_SESSION_IMAGE_TAG=redis:8.0.1
|
||
|
||
# --- Pusher Settings ---
|
||
# Phraseanet use the Pusher service to notify users of asynchronous downloads https://pusher.com.
|
||
# These settings are required when asynchronous downloads are enabled via 'download_async / enabled=true' in configuration.yml.
|
||
# A Pusher account is necessary.
|
||
# For account setup and further details, refer to the official Pusher documentation at https://pusher.com/docs.
|
||
|
||
# Pusher Authentication Key: Key used for authenticating with the Pusher API.
|
||
# @run
|
||
PUSHER_AUTH_KEY=
|
||
|
||
# Pusher Secret: Secret key for secure interactions with the Pusher API.
|
||
# @run
|
||
PUSHER_SECRET=
|
||
|
||
# Pusher App ID: The unique identifier for your Pusher application.
|
||
# @run
|
||
PUSHER_APP_ID=
|
||
|
||
|
||
# --- Application Cache Settings ---
|
||
# Configuration for caching mechanisms within the application.
|
||
# Supports 'redis' for distributed caching or 'arraycache' for in-memory caching.
|
||
# These settings are effective when the corresponding cache type is enabled in the system configuration.
|
||
|
||
# Cache Type: Specifies the caching mechanism ('redis' or 'arraycache').
|
||
# @run
|
||
PHRASEANET_CACHE_TYPE=redis
|
||
|
||
# Cache Host: Hostname or IP address of the cache server.
|
||
# @run
|
||
PHRASEANET_CACHE_HOST=redis
|
||
|
||
# Cache Port: Port number on which the cache server is running.
|
||
# @run
|
||
PHRASEANET_CACHE_PORT=6379
|
||
|
||
# --- PHP Session Management Settings ---
|
||
# Configures storage mechanism for PHP sessions, correlating with the SESSION_SAVE_HANDLER setting.
|
||
# Options are 'redis', 'file', or 'native'.
|
||
# 'redis' : Using Redis as a session storage mechanism.
|
||
# 'file' : Using file-based session storage.
|
||
# 'native' : Using PHP’s built-in session management which is file-based but can be configured to use a custom session handler.
|
||
# When `native` is choseen see also SESSION_SAVE_HANDLER and SESSION_SAVE_PATH setting in php section
|
||
# 'native' is mandatory for environments where SAML authentication is enabled,
|
||
# see SAML section below
|
||
|
||
# Session Type: Specifies the session storage mechanism.
|
||
# @run
|
||
PHRASEANET_SESSION_TYPE=redis
|
||
|
||
# Session Host: Hostname or IP address of the session storage server.
|
||
# @run
|
||
PHRASEANET_SESSION_HOST=redis-session
|
||
|
||
# Session Port: Port number on which the session storage server is running.
|
||
# @run
|
||
PHRASEANET_SESSION_PORT=6379
|
||
|
||
|
||
# --- Phraseanet general settings --------------------------------------------------------------------------------------
|
||
|
||
# Variables below are used in the "configuration.yml" file:
|
||
|
||
# Application title displayed on Phraseanet homepage.
|
||
# Available values:
|
||
# - "0" : Keep value define configuration.yml
|
||
# - "1" : Use PHRASEANET_PROJECT_NAME
|
||
#
|
||
# @run
|
||
ENV_SET_PHRASEANET_PROJECT_NAME=1
|
||
|
||
# Application title displayed on Phraseanet homepage. Depend on
|
||
# "ENV_SET_PHRASEANET_PROJECT_NAME" variable value.
|
||
# @run
|
||
PHRASEANET_PROJECT_NAME=Phraseanet
|
||
|
||
# Application static url is made by combining PHRASEANET_SCHEME, PHRASEANET_HOSTNAME and PHRASEANET_APP_PORT
|
||
# An non declarative variable is generated for other uses needed for deploiment (helm for exemple)
|
||
# Domain name used by traefik in Phrasea stack
|
||
# @run
|
||
PHRASEANET_HOSTNAME=phraseanet.phrasea.local
|
||
# @run
|
||
PHRASEANET_SCHEME=http
|
||
# @run
|
||
PHRASEANET_APP_PORT=8082
|
||
|
||
# Variables below used to define the first user / email couple :
|
||
# Phraseanet root account ID. If this variable is filled in,
|
||
# "PHRASEANET_ADMIN_ACCOUNT_PASSWORD" variable value will override
|
||
# targeted account ID password each time Phraseanet is started.
|
||
# @run
|
||
PHRASEANET_ADMIN_ACCOUNT_ID=
|
||
|
||
# @run
|
||
PHRASEANET_ADMIN_ACCOUNT_EMAIL=admin@phraseanet.local
|
||
|
||
# require to be change for securitie reasons
|
||
# @run
|
||
PHRASEANET_ADMIN_ACCOUNT_PASSWORD=iJRqXU0MwbyJewQLBbra6IWHsWly
|
||
|
||
# Use Pusher to enable async download.
|
||
# @run
|
||
PHRASEANET_DOWNLOAD_ASYNC=false
|
||
|
||
# --- User Session Duration Settings ---
|
||
# These settings control the lifetime and idle timeout of user sessions in the application.
|
||
|
||
# User Session Idle Timeout: Duration in seconds a session can remain inactive before being ended by the server.
|
||
# This setting helps manage resources efficiently and improves security by limiting the risk of sessions being hijacked during periods of inactivity.
|
||
# @run
|
||
PHRASEANET_USER_SESSION_IDLE=14400
|
||
|
||
# User Session Lifetime: Maximum duration in seconds that a session can exist, regardless of activity.
|
||
# This setting defines the absolute maximum time a session will remain active,
|
||
# after which it will be terminated to prevent long-lived sessions.
|
||
# @run
|
||
PHRASEANET_USER_SESSION_LIFETIME=86400
|
||
|
||
# --- Phraseanet SGBD Settings ---
|
||
# Configure the database settings for Phraseanet.
|
||
# Note: The default settings provided below are for initial setup and development purposes only.
|
||
# For production environments, ensure to use secure credentials and consider connecting to a managed database service for enhanced security and performance.
|
||
|
||
# SGBD Host: Specifies the hostname or IP address of the database server.
|
||
# @install
|
||
PHRASEANET_DB_HOST=db
|
||
|
||
# SGBD Port: Specifies the port number on which the database server is accessible.
|
||
# @install
|
||
PHRASEANET_DB_PORT=3306
|
||
|
||
# SGBD User: Username for accessing the database. Change from default 'root' to a user with lesser privileges for security reasons.
|
||
# @install
|
||
PHRASEANET_DB_USER=root # Recommend changing to a specific, non-root user for production.
|
||
|
||
# SGBD Password: Password for the database user. Ensure to change this from the default for security reasons.
|
||
# @install
|
||
PHRASEANET_DB_PASSWORD=root # Strongly recommend setting a strong, unique password for production.
|
||
|
||
|
||
# --- Phraseanet Database Settings ---------------------------------------------------------------------------------------
|
||
# Configure the initial database settings for Phraseanet installation.
|
||
# These settings specify the templates and database identifiers used during the setup process.
|
||
# Note: The databases specified here exist by default in the provided 'db' container.
|
||
# If using an external database server, ensure these databases are created prior to installation.
|
||
|
||
# Database Template: Specifies the template for database setup, guiding the initial configuration structure.
|
||
# @install
|
||
INSTALL_DB_TEMPLATE=DublinCore
|
||
|
||
# Application Database Identifier: Specifies the identifier for the primary application database.
|
||
# Typically named as 'ab_master' or similar; adjust as needed.
|
||
# @install
|
||
INSTALL_APPBOX=ab_master
|
||
|
||
# Data Database Identifier: Specifies the identifier for the primary data storage database.
|
||
# Typically named as 'db_databox1' or similar; adjust as needed.
|
||
# @install
|
||
INSTALL_DATABOX=db_databox1
|
||
|
||
|
||
|
||
|
||
|
||
# --- Phraseanet languages settings ------------------------------------------------------------------------------------
|
||
|
||
# Available languages (list of language code separated by comma).
|
||
# @run
|
||
PHRASEANET_AVAILABLE_LANGUAGE=de,en,fr,nl
|
||
|
||
# Default language code.
|
||
# @run
|
||
PHRASEANET_DEFAULT_LANGUAGE=en
|
||
|
||
# --- Phraseanet Binaries Execution Timeouts Settings -------------------------------------------------------------------
|
||
# These settings define the maximum allowed execution time in minutes for various media processing tools used by Phraseanet.
|
||
# If a process exceeds the specified timeout, it will be considered as having encountered an error.
|
||
# These timeouts should be adjusted based on the file sizes being processed.
|
||
|
||
# FFMPEG Timeout: Maximum execution time for FFMPEG processes, used for video encoding and processing.
|
||
# @run
|
||
PHRASEANET_FFMPEG_TIMEOUT=7200
|
||
|
||
# FFPROBE Timeout: Maximum execution time for FFPROBE processes, used for video file analysis.
|
||
# @run
|
||
PHRASEANET_FFPROBE_TIMEOUT=120
|
||
|
||
# Ghostscript Timeout: Maximum execution time for Ghostscript processes, used for processing PDFs and PostScript files.
|
||
# @run
|
||
PHRASEANET_GS_TIMEOUT=120
|
||
|
||
# MP4Box Timeout: Maximum execution time for MP4Box processes, used for multimedia stream manipulation.
|
||
# @run
|
||
PHRASEANET_MP4BOX_TIMEOUT=120
|
||
|
||
# SWFTools Timeout: Maximum execution time for SWFTools processes, used for processing SWF files.
|
||
# @run
|
||
PHRASEANET_SWFTOOLS_TIMEOUT=120
|
||
|
||
# Unoconv Timeout: Maximum execution time for Unoconv processes, used for document conversion between various formats.
|
||
# @run
|
||
PHRASEANET_UNOCON_TIMEOUT=120
|
||
|
||
# ExifTool Timeout: Maximum execution time for ExifTool processes, used for managing metadata within media files.
|
||
# @run
|
||
PHRASEANET_EXIFTOOL_TIMEOUT=120
|
||
|
||
|
||
# --- Phraseanet RabbitMQ Settings ---
|
||
# Configuration settings for RabbitMQ, used for message queuing within Phraseanet.
|
||
# These settings define how Phraseanet connects to the RabbitMQ server to handle asynchronous message queuing.
|
||
|
||
# RabbitMQ Host: The hostname or IP address of the RabbitMQ server.
|
||
# @run
|
||
PHRASEANET_RABBITMQ_HOST=rabbitmq
|
||
|
||
# RabbitMQ Port: The port number on which the RabbitMQ server is accessible.
|
||
# @run
|
||
PHRASEANET_RABBITMQ_PORT=5672
|
||
|
||
# RabbitMQ SSL: Whether to use SSL/TLS to encrypt the connection. Set to 'false' to disable.
|
||
# @run
|
||
PHRASEANET_RABBITMQ_SSL=false
|
||
|
||
# RabbitMQ Virtual Host: The namespace where queues and exchanges are defined within RabbitMQ.
|
||
# @run
|
||
PHRASEANET_RABBITMQ_VHOST=/
|
||
|
||
# RabbitMQ Heartbeat: The timeout interval in seconds for sending heartbeats to keep the connection alive.
|
||
# @run
|
||
PHRASEANET_RABBITMQ_HEARTBEAT=30
|
||
|
||
# --- Phraseanet Elasticsearch Settings ---
|
||
# Initial configuration for Elasticsearch during the installation process of Phraseanet.
|
||
# Note: These environment variables are used only during installation.
|
||
# To modify these settings post-installation, use the configuration.yml file or the Phraseanet admin GUI.
|
||
|
||
# Elasticsearch Host: The hostname or IP address of the Elasticsearch server.
|
||
# @install
|
||
PHRASEANET_ELASTICSEARCH_HOST=elasticsearch
|
||
|
||
# Elasticsearch Port: The port number on which Elasticsearch is accessible.
|
||
# @install
|
||
PHRASEANET_ELASTICSEARCH_PORT=9200
|
||
|
||
# Elasticsearch Index: The default index name for Elasticsearch. Set to 'null' to use the default setting from Phraseanet.
|
||
# @install
|
||
PHRASEANET_ELASTICSEARCH_INDEX=null
|
||
|
||
# Elasticsearch Number of Shards: The number of shards for the Elasticsearch index.
|
||
# @install
|
||
PHRASEANET_ELASTICSEARCH_SHARD=3
|
||
|
||
# Elasticsearch Number of Replicas: The number of replicas for each shard in the Elasticsearch index.
|
||
# @install
|
||
PHRASEANET_ELASTICSEARCH_REPLICAS=0
|
||
|
||
# Elasticsearch Minimum Score: The minimum score for search results to be considered relevant.
|
||
# @install
|
||
PHRASEANET_ELASTICSEARCH_MINSCORE=2
|
||
|
||
# Elasticsearch Highlight: Whether search results should be highlighted. Set to 'true' to enable.
|
||
# @install
|
||
PHRASEANET_ELASTICSEARCH_HIGHLIGHT=true
|
||
|
||
# Elasticsearch Max Result Window: The maximum number of search results that can be returned in a single query.
|
||
# @install
|
||
PHRASEANET_ELASTICSEARCH_MAXRESULTWINDOW=500000
|
||
|
||
# Elasticsearch Populate Order: The default order in which search results are populated.
|
||
# @install
|
||
PHRASEANET_ELASTICSEARCH_POPULATEORDER=RECORD_ID
|
||
|
||
# Elasticsearch Active Tab: The active tab in the Elasticsearch dashboard. Set to 'null' to use the default setting from Phraseanet.
|
||
# @install
|
||
PHRASEANET_ELASTICSEARCH_ACTIVETAB=null
|
||
|
||
# Elasticsearch Facet Base: Base number for calculating facets in search results.
|
||
# @install
|
||
PHRASEANET_ELASTICSEARCH_FACET_BASE=10
|
||
|
||
# Elasticsearch Facet per Collection: Number of facets to be calculated for collection in search results.
|
||
# @install
|
||
PHRASEANET_ELASTICSEARCH_FACET_COLLECTION=10
|
||
|
||
# Elasticsearch Facet per Document Type: Number of facets to be calculated for document type in search results.
|
||
# @install
|
||
PHRASEANET_ELASTICSEARCH_FACET_DOCTYPE=10
|
||
|
||
# Elasticsearch Facet Orientation: Number of facets to be calculated based on the orientation of media in search results.
|
||
# @install
|
||
PHRASEANET_ELASTICSEARCH_FACET_ORIENTATION=10
|
||
|
||
|
||
# --- Phraseanet Network Settings ---
|
||
# Configure trusted IPs and network settings for secure access and operation within a controlled network environment.
|
||
|
||
# Trusted Proxies: Comma-separated list of IP addresses or subnets that are trusted as proxies by Phraseanet.
|
||
# @run
|
||
PHRASEANET_TRUSTED_PROXIES=
|
||
|
||
# Debug Allowed IP: Comma-separated list of IP addresses allowed to access debugging features.
|
||
# @run
|
||
PHRASEANET_DEBUG_ALLOWED_IP=
|
||
|
||
# Subnet IPs: Define the IP subnet within which Phraseanet services will operate.
|
||
# @run
|
||
PHRASEANET_SUBNET_IPS=172.32.0.0/16
|
||
|
||
# --- Phraseanet API Settings ---
|
||
# Enable and configure the API settings to dictate how external applications interact with Phraseanet.
|
||
|
||
# API Enabled: Enables the API functionality, allowing for external access.
|
||
# @run
|
||
PHRASEANET_API_ENABLED=true
|
||
|
||
# API SSL: Enables SSL encryption for API connections, ensuring data security.
|
||
# @run
|
||
PHRASEANET_API_SSL=true
|
||
|
||
# API Auth Token Header Only: Restricts API authentication to headers only, enhancing security by not allowing token in URL.
|
||
# @run
|
||
PHRASEANET_API_AUTH_TOKEN_HEADER_ONLY=false
|
||
|
||
# --- Phraseanet Mapbox Geolocation Settings ---
|
||
# Configure settings for geolocation features within Phraseanet, using Mapbox services.
|
||
# Require a Mapbox account and access token to enable and use these features.
|
||
|
||
# Mapbox Activate: Enables or disables Mapbox integration.
|
||
# @run
|
||
PHRASEANET_MAPBOX_ACTIVATE=false
|
||
|
||
# Mapbox Token: The access token for using Mapbox services.
|
||
# @run
|
||
PHRASEANET_MAPBOX_TOKEN=
|
||
|
||
# Mapbox Kind: Specifies the type of Mapbox service to use.
|
||
# @run
|
||
PHRASEANET_MAPBOX_KIND=
|
||
|
||
# --- Phraseanet Mail Settings ---
|
||
# Configure email sending capabilities and SMTP settings for Phraseanet.
|
||
|
||
# Emitter Email: The email address that appears as the sender for emails sent by Phraseanet.
|
||
# @run
|
||
PHRASEANET_EMITTER_EMAIL=phraseanet@example.com
|
||
|
||
# Mail Object Prefix: A prefix for the subject line of emails sent by Phraseanet.
|
||
# @run
|
||
PHRASEANET_MAIL_OBJECT_PREFIX="phraseanet"
|
||
|
||
# SMTP Enabled: Toggle to enable SMTP settings from .env file or disable to configure in GUI.
|
||
# @run
|
||
PHRASEANET_SMTP_ENABLED=true
|
||
|
||
# SMTP Host: The hostname of the SMTP server used for sending emails.
|
||
# @run
|
||
PHRASEANET_SMTP_HOST=mailhog
|
||
|
||
# SMTP Port: The port number on which the SMTP server is accessible.
|
||
# @run
|
||
PHRASEANET_SMTP_PORT=1025
|
||
|
||
# SMTP Auth Enabled: Toggle to require authentication for sending emails via SMTP.
|
||
# @run
|
||
PHRASEANET_SMTP_AUTH_ENABLED=false
|
||
|
||
# SMTP Secure Mode: Defines the encryption method used (e.g., SSL, TLS), set to null to disable.
|
||
# @run
|
||
PHRASEANET_SMTP_SECURE_MODE=null
|
||
|
||
# SMTP User: Username for SMTP authentication, if required.
|
||
# @run
|
||
PHRASEANET_SMTP_USER=
|
||
|
||
# SMTP Password: Password for SMTP authentication, if required.
|
||
# @run
|
||
PHRASEANET_SMTP_PASSWORD=
|
||
|
||
|
||
# --- Phraseanet Workers and Scheduler settings ------------------------------------------------------------------------
|
||
|
||
# Define how many process are launched in the "worker" container:
|
||
# - "0" : Only one process is launched inside the container with no specializing,
|
||
# in this case the scaling needs to be made by the orchestation eg K8S.
|
||
# This is the recommended way.
|
||
# - "1" : Deploys one phraseanet worker for each kind of job, the parallelime is
|
||
# defined by value of envs started by "PHRASEANET_WORKER_XXX"
|
||
#
|
||
# Eg: For two subdefinitions builded at the same time, set
|
||
# "PHRASEANET_WORKER_subdefCreation=2"
|
||
# @run
|
||
PHRASEANET_EXPLODE_WORKER=1
|
||
|
||
# When PHRASEANET_EXPLODE_WORKER=1, it define the method for launching
|
||
# Phraseanet workers process.
|
||
# Available values :
|
||
# - "supervisor" : Launch it with supervisor.
|
||
# - "" : Launch phraseanet workers with a "bin/console".
|
||
#
|
||
# Note for old Phraseanet task planner AKA "Phraseanet scheduler": To launch the
|
||
# "scheduler" container, add "scheduler" profile to "COMPOSE_PROFILES" env
|
||
# variable.
|
||
# Launch this container only if you need to use the old Phraseanet Archive tasks.
|
||
# @run
|
||
PHRASEANET_WORKERS_LAUNCH_METHOD=
|
||
|
||
# --- Phraseanet Worker Settings ----------------------------------------------------------------------------------------
|
||
# Define the number of parallel processes launched in a worker container.
|
||
# Prefer scaling the number of containers over the number of processes within a container.
|
||
# this default setting is for a test platform, for production, adjust the number of workers based on the expected workload and to your infrastructure capacity.
|
||
|
||
# @run
|
||
PHRASEANET_WORKER_assetsIngest=1
|
||
|
||
# @run
|
||
PHRASEANET_WORKER_createRecord=1
|
||
|
||
# @run
|
||
PHRASEANET_WORKER_deleteRecord=1
|
||
|
||
# @run
|
||
PHRASEANET_WORKER_editRecord=1
|
||
|
||
# @run
|
||
PHRASEANET_WORKER_exportMail=1
|
||
|
||
# @run
|
||
PHRASEANET_WORKER_downloadAsync=1
|
||
|
||
# @run
|
||
PHRASEANET_WORKER_exposeUpload=1
|
||
|
||
# @run
|
||
PHRASEANET_WORKER_ftp=1
|
||
|
||
# @run
|
||
PHRASEANET_WORKER_mainQueue=1
|
||
|
||
# @run
|
||
PHRASEANET_WORKER_populateIndex=1
|
||
|
||
# @run
|
||
PHRASEANET_WORKER_pullAssets=1
|
||
|
||
# @run
|
||
PHRASEANET_WORKER_recordsActions=1
|
||
|
||
# @run
|
||
PHRASEANET_WORKER_subdefCreation=1
|
||
|
||
# @run
|
||
PHRASEANET_WORKER_subtitle=1
|
||
|
||
# @run
|
||
PHRASEANET_WORKER_validationReminder=1
|
||
|
||
# @run
|
||
PHRASEANET_WORKER_webhook=1
|
||
|
||
# @run
|
||
PHRASEANET_WORKER_writeMetadatas=1
|
||
|
||
# @run
|
||
PHRASEANET_WORKER_shareBasket=1
|
||
|
||
# PHRASEANET_CMD_MODE=1, set a worker container for run bin/console... or bin/maintenance... manualy
|
||
# Add "cmd" profile to COMPOSE_PROFILE
|
||
# @run
|
||
PHRASEANET_CMD_MODE=1
|
||
|
||
# --- Phraseanet Locales settings --------------------------------------------------------------------------------------
|
||
|
||
# @run
|
||
LC_MESSAGES=C.UTF-8
|
||
|
||
# @run
|
||
LC_COLLATE=C.UTF-8
|
||
|
||
# @run
|
||
LC_IDENTIFICATION=C.UTF-8
|
||
|
||
# @run
|
||
LANG=C.UTF-8
|
||
|
||
# @run
|
||
LC_MEASUREMENT=C.UTF-8
|
||
|
||
# @run
|
||
LC_CTYPE=C.UTF-8
|
||
|
||
# @run
|
||
LC_TIME=C.UTF-8
|
||
|
||
# @run
|
||
LC_NAME=C.UTF-8
|
||
|
||
|
||
|
||
# --- Phraseanet Volumes Location Settings ------------------------------------------------------------------------------
|
||
# Configure the directory paths for various operational and data storage aspects of Phraseanet.
|
||
# These settings specify the locations on the file system where different types of data and operational files are stored,
|
||
# ensuring proper data management and accessibility.
|
||
|
||
# Configuration Directory: Location for Phraseanet configuration files.
|
||
# @run
|
||
PHRASEANET_CONFIG_DIR=./config
|
||
|
||
# Logs Directory: Location for storing logs generated by Phraseanet operations.
|
||
# @run
|
||
PHRASEANET_LOGS_DIR=./logs
|
||
|
||
# Data Directory: General data storage location used by Phraseanet.
|
||
# any change here must be reflected in the db.
|
||
# @run
|
||
PHRASEANET_DATA_DIR=./datas
|
||
|
||
# Database Directory: Location for database volume storage.
|
||
# @run
|
||
PHRASEANET_DB_DIR=./volumes/db
|
||
|
||
# Elasticsearch Directory: Location for Elasticsearch data storage.
|
||
# @run
|
||
PHRASEANET_ELASTICSEARCH_DIR=./volumes/elasticsearch
|
||
|
||
# Thumbnails Directory: Location for storing generated thumbnails.
|
||
# @run
|
||
PHRASEANET_THUMBNAILS_DIR=./www/thumbnails
|
||
|
||
# Custom Directory: Location for custom scripts or extensions.
|
||
# @run
|
||
PHRASEANET_CUSTOM_DIR=./www/custom
|
||
|
||
# Plugins Directory: Location for Phraseanet plugins.
|
||
# @run
|
||
PHRASEANET_PLUGINS_DIR=./www/plugins
|
||
|
||
# Temporary Directory: Location for temporary files.
|
||
# @run
|
||
PHRASEANET_TMP_DIR=./tmp
|
||
|
||
# Cache Directory: Location for caching data to improve application performance.
|
||
# @run
|
||
PHRASEANET_CACHE_DIR=./cache
|
||
|
||
# Download Directory: Location for storing files that are available for download.
|
||
# @run
|
||
PHRASEANET_DOWNLOAD_DIR=./datas/download
|
||
|
||
# Lazaret Directory: Location for storing temporary or quarantined files before final processing or deletion.
|
||
# @run
|
||
PHRASEANET_LAZARET_DIR=./datas/lazaret
|
||
|
||
# Caption Directory: Location for storing caption data for media files.
|
||
# @run
|
||
PHRASEANET_CAPTION_DIR=./tmp/caption
|
||
|
||
# Worker Temporary Directory: Temporary storage for worker processes.
|
||
# @run
|
||
PHRASEANET_WORKER_TMP=./tmp/worker
|
||
|
||
# Backup Directory: Location for backup Phraseanet 'config/' repository.
|
||
# the backup is perfomed by 'setup' container before performing an update
|
||
# Executed
|
||
# @run
|
||
PHRASEANET_BACKUP_DIR=./backup
|
||
|
||
# FTP Directory: Location for FTP uploads or downloads.
|
||
# @run
|
||
PHRASEANET_FTP_DIR=./ftp
|
||
|
||
|
||
# --- Phraseanet plugin support settings -------------------------------------------------------------------------------
|
||
# Configure settings for enabling and managing plugins within Phraseanet.
|
||
|
||
# Plugins git repository, separated by comma.
|
||
# @build
|
||
PHRASEANET_PLUGINS=
|
||
|
||
# key for git repository access
|
||
# @build
|
||
PHRASEANET_SSH_PRIVATE_KEY=
|
||
|
||
|
||
|
||
# --- ImageMagick Default Policy Override Setting ---------------------------------------------------------------------
|
||
# Configure specific operational limits for ImageMagick to manage resource usage and ensure performance and security.
|
||
# reference: https://imagemagick.org/script/security-policy.php
|
||
|
||
# Policy Version: Specifies the version of ImageMagick policies being applied.
|
||
# @run
|
||
IMAGEMAGICK_POLICY_VERSION=7
|
||
|
||
# Maximum Width: Maximum width in pixels that ImageMagick is allowed to process.
|
||
# default value is 48,000 pixels
|
||
# @run
|
||
IMAGEMAGICK_POLICY_WIDTH=48KP
|
||
|
||
# Map Limit: Maximum amount of memory map ImageMagick is allowed to allocate for image cache.
|
||
# default value is 2,048 Megabytes
|
||
# @run
|
||
IMAGEMAGICK_POLICY_MAP=2048MiB
|
||
|
||
# Area Limit: Maximum area in pixels ImageMagick is allowed to allocate for an image.
|
||
# default value is 4,096 Megabytes
|
||
# @run
|
||
IMAGEMAGICK_POLICY_AREA=4096MB
|
||
|
||
# Disk Limit: Maximum amount of disk space ImageMagick is allowed to use for iamge cache.
|
||
# default value is 6 Gigabyte
|
||
# @run
|
||
IMAGEMAGICK_POLICY_DISK=6GiB
|
||
|
||
# Temporary Path: Location for ImageMagick's temporary files.
|
||
# default value is /tmp
|
||
# @run
|
||
IMAGEMAGICK_POLICY_TEMPORARY_PATH=/tmp
|
||
|
||
# --- New Relic Monitoring Settings ---
|
||
# Enable and configure the New Relic agent for platform monitoring to analyze and optimize the application's performance.
|
||
# refer to the official New Relic documentation at https://docs.newrelic.com/docs/agents/php-agent/getting-started/introduction-new-relic-php
|
||
|
||
# New Relic Enabled: Toggle to enable or disable New Relic monitoring.
|
||
# @run
|
||
NEWRELIC_ENABLED=false
|
||
|
||
# New Relic License Key: The license key for your New Relic account.
|
||
# @run
|
||
NEWRELIC_LICENSE_KEY=
|
||
|
||
# New Relic App Name: The name of the application as registered in New Relic.
|
||
# @run
|
||
NEWRELIC_APP_NAME=
|
||
|
||
# --- SAML Authentication Settings --------------------------------------------------------------------------------------
|
||
# Configure settings for SAML (Security Assertion Markup Language) authentication within Phraseanet to enable secure single sign-on (SSO) capabilities.
|
||
# Note: This setup requires an additional paid plugin that is not included in the public images.
|
||
# It also requires extra containers that must be declared in the Docker compose stack by adding 'phraseanet-saml-sp' to COMPOSE_PROFILES.
|
||
|
||
# Allow Debug: Enables detailed logging for SAML operations. Useful for troubleshooting during setup and testing.
|
||
# @run
|
||
SAML_ALLOW_DEBUG=true
|
||
|
||
# Phraseanet Host: The URL where Phraseanet is hosted, used in SAML exchanges.
|
||
# @run
|
||
SAML_PHRASEANET_HOST=http://127.0.0.1:8082
|
||
|
||
# Service Provider Config Directory: Path to the directory where the SAML service provider configuration is stored.
|
||
# @run
|
||
SAML_SP_CONFIG_DIR=./saml-config/
|
||
|
||
# Service Provider Auth Sources: Specifies the authentication sources configuration for the service provider.
|
||
# @run
|
||
SAML_SP_AUTHSOURCES=
|
||
|
||
# Service Provider Certificate Directory: Path to the directory where the SAML service provider certificates are stored.
|
||
# @run
|
||
SAML_SP_CERT_DIR=./saml-cert/
|
||
|
||
# Identity Provider Metadata Configuration: Configuration details for the SAML identity provider.
|
||
# @run
|
||
SAML_IDP_METADATA_CONFIG=
|
||
|
||
# Local Identity Provider Metadata Directory: Path to the directory where local metadata configurations for identity providers are stored.
|
||
# @run
|
||
SAML_IDP_METADATA_LOCAL_CONFIG_DIR=./saml-metadata/
|
||
|
||
# --- Development purpose ----------------------------------------------------------------------------------------------
|
||
|
||
# See [Phraseanet development-mode documentation|
|
||
# https://github.com/alchemy-fr/Phraseanet#development-mode] for more information.
|
||
|
||
# "PhpMyAdmin" http port mapping.
|
||
# @run
|
||
PHRASEANET_PHPMYADMIN_PORT=8089
|
||
|
||
# "Mailhog" http port mapping.
|
||
# @run
|
||
MAILHOG_GUI_PORT=8025
|
||
|
||
# "Xdebug" settings:
|
||
|
||
# @run
|
||
XDEBUG_ENABLED=0
|
||
|
||
# @run
|
||
XDEBUG_PROFILER_ENABLED=0
|
||
|
||
# @run
|
||
IDE_KEY=PHPSTORM
|
||
|
||
# @run
|
||
XDEBUG_REMOTE_HOST=172.32.0.1
|
||
|
||
# @run
|
||
PHP_IDE_CONFIG=serverName=docker-server-phraseanet
|
||
|
||
# For dev or testing export ftp-server
|
||
# @run
|
||
PHRASEANET_FTP_DIR=./datas/ftp
|
||
|
||
# For dev proxy squid WIP:
|
||
# - PHRASEANET_SQUID_DIR=./volumes/squid
|
||
# - PHRASEANET_SQUID_CONF= ./docker/squid/squid.conf
|
||
# - PHRASEANET_SQUID_PORT=3128
|
||
#
|
||
|
||
# For dev who don't have SSH_AUTH_SOCK (avoid an empty volume name)
|
||
# @run
|
||
SSH_AUTH_SOCK=/dev/null
|
||
|
||
# Kubernet context needs full pod hosname on Nginx reverse proxing
|
||
# This is need for PHraseanet SAML context on K8S
|
||
# @run
|
||
PHRASEANET_K8S_NAMESPACE=
|