version: '3.8' # Compose Specification v3.8 services: fastapi: build: context: ./backend # директория с Dockerfile FastAPI volumes: - ./backend:/app # монтируем код для live-reload command: uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload # hot-reload ports: - "8000:8000" networks: - app-network php: image: php:8.2-apache # официальный PHP Apache образ volumes: - ./php:/var/www/html ports: - "8081:80" networks: - app-network nginx: image: nginx:stable volumes: - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro # монтируем конфиг NGINX ports: - "80:80" depends_on: - fastapi - php networks: - app-network meilisearch: image: getmeili/meilisearch:latest container_name: dressed-for-success-meilisearch hostname: meilisearch ports: - "7700:7700" environment: - MEILI_MASTER_KEY=dNmMmxymWpqTFyWSSFyg3xaGlEY6Pn7Ld-dyrnKRMzM - MEILI_NO_ANALYTICS=true - MEILI_ENV=production volumes: - meilisearch_data:/meili_data healthcheck: test: ["CMD", "wget", "--no-verbose", "--spider", "http://localhost:7700/health"] interval: 10s timeout: 5s retries: 3 start_period: 15s restart: always networks: app-network: aliases: - meilisearch dns_search: . volumes: meilisearch_data: networks: app-network: # общая сеть для контейнеров driver: bridge