fix line ending

This commit is contained in:
Jean-Christian Denis 2024-11-24 13:55:58 +01:00
parent c46d158819
commit cc1717205f
Signed by: JcDenis
GPG key ID: 1B5B8C5B90B6C951
14 changed files with 728 additions and 728 deletions

View file

@ -1,127 +1,127 @@
# docker-dotclear:* # docker-dotclear:*
# docker-dotclear Dockerfile # docker-dotclear Dockerfile
## ##
# Alpine # Alpine
## ##
# Use latest Alpine docker release # Use latest Alpine docker release
FROM alpine:latest FROM alpine:latest
# Set system timezone # Set system timezone
RUN echo "UTC" > /etc/timezone RUN echo "UTC" > /etc/timezone
# Select Dotclear release canal (stable | unstable) # Select Dotclear release canal (stable | unstable)
ARG CANAL stable ARG CANAL stable
ENV CNL_DOTCLEAR=$CANAL ENV CNL_DOTCLEAR=$CANAL
# Image label # Image label
LABEL org.opencontainers.image.source=https://github.com/JcDenis/docker-dotclear LABEL org.opencontainers.image.source=https://github.com/JcDenis/docker-dotclear
LABEL org.opencontainers.image.description="Dotclear docker image $CNL_DOTCLEAR" LABEL org.opencontainers.image.description="Dotclear docker image $CNL_DOTCLEAR"
LABEL org.opencontainers.image.licenses=AGPL-3.0 LABEL org.opencontainers.image.licenses=AGPL-3.0
## ##
# Nginx # Nginx
## ##
# Create user # Create user
RUN adduser -D -g 'www' www RUN adduser -D -g 'www' www
# Install required package # Install required package
RUN apk add --no-cache --update \ RUN apk add --no-cache --update \
nginx \ nginx \
curl \ curl \
tar \ tar \
unzip \ unzip \
xq xq
# Create directories structure # Create directories structure
RUN mkdir -p /var/www/dotclear RUN mkdir -p /var/www/dotclear
RUN chown -R www:www /var/lib/nginx /var/www RUN chown -R www:www /var/lib/nginx /var/www
# Copy nginx configuration # Copy nginx configuration
COPY etc/nginx.conf /etc/nginx/nginx.conf COPY etc/nginx.conf /etc/nginx/nginx.conf
COPY etc/snippets_subfolder.conf /etc/nginx/snippets/snippets_subfolder.conf COPY etc/snippets_subfolder.conf /etc/nginx/snippets/snippets_subfolder.conf
COPY etc/snippets_subdomain.conf /etc/nginx/snippets/snippets_subdomain.conf COPY etc/snippets_subdomain.conf /etc/nginx/snippets/snippets_subdomain.conf
COPY etc/snippets_common.conf /etc/nginx/snippets/snippets_common.conf COPY etc/snippets_common.conf /etc/nginx/snippets/snippets_common.conf
## ##
# PHP # PHP
## ##
# Use PHP 8.3 release # Use PHP 8.3 release
ENV VER_PHP=php83 ENV VER_PHP=php83
# Install PHP required packages # Install PHP required packages
RUN apk add --no-cache --update \ RUN apk add --no-cache --update \
${VER_PHP}-common \ ${VER_PHP}-common \
${VER_PHP}-cli \ ${VER_PHP}-cli \
${VER_PHP}-fpm \ ${VER_PHP}-fpm \
${VER_PHP}-session \ ${VER_PHP}-session \
${VER_PHP}-curl \ ${VER_PHP}-curl \
${VER_PHP}-gd \ ${VER_PHP}-gd \
${VER_PHP}-gmp \ ${VER_PHP}-gmp \
${VER_PHP}-exif \ ${VER_PHP}-exif \
${VER_PHP}-tidy \ ${VER_PHP}-tidy \
${VER_PHP}-intl \ ${VER_PHP}-intl \
${VER_PHP}-json \ ${VER_PHP}-json \
${VER_PHP}-mbstring \ ${VER_PHP}-mbstring \
${VER_PHP}-iconv \ ${VER_PHP}-iconv \
${VER_PHP}-gettext \ ${VER_PHP}-gettext \
${VER_PHP}-mysqli \ ${VER_PHP}-mysqli \
${VER_PHP}-opcache \ ${VER_PHP}-opcache \
${VER_PHP}-dom \ ${VER_PHP}-dom \
${VER_PHP}-xml \ ${VER_PHP}-xml \
${VER_PHP}-simplexml \ ${VER_PHP}-simplexml \
${VER_PHP}-zip \ ${VER_PHP}-zip \
${VER_PHP}-pdo_sqlite ${VER_PHP}-pdo_sqlite
# Copy PHP configuration # Copy PHP configuration
COPY etc/${CNL_DOTCLEAR}-php.ini /etc/${VER_PHP}/php.ini COPY etc/${CNL_DOTCLEAR}-php.ini /etc/${VER_PHP}/php.ini
COPY etc/php-fpm.conf /etc/${VER_PHP}/php-fpm.d/www.conf COPY etc/php-fpm.conf /etc/${VER_PHP}/php-fpm.d/www.conf
## ##
# Dotclear # Dotclear
## ##
# Download latest Dotclear version # Download latest Dotclear version
RUN curl -fsSL -o versions.xml "http://download.dotclear.org/versions.xml" \ RUN curl -fsSL -o versions.xml "http://download.dotclear.org/versions.xml" \
&& curl -fsSL -o dotclear.zip $(cat versions.xml | xq -x "//release[@name='$CNL_DOTCLEAR']/@href") \ && curl -fsSL -o dotclear.zip $(cat versions.xml | xq -x "//release[@name='$CNL_DOTCLEAR']/@href") \
&& echo "$(cat versions.xml | xq -x "//release[@name='$CNL_DOTCLEAR']/@checksum") dotclear.zip" | md5sum -c - \ && echo "$(cat versions.xml | xq -x "//release[@name='$CNL_DOTCLEAR']/@checksum") dotclear.zip" | md5sum -c - \
&& mkdir -p /usr/src/dotclear \ && mkdir -p /usr/src/dotclear \
&& unzip -d /usr/src dotclear.zip \ && unzip -d /usr/src dotclear.zip \
&& rm dotclear.zip \ && rm dotclear.zip \
&& chown -R www:www /usr/src/dotclear \ && chown -R www:www /usr/src/dotclear \
&& chmod -R 755 /usr/src/dotclear/public /usr/src/dotclear/cache \ && chmod -R 755 /usr/src/dotclear/public /usr/src/dotclear/cache \
&& rm -f /var/www/dotclear/app/* && rm -f /var/www/dotclear/app/*
# Create www structure # Create www structure
COPY www /var/lib/dotclear COPY www /var/lib/dotclear
RUN chown -R www:www /var/lib/dotclear RUN chown -R www:www /var/lib/dotclear
# These variables are only used for first install, see inc/config.php, from dotclear 2.32 # These variables are only used for first install, see inc/config.php, from dotclear 2.32
# Custom path for dotclear config file # Custom path for dotclear config file
ENV DC_RC_PATH=/var/www/dotclear/config.php ENV DC_RC_PATH=/var/www/dotclear/config.php
# Directory of third party plugins # Directory of third party plugins
ENV DC_PLUGINS_ROOT=/var/www/dotclear/plugins ENV DC_PLUGINS_ROOT=/var/www/dotclear/plugins
# Directory for template cache files # Directory for template cache files
ENV DC_TPL_CACHE=/var/www/dotclear/cache ENV DC_TPL_CACHE=/var/www/dotclear/cache
# Directory for dotclear var # Directory for dotclear var
ENV DC_VAR=/var/www/dotclear/var ENV DC_VAR=/var/www/dotclear/var
## ##
# END # END
## ##
# Docker container uses port 80 # Docker container uses port 80
EXPOSE 80 EXPOSE 80
# Set working diretory for container starting script # Set working diretory for container starting script
WORKDIR /var/www/dotclear/app WORKDIR /var/www/dotclear/app
# Add container starting script # Add container starting script
ADD docker-entrypoint.sh /entrypoint.sh ADD docker-entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/bin/sh", "/entrypoint.sh"] ENTRYPOINT ["/bin/sh", "/entrypoint.sh"]
# Docker container healthcheck # Docker container healthcheck
HEALTHCHECK --timeout=10s CMD curl --silent --fail http://127.0.0.1:80/fpm-ping || exit 1 HEALTHCHECK --timeout=10s CMD curl --silent --fail http://127.0.0.1:80/fpm-ping || exit 1

View file

@ -1,3 +1,3 @@
# Docker Dotclear Security Policy # Docker Dotclear Security Policy
To report a Vulnerability or a security issue, please send a mail to <security@jcdenis.fr> To report a Vulnerability or a security issue, please send a mail to <security@jcdenis.fr>

View file

@ -1,44 +1,44 @@
# jcpd/docker-dotclear:latest # jcpd/docker-dotclear:latest
volumes: volumes:
dc_app: dc_app:
dc_db: dc_db:
services: services:
dc_db: dc_db:
image: mariadb:latest image: mariadb:latest
container_name: dotcleardb container_name: dotcleardb
restart: unless-stopped restart: unless-stopped
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
volumes: volumes:
- dc_db:/var/lib/mysql - dc_db:/var/lib/mysql
environment: environment:
MYSQL_ROOT_PASSWORD: dotclear_root MYSQL_ROOT_PASSWORD: dotclear_root
MYSQL_DATABASE: dotclear_db MYSQL_DATABASE: dotclear_db
MYSQL_USER: dotclear_user MYSQL_USER: dotclear_user
MYSQL_PASSWORD: dotclear_pwd MYSQL_PASSWORD: dotclear_pwd
healthcheck: healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
start_period: 10s start_period: 10s
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 3 retries: 3
dc_app: dc_app:
image: jcpd/docker-dotclear:latest image: jcpd/docker-dotclear:latest
container_name: dotclearphp container_name: dotclearphp
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- dc_app:/var/www/dotclear - dc_app:/var/www/dotclear
ports: ports:
- 80:80 - 80:80
depends_on: depends_on:
dc_db: # MYSQL database service dc_db: # MYSQL database service
condition: service_healthy # Waiting for database ready condition: service_healthy # Waiting for database ready
environment: environment:
DC_DBDRIVER: mysqlimb4 DC_DBDRIVER: mysqlimb4
DC_DBHOST: dc_db DC_DBHOST: dc_db
DC_DBNAME: dotclear_db DC_DBNAME: dotclear_db
DC_DBUSER: dotclear_user DC_DBUSER: dotclear_user
DC_DBPASSWORD: dotclear_pwd DC_DBPASSWORD: dotclear_pwd
DC_DBPREFIX: dc_ DC_DBPREFIX: dc_
DC_ADMINMAILFROM: contact@exemple.com DC_ADMINMAILFROM: contact@exemple.com

View file

@ -1,21 +1,21 @@
# docker-dotclear:* # docker-dotclear:*
# /etc/nginx/nginx.conf # /etc/nginx/nginx.conf
# Nginx configuration # Nginx configuration
user www; user www;
daemon off; daemon off;
worker_processes auto; worker_processes auto;
error_log /dev/stderr notice; error_log /dev/stderr notice;
pid /var/run/nginx/nginx.pid; pid /var/run/nginx/nginx.pid;
events { events {
worker_connections 1024; worker_connections 1024;
} }
http { http {
include /etc/nginx/mime.types; include /etc/nginx/mime.types;
default_type application/octet-stream; default_type application/octet-stream;
sendfile on; sendfile on;
keepalive_timeout 3000; keepalive_timeout 3000;
include /var/www/dotclear/servers/*.conf; include /var/www/dotclear/servers/*.conf;
} }

View file

@ -1,23 +1,23 @@
; docker-dotclear:* ; docker-dotclear:*
; /etc/phpXX/php-fpm.d/www.conf ; /etc/phpXX/php-fpm.d/www.conf
; PHP-FPM configuration ; PHP-FPM configuration
[global] [global]
error_log = /dev/stderr error_log = /dev/stderr
pid = /var/run/php-fpm.pid pid = /var/run/php-fpm.pid
[www] [www]
user = www user = www
group = www group = www
listen = /run/php-fpm.sock listen = /run/php-fpm.sock
listen.owner = www listen.owner = www
listen.group = www listen.group = www
listen.mode = 0660 listen.mode = 0660
pm = ondemand pm = ondemand
pm.max_children = 100 pm.max_children = 100
pm.process_idle_timeout = 10s; pm.process_idle_timeout = 10s;
pm.max_requests = 1000 pm.max_requests = 1000
ping.path = /fpm-ping ping.path = /fpm-ping
catch_workers_output = yes catch_workers_output = yes
decorate_workers_output = no decorate_workers_output = no
clear_env = no clear_env = no

View file

@ -1,37 +1,37 @@
# docker-dotclear:* # docker-dotclear:*
# /etc/nginx/snippets/snippets_commmon.conf # /etc/nginx/snippets/snippets_commmon.conf
# Dotclear nginx default server common configurations # Dotclear nginx default server common configurations
# Disable some dotclear paths # Disable some dotclear paths
location ~ ^/(db|cache|plugins|inc|var) { location ~ ^/(db|cache|plugins|inc|var) {
deny all; deny all;
return 404; return 404;
} }
# Docker healthcheck # Docker healthcheck
location ~ ^/(fpm-ping)$ { location ~ ^/(fpm-ping)$ {
access_log off; access_log off;
allow 127.0.0.1; allow 127.0.0.1;
deny all; deny all;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params; include fastcgi_params;
fastcgi_pass unix:/run/php-fpm.sock; fastcgi_pass unix:/run/php-fpm.sock;
} }
# Dotclear .php files # Dotclear .php files
location ~ [^/]\.php(/|$) { location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+?\.php)(/.*)$; fastcgi_split_path_info ^(.+?\.php)(/.*)$;
if (!-f $document_root$fastcgi_script_name) { if (!-f $document_root$fastcgi_script_name) {
return 404; return 404;
} }
include fastcgi_params; include fastcgi_params;
set $path_info $fastcgi_path_info; set $path_info $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param DC_BLOG_ID $dc_blog_id; fastcgi_param DC_BLOG_ID $dc_blog_id;
fastcgi_pass unix:/run/php-fpm.sock; fastcgi_pass unix:/run/php-fpm.sock;
fastcgi_index index.php; fastcgi_index index.php;
} }

View file

@ -1,38 +1,38 @@
# docker-dotclear:* # docker-dotclear:*
# /etc/nginx/snippets/snippets_subdomain.conf # /etc/nginx/snippets/snippets_subdomain.conf
# Dotclear nginx default server blogs configuration by subdomains # Dotclear nginx default server blogs configuration by subdomains
listen 80; listen 80;
listen [::]:80; listen [::]:80;
index index.php index.html; index index.php index.html;
root /var/www/dotclear/app; root /var/www/dotclear/app;
client_max_body_size 32m; client_max_body_size 32m;
# Default URL and blog # Default URL and blog
if ($dc_blog_id = '') { if ($dc_blog_id = '') {
set $dc_blog_id default; set $dc_blog_id default;
} }
# Blogs public paths # Blogs public paths
location ~ /public { location ~ /public {
root /var/www/dotclear/blogs; root /var/www/dotclear/blogs;
rewrite /public/(.*) /$dc_blog_id/$1 break; rewrite /public/(.*) /$dc_blog_id/$1 break;
try_files $uri =404; try_files $uri =404;
} }
# Blogs themes paths (common to all blogs) # Blogs themes paths (common to all blogs)
location ~ /themes { location ~ /themes {
root /var/www/dotclear/themes; root /var/www/dotclear/themes;
rewrite /themes/(.*) /$1 break; rewrite /themes/(.*) /$1 break;
try_files $uri =404; try_files $uri =404;
} }
# Dotclear regular files # Dotclear regular files
location / { location / {
try_files $uri $uri/ @dotclear_path_info; try_files $uri $uri/ @dotclear_path_info;
} }
# Blogs path_info URL # Blogs path_info URL
location @dotclear_path_info { location @dotclear_path_info {
rewrite ^/(.*) /index.php/$1 last; rewrite ^/(.*) /index.php/$1 last;
} }

View file

@ -1,40 +1,40 @@
# docker-dotclear:* # docker-dotclear:*
# /etc/nginx/snippets/snippets_subfolder.conf # /etc/nginx/snippets/snippets_subfolder.conf
# Dotclear nginx default server blogs configuration by subfolders # Dotclear nginx default server blogs configuration by subfolders
listen 80; listen 80;
listen [::]:80; listen [::]:80;
index index.php index.html; index index.php index.html;
root /var/www/dotclear/app; root /var/www/dotclear/app;
client_max_body_size 32m; client_max_body_size 32m;
set $dc_blog_id default; set $dc_blog_id default;
# Blogs public paths # Blogs public paths
location ~ /([^/]+)/public { location ~ /([^/]+)/public {
root /var/www/dotclear/blogs; root /var/www/dotclear/blogs;
rewrite /([^/]+)/public/(.*) /$1/$2 break; rewrite /([^/]+)/public/(.*) /$1/$2 break;
try_files $uri =404; try_files $uri =404;
} }
# Blogs themes paths (common to all blogs) # Blogs themes paths (common to all blogs)
location ~ /([^/]+)/themes { location ~ /([^/]+)/themes {
root /var/www/dotclear/themes; root /var/www/dotclear/themes;
rewrite /([^/]+)/themes/(.*) /$2 break; rewrite /([^/]+)/themes/(.*) /$2 break;
try_files $uri =404; try_files $uri =404;
} }
# Dotclear regular files # Dotclear regular files
location / { location / {
set $dc_blog_id default; set $dc_blog_id default;
try_files $uri $uri/ @dotclear_path_info; try_files $uri $uri/ @dotclear_path_info;
} }
# Blogs path_info URL # Blogs path_info URL
location @dotclear_path_info { location @dotclear_path_info {
# URI first part is blog id # URI first part is blog id
if ($request_uri ~ ^/([^/]+)) { if ($request_uri ~ ^/([^/]+)) {
set $dc_blog_id $1; set $dc_blog_id $1;
rewrite ^/([^/]+)(/.*|$) /index.php$2 last; rewrite ^/([^/]+)(/.*|$) /index.php$2 last;
} }
rewrite ^/(.*) /index.php/$1 last; rewrite ^/(.*) /index.php/$1 last;
} }

View file

@ -1,118 +1,118 @@
; docker-dotclear:latest ; docker-dotclear:latest
; /etc/phpXX/php.ini ; /etc/phpXX/php.ini
; PHP configuration ; PHP configuration
[PHP] [PHP]
engine = Onn engine = Onn
short_open_tag = Off short_open_tag = Off
precision = 14 precision = 14
output_buffering = 4096 output_buffering = 4096
zlib.output_compression = Off zlib.output_compression = Off
implicit_flush = Off implicit_flush = Off
unserialize_callback_func = unserialize_callback_func =
serialize_precision = -1 serialize_precision = -1
disable_functions = disable_functions =
disable_classes = disable_classes =
zend.enable_gc = On zend.enable_gc = On
zend.exception_ignore_args = On zend.exception_ignore_args = On
zend.exception_string_param_max_len = 0 zend.exception_string_param_max_len = 0
expose_php = Off expose_php = Off
max_execution_time = 30 max_execution_time = 30
max_input_time = 60 max_input_time = 60
memory_limit = 256M memory_limit = 256M
max_input_vars = 1500 max_input_vars = 1500
error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
display_errors = Off display_errors = Off
display_startup_errors = Off display_startup_errors = Off
log_errors = On log_errors = On
ignore_repeated_errors = Off ignore_repeated_errors = Off
ignore_repeated_source = Off ignore_repeated_source = Off
report_memleaks = On report_memleaks = On
error_log = /dev/stderr error_log = /dev/stderr
variables_order = "GPCS" variables_order = "GPCS"
request_order = "GP" request_order = "GP"
register_argc_argv = Off register_argc_argv = Off
auto_globals_jit = On auto_globals_jit = On
post_max_size = 100M post_max_size = 100M
auto_prepend_file = auto_prepend_file =
auto_append_file = auto_append_file =
default_mimetype = "text/html" default_mimetype = "text/html"
default_charset = "UTF-8" default_charset = "UTF-8"
include_path = ".:/usr/share/php83" include_path = ".:/usr/share/php83"
doc_root = doc_root =
user_dir = user_dir =
enable_dl = Off enable_dl = Off
file_uploads = On file_uploads = On
upload_max_filesize = 10M upload_max_filesize = 10M
max_file_uploads = 100 max_file_uploads = 100
allow_url_fopen = On allow_url_fopen = On
allow_url_include = Off allow_url_include = Off
default_socket_timeout = 60 default_socket_timeout = 60
[CLI Server] [CLI Server]
cli_server.color = On cli_server.color = On
[mail function] [mail function]
SMTP = localhost SMTP = localhost
smtp_port = 25 smtp_port = 25
mail.add_x_header = Off mail.add_x_header = Off
mail.mixed_lf_and_crlf = Off mail.mixed_lf_and_crlf = Off
[MySQLi] [MySQLi]
mysqli.max_persistent = -1 mysqli.max_persistent = -1
mysqli.allow_persistent = On mysqli.allow_persistent = On
mysqli.max_links = -1 mysqli.max_links = -1
mysqli.default_port = 3306 mysqli.default_port = 3306
mysqli.default_socket = mysqli.default_socket =
mysqli.default_host = mysqli.default_host =
mysqli.default_user = mysqli.default_user =
mysqli.default_pw = mysqli.default_pw =
[PostgreSQL] [PostgreSQL]
pgsql.allow_persistent = On pgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off pgsql.auto_reset_persistent = Off
pgsql.max_persistent = -1 pgsql.max_persistent = -1
pgsql.max_links = -1 pgsql.max_links = -1
pgsql.ignore_notice = 0 pgsql.ignore_notice = 0
pgsql.log_notice = 0 pgsql.log_notice = 0
[Session] [Session]
session.save_handler = files session.save_handler = files
session.use_strict_mode = 0 session.use_strict_mode = 0
session.use_cookies = 1 session.use_cookies = 1
session.use_only_cookies = 1 session.use_only_cookies = 1
session.name = PHPSESSID session.name = PHPSESSID
session.auto_start = 0 session.auto_start = 0
session.cookie_lifetime = 0 session.cookie_lifetime = 0
session.cookie_path = / session.cookie_path = /
session.cookie_domain = session.cookie_domain =
session.cookie_httponly = session.cookie_httponly =
session.cookie_samesite = session.cookie_samesite =
session.serialize_handler = php session.serialize_handler = php
session.gc_probability = 1 session.gc_probability = 1
session.gc_divisor = 1000 session.gc_divisor = 1000
session.gc_maxlifetime = 1440 session.gc_maxlifetime = 1440
session.referer_check = session.referer_check =
session.cache_limiter = nocache session.cache_limiter = nocache
session.cache_expire = 180 session.cache_expire = 180
session.use_trans_sid = 0 session.use_trans_sid = 0
session.sid_length = 26 session.sid_length = 26
session.trans_sid_tags = "a=href,area=href,frame=src,form=" session.trans_sid_tags = "a=href,area=href,frame=src,form="
session.sid_bits_per_character = 5 session.sid_bits_per_character = 5
[opcache] [opcache]
opcache.enable=1 opcache.enable=1
opcache.enable_cli=1 opcache.enable_cli=1
opcache.memory_consumption=128 opcache.memory_consumption=128
opcache.interned_strings_buffer=8 opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000 opcache.max_accelerated_files=4000
opcache.revalidate_freq=2 opcache.revalidate_freq=2

View file

@ -1,118 +1,118 @@
; docker-dotclear:latest ; docker-dotclear:latest
; /etc/phpXX/php.ini ; /etc/phpXX/php.ini
; PHP configuration ; PHP configuration
[PHP] [PHP]
engine = Onn engine = Onn
short_open_tag = Off short_open_tag = Off
precision = 14 precision = 14
output_buffering = 4096 output_buffering = 4096
zlib.output_compression = Off zlib.output_compression = Off
implicit_flush = Off implicit_flush = Off
unserialize_callback_func = unserialize_callback_func =
serialize_precision = -1 serialize_precision = -1
disable_functions = disable_functions =
disable_classes = disable_classes =
zend.enable_gc = On zend.enable_gc = On
zend.exception_ignore_args = On zend.exception_ignore_args = On
zend.exception_string_param_max_len = 0 zend.exception_string_param_max_len = 0
expose_php = Off expose_php = Off
max_execution_time = 30 max_execution_time = 30
max_input_time = 60 max_input_time = 60
memory_limit = 256M memory_limit = 256M
max_input_vars = 1500 max_input_vars = 1500
error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
display_errors = Off display_errors = Off
display_startup_errors = Off display_startup_errors = Off
log_errors = On log_errors = On
ignore_repeated_errors = Off ignore_repeated_errors = Off
ignore_repeated_source = Off ignore_repeated_source = Off
report_memleaks = On report_memleaks = On
error_log = /dev/stderr error_log = /dev/stderr
variables_order = "GPCS" variables_order = "GPCS"
request_order = "GP" request_order = "GP"
register_argc_argv = Off register_argc_argv = Off
auto_globals_jit = On auto_globals_jit = On
post_max_size = 100M post_max_size = 100M
auto_prepend_file = auto_prepend_file =
auto_append_file = auto_append_file =
default_mimetype = "text/html" default_mimetype = "text/html"
default_charset = "UTF-8" default_charset = "UTF-8"
include_path = ".:/usr/share/php83" include_path = ".:/usr/share/php83"
doc_root = doc_root =
user_dir = user_dir =
enable_dl = Off enable_dl = Off
file_uploads = On file_uploads = On
upload_max_filesize = 10M upload_max_filesize = 10M
max_file_uploads = 100 max_file_uploads = 100
allow_url_fopen = On allow_url_fopen = On
allow_url_include = Off allow_url_include = Off
default_socket_timeout = 60 default_socket_timeout = 60
[CLI Server] [CLI Server]
cli_server.color = On cli_server.color = On
[mail function] [mail function]
SMTP = localhost SMTP = localhost
smtp_port = 25 smtp_port = 25
mail.add_x_header = Off mail.add_x_header = Off
mail.mixed_lf_and_crlf = Off mail.mixed_lf_and_crlf = Off
[MySQLi] [MySQLi]
mysqli.max_persistent = -1 mysqli.max_persistent = -1
mysqli.allow_persistent = On mysqli.allow_persistent = On
mysqli.max_links = -1 mysqli.max_links = -1
mysqli.default_port = 3306 mysqli.default_port = 3306
mysqli.default_socket = mysqli.default_socket =
mysqli.default_host = mysqli.default_host =
mysqli.default_user = mysqli.default_user =
mysqli.default_pw = mysqli.default_pw =
[PostgreSQL] [PostgreSQL]
pgsql.allow_persistent = On pgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off pgsql.auto_reset_persistent = Off
pgsql.max_persistent = -1 pgsql.max_persistent = -1
pgsql.max_links = -1 pgsql.max_links = -1
pgsql.ignore_notice = 0 pgsql.ignore_notice = 0
pgsql.log_notice = 0 pgsql.log_notice = 0
[Session] [Session]
session.save_handler = files session.save_handler = files
session.use_strict_mode = 0 session.use_strict_mode = 0
session.use_cookies = 1 session.use_cookies = 1
session.use_only_cookies = 1 session.use_only_cookies = 1
session.name = PHPSESSID session.name = PHPSESSID
session.auto_start = 0 session.auto_start = 0
session.cookie_lifetime = 0 session.cookie_lifetime = 0
session.cookie_path = / session.cookie_path = /
session.cookie_domain = session.cookie_domain =
session.cookie_httponly = session.cookie_httponly =
session.cookie_samesite = session.cookie_samesite =
session.serialize_handler = php session.serialize_handler = php
session.gc_probability = 1 session.gc_probability = 1
session.gc_divisor = 1000 session.gc_divisor = 1000
session.gc_maxlifetime = 1440 session.gc_maxlifetime = 1440
session.referer_check = session.referer_check =
session.cache_limiter = nocache session.cache_limiter = nocache
session.cache_expire = 180 session.cache_expire = 180
session.use_trans_sid = 0 session.use_trans_sid = 0
session.sid_length = 26 session.sid_length = 26
session.trans_sid_tags = "a=href,area=href,frame=src,form=" session.trans_sid_tags = "a=href,area=href,frame=src,form="
session.sid_bits_per_character = 5 session.sid_bits_per_character = 5
[opcache] [opcache]
opcache.enable=1 opcache.enable=1
opcache.enable_cli=1 opcache.enable_cli=1
opcache.memory_consumption=128 opcache.memory_consumption=128
opcache.interned_strings_buffer=8 opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000 opcache.max_accelerated_files=4000
opcache.revalidate_freq=2 opcache.revalidate_freq=2

View file

@ -1,118 +1,118 @@
; docker-dotclear:unstable ; docker-dotclear:unstable
; /etc/phpXX/php.ini ; /etc/phpXX/php.ini
; PHP configuration ; PHP configuration
[PHP] [PHP]
engine = On engine = On
short_open_tag = Off short_open_tag = Off
precision = 14 precision = 14
output_buffering = 4096 output_buffering = 4096
zlib.output_compression = Off zlib.output_compression = Off
implicit_flush = Off implicit_flush = Off
unserialize_callback_func = unserialize_callback_func =
serialize_precision = -1 serialize_precision = -1
disable_functions = disable_functions =
disable_classes = disable_classes =
zend.enable_gc = On zend.enable_gc = On
zend.exception_ignore_args = On zend.exception_ignore_args = On
zend.exception_string_param_max_len = 0 zend.exception_string_param_max_len = 0
expose_php = On expose_php = On
max_execution_time = 60 max_execution_time = 60
max_input_time = 60 max_input_time = 60
memory_limit = 512M memory_limit = 512M
max_input_vars = 1500 max_input_vars = 1500
error_reporting = E_ALL error_reporting = E_ALL
display_errors = On display_errors = On
display_startup_errors = On display_startup_errors = On
log_errors = On log_errors = On
ignore_repeated_errors = Off ignore_repeated_errors = Off
ignore_repeated_source = Off ignore_repeated_source = Off
report_memleaks = On report_memleaks = On
error_log = /dev/stderr error_log = /dev/stderr
variables_order = "GPCS" variables_order = "GPCS"
request_order = "GP" request_order = "GP"
register_argc_argv = Off register_argc_argv = Off
auto_globals_jit = On auto_globals_jit = On
post_max_size = 100M post_max_size = 100M
auto_prepend_file = auto_prepend_file =
auto_append_file = auto_append_file =
default_mimetype = "text/html" default_mimetype = "text/html"
default_charset = "UTF-8" default_charset = "UTF-8"
include_path = ".:/usr/share/php83" include_path = ".:/usr/share/php83"
doc_root = doc_root =
user_dir = user_dir =
enable_dl = Off enable_dl = Off
file_uploads = On file_uploads = On
upload_max_filesize = 50M upload_max_filesize = 50M
max_file_uploads = 200 max_file_uploads = 200
allow_url_fopen = On allow_url_fopen = On
allow_url_include = Off allow_url_include = Off
default_socket_timeout = 60 default_socket_timeout = 60
[CLI Server] [CLI Server]
cli_server.color = On cli_server.color = On
[mail function] [mail function]
SMTP = localhost SMTP = localhost
smtp_port = 25 smtp_port = 25
mail.add_x_header = Off mail.add_x_header = Off
mail.mixed_lf_and_crlf = Off mail.mixed_lf_and_crlf = Off
[MySQLi] [MySQLi]
mysqli.max_persistent = -1 mysqli.max_persistent = -1
mysqli.allow_persistent = On mysqli.allow_persistent = On
mysqli.max_links = -1 mysqli.max_links = -1
mysqli.default_port = 3306 mysqli.default_port = 3306
mysqli.default_socket = mysqli.default_socket =
mysqli.default_host = mysqli.default_host =
mysqli.default_user = mysqli.default_user =
mysqli.default_pw = mysqli.default_pw =
[PostgreSQL] [PostgreSQL]
pgsql.allow_persistent = On pgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off pgsql.auto_reset_persistent = Off
pgsql.max_persistent = -1 pgsql.max_persistent = -1
pgsql.max_links = -1 pgsql.max_links = -1
pgsql.ignore_notice = 0 pgsql.ignore_notice = 0
pgsql.log_notice = 0 pgsql.log_notice = 0
[Session] [Session]
session.save_handler = files session.save_handler = files
session.use_strict_mode = 0 session.use_strict_mode = 0
session.use_cookies = 1 session.use_cookies = 1
session.use_only_cookies = 1 session.use_only_cookies = 1
session.name = PHPSESSID session.name = PHPSESSID
session.auto_start = 0 session.auto_start = 0
session.cookie_lifetime = 0 session.cookie_lifetime = 0
session.cookie_path = / session.cookie_path = /
session.cookie_domain = session.cookie_domain =
session.cookie_httponly = session.cookie_httponly =
session.cookie_samesite = session.cookie_samesite =
session.serialize_handler = php session.serialize_handler = php
session.gc_probability = 1 session.gc_probability = 1
session.gc_divisor = 1000 session.gc_divisor = 1000
session.gc_maxlifetime = 1440 session.gc_maxlifetime = 1440
session.referer_check = session.referer_check =
session.cache_limiter = nocache session.cache_limiter = nocache
session.cache_expire = 180 session.cache_expire = 180
session.use_trans_sid = 0 session.use_trans_sid = 0
session.sid_length = 26 session.sid_length = 26
session.trans_sid_tags = "a=href,area=href,frame=src,form=" session.trans_sid_tags = "a=href,area=href,frame=src,form="
session.sid_bits_per_character = 5 session.sid_bits_per_character = 5
[opcache] [opcache]
opcache.enable=1 opcache.enable=1
opcache.enable_cli=1 opcache.enable_cli=1
opcache.memory_consumption=128 opcache.memory_consumption=128
opcache.interned_strings_buffer=8 opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000 opcache.max_accelerated_files=4000
opcache.revalidate_freq=2 opcache.revalidate_freq=2

View file

@ -1,2 +1,2 @@
<?php <?php
header('Location: /default'); header('Location: /default');

View file

@ -1,25 +1,25 @@
# docker-dotclear:* # docker-dotclear:*
# /var/www/dotclear/servers/subdomain.conf # /var/www/dotclear/servers/subdomain.conf
# Nginx server by subdomains # Nginx server by subdomains
server { server {
# By default, server URLs look like: # By default, server URLs look like:
# - http://default.domain.tld/ # - http://default.domain.tld/
# - http://blog2.domain.tld/ # - http://blog2.domain.tld/
# - ... # - ...
server_name ~^(?<dc_blog_id>\w*?)?\.?(\w+\.\w+)$; server_name ~^(?<dc_blog_id>\w*?)?\.?(\w+\.\w+)$;
# Redirect a particular subdomain # Redirect a particular subdomain
if ($dc_blog_id = 'blog') { if ($dc_blog_id = 'blog') {
set $dc_blog_id default; set $dc_blog_id default;
} }
# To use custom configuration only use # To use custom configuration only use
# include /etc/nginx/snippets/snippets_common.conf; # include /etc/nginx/snippets/snippets_common.conf;
# Adapt to your needs here the content of # Adapt to your needs here the content of
# /etc/nginx/snippets/snippets_subdomain.conf # /etc/nginx/snippets/snippets_subdomain.conf
# Then disable the Dotclear plugin DockerDotclear # Then disable the Dotclear plugin DockerDotclear
# (or change their settings) # (or change their settings)
include /etc/nginx/snippets/snippets_subdomain.conf; include /etc/nginx/snippets/snippets_subdomain.conf;
include /etc/nginx/snippets/snippets_common.conf; include /etc/nginx/snippets/snippets_common.conf;
} }

View file

@ -1,20 +1,20 @@
# docker-dotclear:* # docker-dotclear:*
# /var/www/dotclear/servers/subfolder.conf # /var/www/dotclear/servers/subfolder.conf
# Nginx server by subfolders # Nginx server by subfolders
server { server {
# By default, server URLs look like: # By default, server URLs look like:
# - http://localhost/default # - http://localhost/default
# - http://localhost/blog2 # - http://localhost/blog2
# - ... # - ...
server_name localhost; server_name localhost;
# To use custom configuration only use # To use custom configuration only use
# include /etc/nginx/snippets/snippets_common.conf; # include /etc/nginx/snippets/snippets_common.conf;
# Adapt to your needs here the content of # Adapt to your needs here the content of
# /etc/nginx/snippets/snippets_subfolder.conf # /etc/nginx/snippets/snippets_subfolder.conf
# Then disable the Dotclear plugin DockerDotclear # Then disable the Dotclear plugin DockerDotclear
# (or change their settings) # (or change their settings)
include /etc/nginx/snippets/snippets_subfolder.conf; include /etc/nginx/snippets/snippets_subfolder.conf;
include /etc/nginx/snippets/snippets_common.conf; include /etc/nginx/snippets/snippets_common.conf;
} }