diff --git a/docs/administration/docker/caddy.md b/docs/administration/docker/caddy.md index f4b27238b..4b7ebfa48 100644 --- a/docs/administration/docker/caddy.md +++ b/docs/administration/docker/caddy.md @@ -54,10 +54,16 @@ services: ESPOCRM_DATABASE_PASSWORD: database_password ESPOCRM_ADMIN_USERNAME: admin ESPOCRM_ADMIN_PASSWORD: password - ESPOCRM_SITE_URL: "https://{YOUR_DOMAIN}" + ESPOCRM_SITE_URL: "https://YOUR_DOMAIN" volumes: - espocrm:/var/www/html restart: always + healthcheck: + test: ["CMD", "curl", "-f", "http://127.0.0.1:80"] + interval: 2s + start_period: 60s + timeout: 10s + retries: 15 depends_on: espocrm-db: condition: service_healthy @@ -70,24 +76,26 @@ services: volumes: - espocrm:/var/www/html restart: always - depends_on: - - espocrm entrypoint: docker-daemon.sh + depends_on: + espocrm: + condition: service_healthy espocrm-websocket: image: espocrm/espocrm container_name: espocrm-websocket environment: ESPOCRM_CONFIG_USE_WEB_SOCKET: "true" - ESPOCRM_CONFIG_WEB_SOCKET_URL: "wss://{YOUR_DOMAIN}/ws" + ESPOCRM_CONFIG_WEB_SOCKET_URL: "wss://YOUR_DOMAIN/ws" ESPOCRM_CONFIG_WEB_SOCKET_ZERO_M_Q_SUBSCRIBER_DSN: "tcp://*:7777" ESPOCRM_CONFIG_WEB_SOCKET_ZERO_M_Q_SUBMISSION_DSN: "tcp://espocrm-websocket:7777" volumes: - espocrm:/var/www/html restart: always - depends_on: - - espocrm entrypoint: docker-websocket.sh + depends_on: + espocrm: + condition: service_healthy expose: - 8080 @@ -101,7 +109,7 @@ volumes: #### Caddyfile ``` -espocrm-example.com { +YOUR_DOMAIN { reverse_proxy espocrm:80 reverse_proxy /ws espocrm-websocket:8080 { diff --git a/docs/administration/docker/installation.md b/docs/administration/docker/installation.md index 8036ebb03..5328f8b25 100644 --- a/docs/administration/docker/installation.md +++ b/docs/administration/docker/installation.md @@ -108,6 +108,12 @@ services: volumes: - espocrm:/var/www/html restart: always + healthcheck: + test: ["CMD", "curl", "-f", "http://127.0.0.1:80"] + interval: 2s + start_period: 60s + timeout: 10s + retries: 15 depends_on: espocrm-db: condition: service_healthy @@ -121,6 +127,9 @@ services: - espocrm:/var/www/html restart: always entrypoint: docker-daemon.sh + depends_on: + espocrm: + condition: service_healthy espocrm-websocket: image: espocrm/espocrm @@ -134,6 +143,9 @@ services: - espocrm:/var/www/html restart: always entrypoint: docker-websocket.sh + depends_on: + espocrm: + condition: service_healthy ports: - 8081:8080 diff --git a/docs/administration/docker/traefik.md b/docs/administration/docker/traefik.md index 99bb74f34..901cae1fe 100644 --- a/docs/administration/docker/traefik.md +++ b/docs/administration/docker/traefik.md @@ -52,7 +52,7 @@ services: MARIADB_USER: espocrm MARIADB_PASSWORD: database_password volumes: - - ./espocrm-db:/var/lib/mysql + - espocrm-db:/var/lib/mysql espocrm: image: espocrm/espocrm:latest @@ -65,11 +65,17 @@ services: ESPOCRM_ADMIN_PASSWORD: password ESPOCRM_SITE_URL: "https://{ESPOCRM_DOMAIN}" restart: always + healthcheck: + test: ["CMD", "curl", "-f", "http://127.0.0.1:80"] + interval: 2s + start_period: 60s + timeout: 10s + retries: 15 depends_on: espocrm-db: condition: service_healthy volumes: - - ./espocrm:/var/www/html + - espocrm:/var/www/html labels: - traefik.enable=true - traefik.http.routers.espocrm-app.rule=Host(`{ESPOCRM_DOMAIN}`) @@ -84,12 +90,16 @@ services: - espocrm:/var/www/html restart: always entrypoint: docker-daemon.sh + depends_on: + espocrm: + condition: service_healthy espocrm-websocket: image: espocrm/espocrm:latest container_name: espocrm-websocket environment: ESPOCRM_CONFIG_USE_WEB_SOCKET: "true" + ESPOCRM_CONFIG_WEB_SOCKET_URL: "wss://{ESPOCRM_DOMAIN}/ws" ESPOCRM_CONFIG_WEB_SOCKET_ZERO_M_Q_SUBSCRIBER_DSN: "tcp://*:7777" ESPOCRM_CONFIG_WEB_SOCKET_ZERO_M_Q_SUBMISSION_DSN: "tcp://espocrm-websocket:7777" volumes: @@ -102,6 +112,7 @@ services: - traefik.http.routers.espocrm-ws.entrypoints=websecure - traefik.http.routers.espocrm-ws.tls=true - traefik.http.routers.espocrm-ws.tls.certresolver=esporesolver + - traefik.http.routers.espocrm-ws.service=espocrm-ws - traefik.http.services.espocrm-ws.loadbalancer.server.port=8080 volumes: