From f5bc83435090827a949e7866a7a03844882cad38 Mon Sep 17 00:00:00 2001 From: Lorenzo Carbonell Date: Thu, 2 May 2024 09:07:49 +0200 Subject: [PATCH] clean --- wordpress/docker-compose.yml | 93 ++++++++++++++++++++---------------- wordpress/sample.env | 5 +- 2 files changed, 54 insertions(+), 44 deletions(-) diff --git a/wordpress/docker-compose.yml b/wordpress/docker-compose.yml index 5614bd8..d941d72 100644 --- a/wordpress/docker-compose.yml +++ b/wordpress/docker-compose.yml @@ -1,12 +1,17 @@ services: wordpress: image: wordpress:fpm-alpine - container_name: ${CONTAINER_NAME} - restart: always + container_name: ${ROUTER}-wordpress + restart: unless-stopped init: true depends_on: - mariadb - redis + volumes: + - wordpress:/var/www/html + - ./wp-content:/var/www/html/wp-content + networks: + - internal environment: WORDPRESS_DB_HOST: ${WORDPRESS_DB_HOST} WORDPRESS_DB_USER: ${WORDPRESS_DB_USER} @@ -14,68 +19,65 @@ services: WORDPRESS_DB_NAME: ${WORDPRESS_DB_NAME} WORDPRESS_TABLE_PREFIX: ${WORDPRESS_TABLE_PREFIX} WORDPRESS_CONFIG_EXTRA: | - // adjust Redis host and port if necessary define( 'WP_REDIS_HOST', '${WP_REDIS_HOST}' ); define( 'WP_REDIS_PORT', ${WP_REDIS_PORT} ); - // change the prefix and database for each site to avoid cache data collisions define( 'WP_REDIS_PREFIX', '${FQDN}' ); define( 'WP_REDIS_DATABASE', ${WP_REDIS_DATABASE} ); // 0-15 - - // reasonable connection and read+write timeouts define( 'WP_REDIS_TIMEOUT', ${WP_REDIS_TIMEOUT} ); define( 'WP_REDIS_READ_TIMEOUT', ${WP_REDIS_READ_TIMEOUT} ); - volumes: - - wordpress:/var/www/html - networks: - - internal nginx: image: nginx:alpine - volumes: - - ./nginx:/etc/nginx/conf.d - - wordpress:/var/www/html + container_name: ${ROUTER}-nginx + restart: unless-stopped + init: true depends_on: - wordpress - restart: unless-stopped + volumes: + - ./nginx:/etc/nginx/conf.d + - wordpress:/var/www/html:ro networks: - proxy - internal labels: traefik.enable: true - traefik.http.services.segobriga.loadbalancer.server.port: 80 - traefik.http.routers.segobriga.rule: Host(`${FQDN}`) - traefik.http.routers.segobriga.entrypoints: websecure + traefik.http.services.${ROUTER}-nginx.loadbalancer.server.port: 80 + traefik.http.routers.${ROUTER}-nginx.rule: Host(`${FQDN}`) mariadb: image: mariadb - restart: always + container_name: ${ROUTER}-mariadb + restart: unless-stopped init: true + volumes: + - mariadb:/var/lib/mysql + networks: + - internal environment: MYSQL_DATABASE: ${WORDPRESS_DB_NAME} MYSQL_USER: ${WORDPRESS_DB_USER} MYSQL_PASSWORD: ${WORDPRESS_DB_PASSWORD} MYSQL_ROOT_PASSWORD: ${WORDPRESS_DB_PASSWORD} - volumes: - - db:/var/lib/mysql - networks: - - internal backup: image: atareao/mariadb-backup:latest - init: true + container_name: ${ROUTER}-backup restart: unless-stopped - networks: - - internal + init: true + depends_on: + - mariadb volumes: - ./hooks:/hooks - - ./backup:/backup + - backup:/cronitab/backup + networks: + - internal environment: MARIADB_DB: ${WORDPRESS_DB_NAME} MARIADB_HOST: ${WORDPRESS_DB_HOST} MARIADB_PORT: 3306 MARIADB_USER: ${WORDPRESS_DB_USER} MARIADB_PASSWORD: ${WORDPRESS_DB_PASSWORD} - SCHEDULE: "* * 1/24 * * * *" + SCHEDULE: "0 1/24 * * *" BACKUP_KEEP_MINS: ${BACKUP_KEEP_MINS} BACKUP_KEEP_DAYS: ${BACKUP_KEEP_DAYS} BACKUP_KEEP_WEEKS: ${BACKUP_KEEP_WEEKS} @@ -83,6 +85,7 @@ services: redis: image: redis:6 + container_name: ${ROUTER}-redis restart: unless-stopped init: true depends_on: @@ -94,29 +97,37 @@ services: phpmyadmin: image: phpmyadmin - init: true - environment: - - PMA_ARBITRARY=1 + container_name: ${ROUTER}-phpmyadmin restart: unless-stopped + init: true + depends_on: + - mariadb volumes: - - sessions:/sessions + - phpmyadmin:/sessions networks: - proxy - internal + environment: + - PMA_ARBITRARY=1 labels: - - "traefik.enable=true" - - "traefik.http.services.${ROUTER}-myadmin.loadbalancer.server.port=80" - - "traefik.http.routers.${ROUTER}-myadmin-https.rule=Host(`${FQDN2}`)" + traefik.enable: true + traefik.http.services.${ROUTER}-phpmyadmin.loadbalancer.server.port: 80 + traefik.http.routers.${ROUTER}-phpmyadmin.rule: Host(`${FQDN2}`) volumes: - wordpress: {} - db: {} - redis: {} - sessions: {} - config: - external: true + wordpress: + name: ${ROUTER}-wordpress + mariadb: + name: ${ROUTER}-mariadb + backup: + name: ${ROUTER}-backup + redis: + name: ${ROUTER}-redis + phpmyadmin: + name: ${ROUTER}-phpmyadmin networks: - internal: {} + internal: + name: ${ROUTER}-internal proxy: external: true diff --git a/wordpress/sample.env b/wordpress/sample.env index 40d9aea..fe1ace0 100644 --- a/wordpress/sample.env +++ b/wordpress/sample.env @@ -1,12 +1,11 @@ CONTAINER_NAME=ejemplo WORDPRESS_DB_HOST=mariadb -WORDPRESS_DB_CHARSET=utf8 WORDPRESS_DB_USER=usuario WORDPRESS_DB_PASSWORD=contraseƱa WORDPRESS_DB_NAME=basededatos WORDPRESS_DB_CHARSET=utf8 WORDPRESS_DB_COLLATE='' -WORDPRESS_TABLE_PREFIX=adfa3_ +WORDPRESS_TABLE_PREFIX=wp_ WORDPRESS_AUTH_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX WORDPRESS_SECURE_AUTH_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX @@ -26,7 +25,7 @@ WP_REDIS_READ_TIMEOUT=1 FQDN=tusitio.es FQDN2=myadmin.tusitio.es -ROUTER=wordpress +ROUTER=tusitio BACKUP_KEEP_MINS=1440 BACKUP_KEEP_DAYS=7 BACKUP_KEEP_WEEKS=4