services: db: image: mysql:8.0 container_name: wpdb restart: always mem_limit: 512m environment: MYSQL_ROOT_PASSWORD: root-pass MYSQL_DATABASE: bazawp MYSQL_USER: bd-uzer MYSQL_PASSWORD: bd-pass volumes: - db_data:/var/lib/mysql wordpress: image: wordpress:latest container_name: wordpress restart: always mem_limit: 256m environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_NAME: bazawp WORDPRESS_DB_USER: bd-uzer WORDPRESS_DB_PASSWORD: bd-pass volumes: - wp_data:/var/www/html depends_on: - db nginx: image: nginx:alpine container_name: nginx_proxy restart: always mem_limit: 128m ports: - "80:80" - "443:443" volumes: - ./nginx:/etc/nginx/conf.d - certbot_certs:/etc/letsencrypt - certbot_www:/var/www/certbot depends_on: - wordpress certbot: image: certbot/certbot container_name: certbot volumes: - certbot_certs:/etc/letsencrypt - certbot_www:/var/www/certbot entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'" db_backup: image: databack/mysql-backup:latest container_name: wpdb_backup restart: always environment: DB_SERVER: db DB_PORT: 3306 DB_USER: root DB_PASS: root-pass DB_NAMES: bazawp CRON_TIME: "0 3 * * *" CLEANUP_OLDER_THAN: 14 volumes: - backup_data:/db depends_on: - db volumes: db_data: wp_data: certbot_certs: certbot_www: backup_data: