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