Files
frappe_docker/docs/add-custom-domain-using-traefik.md
2022-01-10 14:10:25 +05:30

1.7 KiB

Add following labels to *-nginx service

  - "traefik.http.routers.custom-domain.rule=Host(`custom.localhost`)"
  # Comment the entrypoints label if traefik already has default entrypoint set
  - "traefik.http.routers.custom-domain.entrypoints=web"
  - "traefik.http.middlewares.custom-domain.headers.customrequestheaders.Host=mysite.localhost"
  - "traefik.http.routers.custom-domain.middlewares=custom-domain"
  # Add following header only if TLS is needed in case of live server, use one of below
  - "traefik.http.routers.custom-domain.tls.certresolver=myresolver" # For Single Bench
  - "traefik.http.routers.custom-domain.tls.certresolver=le" # For Docker Swarm

Example:

frontend:
  image: frappe/erpnext-nginx:${ERPNEXT_VERSION}
  restart: on-failure
  environment:
    - FRAPPE_PY=erpnext-python
    - FRAPPE_PY_PORT=8000
    - FRAPPE_SOCKETIO=frappe-socketio
    - SOCKETIO_PORT=9000
  labels:
    - "traefik.enable=true"
    - "traefik.http.routers.frontend.rule=Host(${SITES})"
    - "traefik.http.routers.custom-domain.rule=Host(`custom.localhost`)"
    - "traefik.http.routers.custom-domain.entrypoints=web"
    - "traefik.http.middlewares.custom-domain.headers.customrequestheaders.Host=mysite.localhost"
    - "traefik.http.routers.custom-domain.middlewares=custom-domain"
    # Add following header only if TLS is needed in case of live server
    - "traefik.http.routers.custom-domain.tls.certresolver=myresolver"
    - "${ENTRYPOINT_LABEL}"
    - "${CERT_RESOLVER_LABEL}"
    - "traefik.http.services.frontend.loadbalancer.server.port=80"
  volumes:
    - sites-vol:/var/www/html/sites:rw
    - assets-vol:/assets:rw

This will add custom.localhost as custom domain for mysite.localhost