services: pebble: # image: letsencrypt/pebble:latest build: context: ./dev dockerfile: ./Dockerfile.pebble command: pebble -config /etc/pebble/config.json hostname: pebble ports: - 14000 # HTTPS ACME API - 15000 # HTTPS Management API - 443 # Directory healthcheck: test: ["CMD-SHELL", "curl -k https://localhost:443 || exit 1"] interval: 1s timeout: 120s retries: 120 start_period: 5s node: build: context: . dockerfile: dev/Dockerfile.node volumes: - .:/app - /app/node_modules - node_dist:/app/dist nginx: build: dockerfile: dev/Dockerfile.nginx command: /nginx_wait_for_js nginx -c /etc/nginx/nginx.conf depends_on: - node hostname: proxy.nginx.com volumes: - ./examples/nginx.conf:/etc/nginx/nginx.conf - ./dev/nginx_wait_for_js:/nginx_wait_for_js - node_dist:/usr/lib/nginx/njs_modules/ - certs:/etc/nginx/njs-acme/ environment: - NJS_ACME_VERIFY_PROVIDER_HTTPS=false # only in development environment - NJS_ACME_DIRECTORY_URI=https://pebble/dir # development server ports: - 8000:8000 # http - 8443:8443 # https networks: default: aliases: - proxy2.nginx.com volumes: certs: node_dist: