67 lines
1.6 KiB
YAML
67 lines
1.6 KiB
YAML
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
|