name: noya networks: noya_internal_net: name: noya_internal_net driver: bridge volumes: noya_mysql_data: name: noya_mysql_data services: noya-mysql: image: ${NOYA_MYSQL_IMAGE:-mysql:5.7} container_name: noya-mysql restart: unless-stopped env_file: - path: .env.mysql required: false volumes: - noya_mysql_data:/var/lib/mysql networks: noya_internal_net: aliases: - mysql - noya-mysql # پورت دیتابیس هرگز روی هاست یا اینترنت باز نمی‌شود healthcheck: test: ["CMD-SHELL", "mysqladmin ping -h127.0.0.1 -uroot -p$$MYSQL_ROOT_PASSWORD || exit 1"] interval: 10s timeout: 5s retries: 10 start_period: 30s noya-backend: build: context: ./backend dockerfile: Dockerfile args: HTTP_PROXY: ${BUILD_HTTP_PROXY:-} HTTPS_PROXY: ${BUILD_HTTPS_PROXY:-} ALL_PROXY: ${BUILD_ALL_PROXY:-} image: noya-backend:${NOYA_IMAGE_TAG:-latest} container_name: noya-backend restart: unless-stopped env_file: - path: ./backend/.env required: false environment: - NODE_ENV=production - PORT=3001 - HOST=0.0.0.0 - TRUST_PROXY=true networks: noya_internal_net: aliases: - backend - noya-backend depends_on: noya-mysql: condition: service_healthy noya-frontend: build: context: . dockerfile: Dockerfile args: HTTP_PROXY: ${BUILD_HTTP_PROXY:-} HTTPS_PROXY: ${BUILD_HTTPS_PROXY:-} ALL_PROXY: ${BUILD_ALL_PROXY:-} image: noya-frontend:${NOYA_IMAGE_TAG:-latest} container_name: noya-frontend restart: unless-stopped ports: # پورت فقط روی 127.0.0.1 لوکال‌هاست سرور بایند می‌شود - "127.0.0.1:${NOYA_WEB_PORT:-38080}:80" networks: noya_internal_net: aliases: - app - noya-frontend depends_on: - noya-backend