version: '3.8' services: frontend: build: context: ./frontend dockerfile: Dockerfile ports: - "80:80" - "443:443" depends_on: - backend - intel-service restart: unless-stopped networks: - xstocks-network healthcheck: test: ["CMD", "curl", "-f", "http://localhost:80"] interval: 30s timeout: 10s retries: 3 backend: build: context: ./backend dockerfile: Dockerfile ports: - "3008:3008" env_file: - ./backend/.env environment: - NODE_ENV=production - PORT=3008 restart: unless-stopped networks: - xstocks-network healthcheck: test: ["CMD", "curl", "-f", "http://localhost:3008/health"] interval: 30s timeout: 10s retries: 3 intel-service: build: context: ./intel-microservice/python-yfinance-service dockerfile: Dockerfile ports: - "8002:8002" env_file: - ./intel-microservice/python-yfinance-service/.env environment: - PYTHONDONTWRITEBYTECODE=1 - PYTHONUNBUFFERED=1 - PORT=8002 restart: unless-stopped networks: - xstocks-network healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8002/health"] interval: 30s timeout: 10s retries: 3 networks: xstocks-network: driver: bridge