mirror of
https://gitlab.metager.de/open-source/MetaGer.git
synced 2025-10-05 16:22:46 +02:00
154 lines
3.5 KiB
YAML
154 lines
3.5 KiB
YAML
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
|
|
- reverb
|
|
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"
|
|
queue:
|
|
image: metager:latest
|
|
pull_policy: never
|
|
restart: unless-stopped
|
|
entrypoint: /usr/local/bin/php
|
|
command: artisan queue:work --backoff=60 --tries=5 --sleep=1 --queue=donations,default,general
|
|
networks:
|
|
- metager
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
volumes:
|
|
- ./metager:/metager/metager_app
|
|
healthcheck:
|
|
test: ["CMD", "pgrep", "-f", "queue:work"]
|
|
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: ["CMD", "pgrep", "-f", "requests:fetcher"]
|
|
reverb:
|
|
image: metager:latest
|
|
build:
|
|
context: ./
|
|
dockerfile: build/fpm/Dockerfile
|
|
target: ${APP_ENV}
|
|
pull_policy: never
|
|
restart: unless-stopped
|
|
entrypoint: /usr/local/bin/php
|
|
command: artisan reverb:start --debug
|
|
networks:
|
|
- metager
|
|
volumes:
|
|
- ./metager:/metager/metager_app
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
healthcheck:
|
|
test: ["CMD", "pgrep", "-f", "reverb:start"]
|
|
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:
|
|
image: redis:8.0
|
|
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"
|