Обновить setup.sh
This commit is contained in:
77
setup.sh
77
setup.sh
@@ -239,28 +239,44 @@ max_execution_time = 300
|
|||||||
max_input_time = 300
|
max_input_time = 300
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
# === Создание .env для WordPress ===
|
# === Создание структуры директорий для WordPress ===
|
||||||
safe_mkdir "/opt/wordpress"
|
safe_mkdir "/opt/wordpress"
|
||||||
|
safe_mkdir "/opt/wordpress/wp-content/uploads"
|
||||||
|
safe_mkdir "/opt/wordpress/wp-content/plugins"
|
||||||
|
safe_mkdir "/opt/wordpress/wp-content/themes"
|
||||||
|
safe_mkdir "/opt/wordpress/wp-content/mytheme"
|
||||||
|
safe_mkdir "/opt/wordpress/config"
|
||||||
|
safe_mkdir "/opt/wordpress/logs/wordpress"
|
||||||
|
safe_mkdir "/opt/wordpress/logs/mysql"
|
||||||
|
safe_mkdir "/opt/wordpress/data/mysql"
|
||||||
|
safe_mkdir "/opt/wordpress/backups"
|
||||||
|
|
||||||
|
# === Генерация .env файла ===
|
||||||
cat <<EOF > /opt/wordpress/.env
|
cat <<EOF > /opt/wordpress/.env
|
||||||
# =========================
|
# =========================
|
||||||
# Database Configuration
|
# Database Configuration
|
||||||
# =========================
|
# =========================
|
||||||
DB_NAME=wordpressdbname
|
DB_NAME=wordpressdbname
|
||||||
DB_USER=wordpressuser
|
DB_USER=wordpressuser
|
||||||
DB_PASSWORD=$(generate_password 16)
|
DB_PASSWORD=$(generate_password 20)
|
||||||
|
|
||||||
# =========================
|
# =========================
|
||||||
# WordPress Settings
|
# WordPress Settings
|
||||||
# =========================
|
# =========================
|
||||||
|
WP_DOMAIN=rp.primo.su
|
||||||
WP_DEBUG=false
|
WP_DEBUG=false
|
||||||
WP_DEBUG_LOG=false
|
WP_DEBUG_LOG=false
|
||||||
TZ=Asia/Krasnoyarsk
|
|
||||||
WP_DOMAIN=
|
|
||||||
EOF
|
|
||||||
chmod 600 /opt/wordpress/.env
|
|
||||||
log_success "WordPress .env файл сгенерирован"
|
|
||||||
|
|
||||||
# === Создание docker-compose.yml для WordPress ===
|
# =========================
|
||||||
|
# Timezone
|
||||||
|
# =========================
|
||||||
|
TZ=Asia/Krasnoyarsk
|
||||||
|
EOF
|
||||||
|
|
||||||
|
chmod 600 /opt/wordpress/.env
|
||||||
|
log_success "WordPress .env файл создан и защищён"
|
||||||
|
|
||||||
|
# === Создание docker-compose.yml под твой текущий конфиг с env_file ===
|
||||||
cat <<EOF > /opt/wordpress/docker-compose.yml
|
cat <<EOF > /opt/wordpress/docker-compose.yml
|
||||||
services:
|
services:
|
||||||
wordpress:
|
wordpress:
|
||||||
@@ -268,39 +284,30 @@ services:
|
|||||||
image: wordpress:6.5-php8.2-apache
|
image: wordpress:6.5-php8.2-apache
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
depends_on:
|
depends_on:
|
||||||
db:
|
word_db:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
environment:
|
environment:
|
||||||
|
WORDPRESS_DB_HOST: word_db
|
||||||
|
WORDPRESS_DB_USER: \${DB_USER}
|
||||||
|
WORDPRESS_DB_PASSWORD: \${DB_PASSWORD}
|
||||||
|
WORDPRESS_DB_NAME: \${DB_NAME}
|
||||||
WORDPRESS_CONFIG_EXTRA: |
|
WORDPRESS_CONFIG_EXTRA: |
|
||||||
define('WP_DEBUG', \${WP_DEBUG});
|
define('WP_DEBUG', \${WP_DEBUG} === 'true');
|
||||||
define('WP_DEBUG_LOG', \${WP_DEBUG_LOG});
|
define('WP_DEBUG_LOG', \${WP_DEBUG_LOG} === 'true');
|
||||||
define('WP_HOME', 'https://\${WP_DOMAIN}');
|
define('WP_HOME', 'https://' . getenv('WP_DOMAIN'));
|
||||||
define('WP_SITEURL', 'https://\${WP_DOMAIN}');
|
define('WP_SITEURL', 'https://' . getenv('WP_DOMAIN'));
|
||||||
date_default_timezone_set('Asia/Krasnoyarsk');
|
date_default_timezone_set('Asia/Krasnoyarsk');
|
||||||
volumes:
|
volumes:
|
||||||
# Контент WordPress с хоста
|
|
||||||
- ./wp-content/uploads:/var/www/html/wp-content/uploads
|
- ./wp-content/uploads:/var/www/html/wp-content/uploads
|
||||||
- ./wp-content/plugins:/var/www/html/wp-content/plugins
|
- ./wp-content/plugins:/var/www/html/wp-content/plugins
|
||||||
- ./wp-content/themes:/var/www/html/wp-content/themes
|
- ./wp-content/themes:/var/www/html/wp-content/themes
|
||||||
- ./wp-content/mytheme:/var/www/html/wp-content/themes/mytheme
|
- ./wp-content/mytheme:/var/www/html/wp-content/themes/mytheme
|
||||||
|
|
||||||
# Настройки PHP
|
|
||||||
- ./config/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini:ro
|
- ./config/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini:ro
|
||||||
- ./config/php.ini:/usr/local/etc/php/php.ini:ro
|
- ./config/php.ini:/usr/local/etc/php/php.ini:ro
|
||||||
|
|
||||||
# Логи Apache
|
|
||||||
- ./logs/wordpress:/var/log/apache2
|
- ./logs/wordpress:/var/log/apache2
|
||||||
|
|
||||||
# Бэкапы и дополнительные данные
|
|
||||||
- ./backups:/backups
|
- ./backups:/backups
|
||||||
|
|
||||||
# Если wp-config.php существует как **файл**, можно раскомментировать строку ниже
|
|
||||||
# - ./config/wp-config.php:/var/www/html/wp-config.php:ro
|
|
||||||
|
|
||||||
#ports:
|
|
||||||
#- "8080:80"
|
|
||||||
networks:
|
networks:
|
||||||
- wordpress_net
|
- wordpress_net
|
||||||
- proxy
|
- proxy
|
||||||
@@ -308,23 +315,22 @@ services:
|
|||||||
test: ["CMD", "curl", "-f", "http://localhost/wp-admin/install.php"]
|
test: ["CMD", "curl", "-f", "http://localhost/wp-admin/install.php"]
|
||||||
interval: 30s
|
interval: 30s
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
retries: 3
|
retries: 5
|
||||||
start_period: 30s
|
start_period: 40s
|
||||||
|
|
||||||
db:
|
word_db:
|
||||||
container_name: wordpress-db
|
container_name: wordpress-db
|
||||||
image: mysql:8.0
|
image: mysql:8.0
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
environment:
|
environment:
|
||||||
MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
|
MYSQL_RANDOM_ROOT_PASSWORD: "yes"
|
||||||
TZ: \${TZ}
|
TZ: \${TZ}
|
||||||
volumes:
|
volumes:
|
||||||
- ./data/mysql:/var/lib/mysql
|
- ./data/mysql:/var/lib/mysql
|
||||||
- ./config/my.cnf:/etc/mysql/conf.d/custom.cnf:ro
|
- ./config/my.cnf:/etc/mysql/conf.d/custom.cnf:ro
|
||||||
- ./logs/mysql:/var/log/mysql
|
- ./logs/mysql:/var/log/mysql
|
||||||
- ./backups/db:/docker-entrypoint-initdb.d
|
|
||||||
command:
|
command:
|
||||||
- --default-time-zone=+07:00
|
- --default-time-zone=+07:00
|
||||||
- --character-set-server=utf8mb4
|
- --character-set-server=utf8mb4
|
||||||
@@ -332,11 +338,11 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- wordpress_net
|
- wordpress_net
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD-SHELL", "mysqladmin ping -h localhost -u\${DB_USER} -p\${DB_PASSWORD} || exit 1"]
|
test: ["CMD-SHELL", "mysqladmin ping --protocol=tcp --silent -u\${DB_USER} -p\${DB_PASSWORD} || exit 1"]
|
||||||
interval: 10s
|
interval: 10s
|
||||||
timeout: 5s
|
timeout: 5s
|
||||||
retries: 5
|
retries: 10
|
||||||
start_period: 30s
|
start_period: 40s
|
||||||
|
|
||||||
#phpmyadmin:
|
#phpmyadmin:
|
||||||
#container_name: wordpress-phpmyadmin
|
#container_name: wordpress-phpmyadmin
|
||||||
@@ -365,6 +371,9 @@ networks:
|
|||||||
external: true
|
external: true
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
chmod 644 /opt/wordpress/docker-compose.yml
|
||||||
|
log_success "docker-compose.yml для WordPress успешно создан (все переменные вынесены в .env)"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Генерация паролей и .env
|
# Генерация паролей и .env
|
||||||
|
|||||||
Reference in New Issue
Block a user