services: backend: image: "${HARBOR_REGISTRY:-114.55.99.6:10081}/wordcloud/wordcloud-backend:${IMAGE_TAG:-latest}" build: context: ./backend dockerfile: Dockerfile container_name: wordcloud-backend ports: - "8000:8000" environment: CLEANUP_APPLY_ENABLED: "${CLEANUP_APPLY_ENABLED:-false}" volumes: - wordcloud_workspace:/app/service_workspace - wordcloud_assets:/app/service_assets - wordcloud_projects:/app/service_projects - wordcloud_design_templates:/app/service_design_templates - wordcloud_fonts:/app/service_fonts - wordcloud_products:/app/service_products - wordcloud_metadata:/app/service_metadata - wordcloud_orders:/app/service_orders restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/api/health"] interval: 30s timeout: 10s retries: 3 start_period: 60s frontend: image: "${HARBOR_REGISTRY:-114.55.99.6:10081}/wordcloud/wordcloud-frontend:${IMAGE_TAG:-latest}" build: context: ./frontend dockerfile: Dockerfile container_name: wordcloud-frontend ports: - "3000:80" depends_on: backend: condition: service_healthy restart: unless-stopped volumes: wordcloud_workspace: wordcloud_assets: wordcloud_projects: wordcloud_design_templates: wordcloud_fonts: wordcloud_products: wordcloud_metadata: wordcloud_orders: