version: '3.8' services: web: image: ${IMAGE_NAME} ports: - target: 80 published: 8280 protocol: tcp mode: host deploy: replicas: 1 update_config: parallelism: 1 delay: 10s order: start-first restart_policy: condition: on-failure delay: 5s max_attempts: 3 window: 120s labels: - "app=vite-portfolio" networks: - portfolio-network networks: portfolio-network: driver: overlay