100 lines
2.2 KiB
YAML
100 lines
2.2 KiB
YAML
x-docker-settings: &docker-settings
|
|
build:
|
|
context: .
|
|
args:
|
|
- BUILDKIT_INLINE_CACHE=1
|
|
|
|
services:
|
|
web:
|
|
build:
|
|
context: ./docker/nginx
|
|
dockerfile: Dockerfile
|
|
ports:
|
|
- "${APP_PORT:-8000}:80"
|
|
- "127.0.0.1:8080:80"
|
|
- "${APP_SSL_PORT:-443}:443"
|
|
environment:
|
|
- APP_ENV=${APP_ENV:-development}
|
|
volumes:
|
|
- ./:/var/www/html:cached
|
|
- ./ssl:/etc/nginx/ssl:ro # SSL-Zertifikate mounten
|
|
depends_on:
|
|
php:
|
|
condition: service_started
|
|
restart: unless-stopped
|
|
networks:
|
|
- frontend
|
|
- backend
|
|
env_file:
|
|
- .env
|
|
|
|
php:
|
|
container_name: php
|
|
build:
|
|
context: .
|
|
dockerfile: docker/php/Dockerfile
|
|
args:
|
|
- ENV=${APP_ENV:-dev}
|
|
- COMPOSER_INSTALL_FLAGS=${COMPOSER_INSTALL_FLAGS:---no-scripts --no-autoloader}
|
|
|
|
volumes:
|
|
# Shared Volume für Composer-Cache über Container-Neustarts hinweg
|
|
- composer-cache:/root/.composer/cache
|
|
# Bindet das Projektverzeichnis für Live-Änderungen ein
|
|
- ./:/var/www/html:cached
|
|
# Verhindert Überschreiben der Vendor-Verzeichnisse
|
|
#- /var/www/html/vendor
|
|
|
|
#- cache-volume:/var/www/html/cache:rw
|
|
environment:
|
|
PHP_IDE_CONFIG: "serverName=docker"
|
|
APP_ENV: ${APP_ENV:-development}
|
|
|
|
healthcheck:
|
|
test: [ "CMD", "php", "-v" ]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
restart: unless-stopped
|
|
networks:
|
|
- backend
|
|
#- cache
|
|
# backend:
|
|
# aliases:
|
|
# - php
|
|
# cache:
|
|
env_file:
|
|
- .env
|
|
|
|
redis:
|
|
image: redis:8-alpine
|
|
volumes:
|
|
- ./docker/redis/redis.conf:/usr/local/etc/redis/redis.conf
|
|
- redis_data:/data
|
|
command: ["redis-server", "/usr/local/etc/redis/redis.conf"]
|
|
healthcheck:
|
|
test: ["CMD", "redis-cli", "ping"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 3
|
|
|
|
restart: unless-stopped
|
|
networks:
|
|
- cache
|
|
env_file:
|
|
- .env
|
|
|
|
networks:
|
|
frontend:
|
|
driver: bridge
|
|
backend:
|
|
driver: bridge
|
|
cache:
|
|
driver: bridge
|
|
|
|
volumes:
|
|
redis_data:
|
|
composer-cache:
|
|
#cache-volume:
|