Skip to content
Snippets Groups Projects
docker-compose.yml 2.55 KiB
version: "3.8"

# Volumes
volumes:
  composer_cache: {}
  node_cache: {}

# Services
services:
  fpm:
    build:
      &fpm_build
      context: ./
      dockerfile: build/fpm/Dockerfile
      target: ${APP_ENV}
    restart: unless-stopped
    networks:
      - metager
    volumes:
      - ./metager:/metager/metager_app
    extra_hosts:
      - "host.docker.internal:host-gateway"
    healthcheck:
      test: "curl -f http://nginx:8080/health-check/liveness"
  nginx:
    build:
      context: ./
      dockerfile: build/nginx/Dockerfile
      target: ${APP_ENV}
    restart: unless-stopped
    depends_on:
      - fpm
    networks:
      - metager
    volumes:
      - ./metager/public:/metager/metager_app/public
    ports:
      - 8080:8080
    healthcheck:
      test: "curl -f http://nginx:8080/health-check/nginx"
  scheduler:
    build:
      <<: *fpm_build
    restart: unless-stopped
    entrypoint: /usr/local/bin/php
    command: artisan schedule:work-mg
    networks:
      - metager
    volumes:
      - ./metager:/metager/metager_app
    extra_hosts:
      - "host.docker.internal:host-gateway"
    healthcheck:
      test: "curl -f http://nginx:8080/health-check/liveness-scheduler"
  worker:
    build:
      <<: *fpm_build
    restart: unless-stopped
    entrypoint: /usr/local/bin/php
    command: artisan requests:fetcher
    networks:
      - metager
    extra_hosts:
      - "host.docker.internal:host-gateway"
    volumes:
      - ./metager:/metager/metager_app
    healthcheck:
      test: "curl -f http://nginx:8080/health-check/liveness-worker"
  selenium_standalone_firefox:
    image: ${SELENIUM_IMAGE}