Files
social-rating/docker-compose.yml
2026-04-18 14:38:37 +03:00

58 lines
1.4 KiB
YAML

services:
mysql:
image: ${MYSQL_IMAGE}
container_name: ${MYSQL_CONTAINER_NAME}
restart: ${COMPOSE_RESTART_POLICY}
env_file:
- ./.env
ports:
- "${MYSQL_HOST_PORT}:3306"
volumes:
- ${MYSQL_VOLUME_NAME}:/var/lib/mysql
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "-uroot", "-p${MYSQL_ROOT_PASSWORD}"]
interval: ${MYSQL_HEALTHCHECK_INTERVAL}
timeout: ${MYSQL_HEALTHCHECK_TIMEOUT}
retries: ${MYSQL_HEALTHCHECK_RETRIES}
backend:
build:
context: ${BACKEND_BUILD_CONTEXT}
dockerfile: ${BACKEND_DOCKERFILE}
container_name: ${BACKEND_CONTAINER_NAME}
restart: ${COMPOSE_RESTART_POLICY}
depends_on:
mysql:
condition: service_healthy
env_file:
- ./.env
ports:
- "${BACKEND_HOST_PORT}:${SERVER_PORT}"
frontend:
build:
context: ${FRONTEND_BUILD_CONTEXT}
dockerfile: ${FRONTEND_DOCKERFILE}
args:
VITE_API_BASE_URL: ${VITE_API_BASE_URL}
container_name: ${FRONTEND_CONTAINER_NAME}
restart: ${COMPOSE_RESTART_POLICY}
depends_on:
- backend
ports:
- "${FRONTEND_HOST_PORT}:80"
swagger-ui:
image: ${SWAGGER_UI_IMAGE}
container_name: ${SWAGGER_UI_CONTAINER_NAME}
restart: ${COMPOSE_RESTART_POLICY}
depends_on:
- backend
environment:
URL: ${SWAGGER_SPEC_URL}
ports:
- "${SWAGGER_UI_HOST_PORT}:8080"
volumes:
${MYSQL_VOLUME_NAME}: