diff --git a/setup.sh b/setup.sh index d635779..5f1803d 100644 --- a/setup.sh +++ b/setup.sh @@ -263,7 +263,7 @@ DB_PASSWORD=$(generate_password 20) # ========================= # WordPress Settings # ========================= -WP_DOMAIN=rp.primo.su +WP_DOMAIN= WP_DEBUG=false WP_DEBUG_LOG=false @@ -278,36 +278,50 @@ log_success "WordPress .env файл создан и защищён" # === Создание docker-compose.yml под твой текущий конфиг с env_file === cat < /opt/wordpress/docker-compose.yml + services: wordpress: container_name: wordpress image: wordpress:6.5-php8.2-apache restart: unless-stopped depends_on: - word_db: + 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_DB_HOST: db + WORDPRESS_DB_USER: ${DB_USER} + WORDPRESS_DB_PASSWORD: ${DB_PASSWORD} + WORDPRESS_DB_NAME: ${DB_NAME} + TZ: ${TZ} + WP_DOMAIN: ${WP_DOMAIN} WORDPRESS_CONFIG_EXTRA: | - 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')); + define('WP_DEBUG', ${WP_DEBUG}); + define('WP_DEBUG_LOG', ${WP_DEBUG_LOG}); + define('WP_HOME', 'https://${WP_DOMAIN}'); + define('WP_SITEURL', 'https://${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 @@ -315,22 +329,24 @@ services: test: ["CMD", "curl", "-f", "http://localhost/wp-admin/install.php"] interval: 30s timeout: 10s - retries: 5 - start_period: 40s + retries: 3 + start_period: 30s - word_db: + db: container_name: wordpress-db image: mysql:8.0 restart: unless-stopped - env_file: - - .env environment: - MYSQL_RANDOM_ROOT_PASSWORD: "yes" - TZ: \${TZ} + MYSQL_DATABASE: ${DB_NAME} + MYSQL_USER: ${DB_USER} + MYSQL_PASSWORD: ${DB_PASSWORD} + 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 @@ -338,11 +354,11 @@ services: networks: - wordpress_net healthcheck: - test: ["CMD-SHELL", "mysqladmin ping --protocol=tcp --silent -u\${DB_USER} -p\${DB_PASSWORD} || exit 1"] + test: ["CMD-SHELL", "mysqladmin ping -h localhost -u${DB_USER} -p${DB_PASSWORD} || exit 1"] interval: 10s timeout: 5s - retries: 10 - start_period: 40s + retries: 5 + start_period: 30s #phpmyadmin: #container_name: wordpress-phpmyadmin @@ -353,10 +369,10 @@ services: #condition: service_healthy #environment: #PMA_HOST: db - #PMA_USER: \${DB_USER} - #PMA_PASSWORD: \${DB_PASSWORD} + #PMA_USER: ${DB_USER} + #PMA_PASSWORD: ${DB_PASSWORD} #PMA_PORT: 3306 - #TZ: \${TZ} + #TZ: ${TZ} #networks: #- wordpress_net #- proxy