Данные контейнеры создавались для удобства администрирования личных доработок на свежей версии Bitrix v.23.300.100 и выше,
контейнер с Bitrix содержит только файл restore.php для восстановления из резервной копии.
Дополнительно в контейнере с Bitrix имеется установленный mc
version: '3.7'
services:
mysql:
image: alex89102/mariadb:latest
restart: always
logging:
options:
max-size: "10m"
max-file: "3"
environment:
MYSQL_DATABASE: bxdb
MYSQL_USER: MYSQL_USER
MYSQL_PASSWORD: MYSQL_PASSWORD
MYSQL_ROOT_PASSWORD: MYSQL_ROOT_PASSWORD
MYSQL_CHARSET: utf8
MYSQL_COLLATION: utf8_general_ci
ports:
- "3306:3306"
volumes:
- /opt/site/mysql/db/:/var/lib/mysql
phpmyadmin:
image: phpmyadmin
restart: always
ports:
- 8080:80
environment:
- PMA_ARBITRARY=1
bitrix:
image: alex89102/bitrix:latest
restart: always
ports:
- "80:80"
volumes:
- /opt/site/bitrix:/var/www/html/bx-site
- /opt/site/nginx:/etc/nginx/
- /opt/site/php82:/etc/php82
- /opt/site/cron:/etc/crontabs
- /opt/site/tmp:/opt/site/tmp
MYSQL_USER= Пользователь базы данных указывается при восстановление Битрикса
MYSQL_PASSWORD= Пароль пользователя указывается при восстановление Битрикса
MYSQL_ROOT_PASSWORD= Пароль Рута
- /opt/site/mysql/db/ база данных где будет хранится локально
- /opt/site/bitrix - Главный каталог с Bitrix, должен содержать Вашу резервную копию и файл restore.php, в этот же каталог восстановится сайт.
- /opt/site/nginx - каталог с вашей конфигурацией nginx в каталогах conf.d и http.d
- /opt/site/php - каталог с вашей конфигурацией php-fpm.conf и php.ini
- /opt/site/cron:/etc/crontabs - Cron для задач Bitrix имя файла без расширения с именем root или crontab
- /opt/site/tmp - Темп для Bitrix, выставить права на данную папку [хозяин:nobody, группа:docker]
В каталоге nginx создать каталоги conf.d и http.d создать файл default.conf
server {
listen *:80;
index index.php index.html;
server_name localhost;
add_header X-XSS-Protection "1; mode=block";
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
root /var/www/html/bx-site;
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
- в корне каталога nginx создать файл nginx.conf
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
# multi_accept on;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
server_tokens off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
proxy_hide_header X-Powered-By;
add_header X-Frame-Options SAMEORIGIN;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
- каталог с php
- создать файл php-fpm.conf
[www]
user = nobody
group = nobody
listen = 127.0.0.1:9000
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
- создать файл файл php.ini
ate.timezone=Asia/Yekaterinburg
display_errors=On
log_errors=On
memory_limit = 512M
upload_max_filesize = 20M
post_max_size = 20M
;mbstring.func_overload = 2
;mbstring.internal_encoding = UTF-8
default_charset = "utf-8"
opcache.enable=1
opcache.revalidate_freq=0
opcache.validate_timestamps=1
opcache.memory_consumption=64
opcache.max_accelerated_files=100000
opcache.enable_cli=1
opcache.jit_buffer_size=128M
opcache.jit=1255
realpath_cache_size=4096k
max_input_vars=10000
short_open_tag=On
ession.save_path = "/tmp"
session.use_cookies=1
session.use_only_cookies=1
;extension=session.so
- каталог с cron
- создать файл crontab
# min hour day month weekday command
*/1 * * * * /usr/bin/php82 -f /var/www/html/bx-site/bitrix/modules/main/tools/cron_events.php >> /var/log/cron.log
*/2 * * * * /usr/bin/php82 -f /var/www/html/bx-site/bitrix/php_interface/cron_events.php >> /var/log/cron.log
Content type
Image
Digest
sha256:a2f373a0c…
Size
21.4 MB
Last updated
almost 3 years ago
docker pull alex89102/bitrix