nano install.sh
#!/bin/bash
set -e
# 🔧 Beállítások (módosítsd vagy add át env változóként)
DOMAIN="${DOMAIN:-example.local}"
EMAIL="${EMAIL:-admin@example.local}"
echo "📦 Teljes HTTPS-es WordPress stack telepítése Dockerrel"
echo "🌐 DOMAIN: $DOMAIN"
echo "📧 EMAIL: $EMAIL"
echo "🧹 Előző konténerek eltávolítása, ha léteznek..."
docker rm -f wp-site wp-mysql nginx-proxy nginx-letsencrypt 2>/dev/null || true
echo "📁 Projektmappa létrehozása: wordpress-ssl"
mkdir -p wordpress-ssl
cd wordpress-ssl
echo "📄 docker-compose.yml generálása..."
cat > docker-compose.yml <<EOF
services:
nginx-proxy:
image: jwilder/nginx-proxy
container_name: nginx-proxy
restart: always
ports:
- "80:80"
- "443:443"
volumes:
- ./certs:/etc/nginx/certs:ro
- ./vhost.d:/etc/nginx/vhost.d
- ./html:/usr/share/nginx/html
- /var/run/docker.sock:/tmp/docker.sock:ro
letsencrypt:
image: jrcs/letsencrypt-nginx-proxy-companion
container_name: nginx-letsencrypt
restart: always
depends_on:
- nginx-proxy
environment:
- NGINX_PROXY_CONTAINER=nginx-proxy
volumes:
- ./certs:/etc/nginx/certs
- ./vhost.d:/etc/nginx/vhost.d
- ./html:/usr/share/nginx/html
- /var/run/docker.sock:/var/run/docker.sock:ro
mysql:
image: mysql:5.7
container_name: wp-mysql
restart: always
environment:
MYSQL_DATABASE: wordpress
MYSQL_USER: wpuser
MYSQL_PASSWORD: wppass
MYSQL_ROOT_PASSWORD: wpadmin
volumes:
- wp_db:/var/lib/mysql
wordpress:
image: wordpress
container_name: wp-site
restart: always
environment:
- WORDPRESS_DB_HOST=wp-mysql:3306
- WORDPRESS_DB_USER=wpuser
- WORDPRESS_DB_PASSWORD=wppass
- WORDPRESS_DB_NAME=wordpress
- VIRTUAL_HOST=${DOMAIN}
- LETSENCRYPT_HOST=${DOMAIN}
- LETSENCRYPT_EMAIL=${EMAIL}
volumes:
- wp_data:/var/www/html
expose:
- "80"
volumes:
wp_data:
wp_db:
EOF
echo "🚀 Stack elindítása..."
docker compose up -d
echo "⏳ Várj kb. 1 percet a tanúsítvány lekéréséhez..."
echo "🔗 Nyisd meg a WordPress-t böngészőben: https://${DOMAIN}"
export DOMAIN="pelda.hu"
export EMAIL="admin@pelda.hu"
chmod +x install.sh
./install.sh