-
Dominik Hebeler authoredDominik Hebeler authored
docker-compose.yml 2.66 KiB
version: "3.8"
# Volumes
volumes:
composer_cache: {}
node_cache: {}
# Services
services:
fpm:
image: metager:latest
build:
context: ./
dockerfile: build/fpm/Dockerfile
target: ${APP_ENV}
pull_policy: never
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:
image: metager_nginx:latest
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:
image: metager:latest
pull_policy: never
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:
image: metager:latest
pull_policy: never
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}
restart: always
shm_size: 2GB
networks:
- metager
ports:
- "7900:7900"
composer:
image: metager:latest
pull_policy: never
entrypoint: /usr/bin/composer
command: install
environment:
- COMPOSER_HOME=/composer_cache
networks:
- metager
volumes:
- ./metager:/metager/metager_app
- composer_cache:/composer_cache
node:
build:
context: ./
dockerfile: build/node/Dockerfile
target: $APP_ENV
restart: unless-stopped
stop_signal: SIGKILL
depends_on:
- nginx
networks:
- metager
volumes:
- ./metager:/home/node/metager
- node_cache:/home/node/.npm
redis:
build:
context: ./build/redis
restart: unless-stopped
user: "redis:redis"
networks:
- metager
healthcheck:
test: "redis-cli ping"
networks:
metager:
name: metager_net
ipam:
driver: default
config:
- subnet: "192.168.5.0/24"