name: inception

volumes:
  wp-db:
  wp-site:

networks:
  inception:
    external: false

services:
  nginx:
    container_name: inception-nginx
    build:
      context: .
      dockerfile: docker/nginx/Dockerfile
    networks:
      - inception
    environment:
      - TZ=Europe/Paris
      - NGINX_PHP_HOST=inception-wordp-php
      - NGINX_SSL_KEY_FILE=/etc/nginx/ssl/adjoly-wp.key
      - NGINX_SSL_CERT_FILE=/etc/nginx/ssl/adjoly-wp.crt
    depends_on:
      wordpress-php:
        condition: service_started
      db:
        condition: service_started
    volumes:
      - wp-site:/var/www/html
      - ./configs/nginx/templates:/etc/nginx/templates
      - ./configs/nginx/entry:/docker-entrypoint.d
    ports:
      - "443:443"
    restart: unless-stopped

  wordpress-php:
    container_name: inception-wordp-php
    build:
      context: .
      dockerfile: docker/wordpress/Dockerfile
    networks:
      - inception
    depends_on:
      db:
        condition: service_started
    environment:
      - PHP_MEMORY_LIMIT="512M"
      - PHP_MAX_UPLOAD="50M"
      - PHP_PORT=9000
      - TZ=Europe/Paris
    volumes:
      - wp-site:/var/www/html
    restart: unless-stopped

  db:
    container_name: inception-db
    build:
      context: .
      dockerfile: docker/mariadb/Dockerfile
    networks:
      - inception
    environment:
      - MYSQL_ROOT_PASSWORD="alpine"
      - MYSQL_PASSWORD="alpine"
      - MYSQL_USER="kanel"
      - MYSQL_DATABASE="knl"
      - TZ=Europe/Paris
    volumes:
      - wp-db:/var/lib/mysql
    restart: unless-stopped
