Merakit-Deploy/wordpress/docker-compose.yml

57 lines
1.5 KiB
YAML

services:
mariadb:
image: mariadb:${MARIADB_VERSION}
container_name: ${SUBDOMAIN}_db
restart: unless-stopped
environment:
MYSQL_DATABASE: ${DB_NAME}
MYSQL_USER: ${DB_USER}
MYSQL_PASSWORD: ${DB_PASSWORD}
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
volumes:
- db_data:/var/lib/mysql
networks:
- internal
wordpress:
image: wordpress:${WORDPRESS_VERSION}
container_name: ${SUBDOMAIN}_wp
restart: unless-stopped
depends_on:
- mariadb
environment:
WORDPRESS_DB_HOST: mariadb:3306
WORDPRESS_DB_NAME: ${DB_NAME}
WORDPRESS_DB_USER: ${DB_USER}
WORDPRESS_DB_PASSWORD: ${DB_PASSWORD}
WORDPRESS_TABLE_PREFIX: ${WP_TABLE_PREFIX}
WORDPRESS_CONFIG_EXTRA: |
define('WP_MEMORY_LIMIT', '${WP_MEMORY_LIMIT}');
define('WP_MAX_MEMORY_LIMIT', '${WP_MAX_MEMORY_LIMIT}');
define('DISALLOW_FILE_EDIT', true);
define('AUTOMATIC_UPDATER_DISABLED', true);
define('FS_METHOD', 'direct');
volumes:
- wp_data:/var/www/html
labels:
- "traefik.enable=true"
- "traefik.http.routers.${SUBDOMAIN}.rule=Host(`${URL}`)"
- "traefik.http.routers.${SUBDOMAIN}.entrypoints=https"
- "traefik.http.routers.${SUBDOMAIN}.tls=true"
- "traefik.http.routers.${SUBDOMAIN}.tls.certresolver=letsencrypt"
- "traefik.http.services.${SUBDOMAIN}.loadbalancer.server.port=80"
networks:
- proxy
- internal
volumes:
db_data:
wp_data:
networks:
proxy:
external: true
internal:
internal: true