= Deploy == Create Yaml file .docker-compose [source,yaml] ---- services: myapp: //<1> image: node:8.2.1-alpine //<2> hostname: myapp volumes: - /PATH_to_app/app.js:/code/app.js //<3> - /PATH_to_app/index.html:/code/index.html //<3> ports: - "8000:8000" //<4> networks: - mynet //<5> deploy: restart_policy: delay: 10s max_attempts: 10 window: 60s placement: constraints: - node.labels.myapp==true //<6> mybrowser: image: nginx:1.17.9-alpine deploy: mode: replicated restart_policy: delay: 10s max_attempts: 10 window: 60s replicas: 2 placement: max_replicas_per_node: 1 constraints: - node.labels.group==myapp //<7> ports: - "8080:80" - "9443:443" volumes: //<8> - /PATH_to_FILE/my.conf:/DIR_in_container/my.conf //<9> #- /PATH_to_FILE/public.crt:/etc/nginx/public.crt //<10> #- /PATH_to_FILE/private.key:/etc/nginx/private.key //<11> networks: - myapp //<5> networks: myapp: //<5> driver: overlay ---- <1> Service name <2> Image name <3> Volume (bind) to Use <4> Expose port <5> Network to Use <6> Node Placement <7> Start server <10> *NEW* Service name <11> *NEW* Volume <12> *NEW* Port <13> *NEW* Label <14> Node Placement (Proxy) <15> Bind mount config files <16> Nginx config file <17> ssl keys