diff --git a/docker-compose.override.yml b/docker-compose.override.yml index ce57bde..6f6be83 100755 --- a/docker-compose.override.yml +++ b/docker-compose.override.yml @@ -1,37 +1,37 @@ -version: "3" +version: "3.7" services: # Proxy proxy: ports: - 80:80 # Node.js server for the Web viewer and annotation tool webviewer: ports: - 3000:3000 - 9229:9229 command: ["node", "--inspect=0.0.0.0:9229", "app.js"] volumes: - ./desuto-viewer/Desuto-webviewer:/usr/src/app # IIPImage server for generating the image patches iipsrv: build: ./desuto-iipsrv volumes: - ${SLIDEVIEWERDATA_LOCAL_PATH}:/slideviewerdata # CouchDB for storing annotations couchdb: ports: - 5984:5984 # Python server for getting slide properties using openslide slideprops: build: ./desuto-slideproperties volumes: - ${SLIDEVIEWERDATA_LOCAL_PATH}:/slideviewerdata # Shared volume for uploaded images volumes: upload-volume: diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index f755f51..7d3b904 100755 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -1,58 +1,66 @@ -version: "3" +version: "3.7" services: # Proxy facade for all services proxy: labels: - 'traefik.backend=desuto-proxy' - - 'traefik.docker.network=${TRAEFIK_NETWORK}' + - 'traefik.docker.network=prod' - 'traefik.frontend.rule=Host:${TRAEFIK_URL}' - 'traefik.enable=true' + networks: + - default + - prod # CouchDB server for storing image annotation data couchdb: build: ./desuto-couchdb environment: - COUCHDB_USER=${COUCHDB_ADMIN_USER} - COUCHDB_PASSWORD=${COUCHDB_ADMIN_PASS} - COUCHDB_PROTOCOL=${COUCHDB_PROTOCOL} - COUCHDB_HOST=${COUCHDB_HOST} - COUCHDB_PORT=${COUCHDB_PORT} - COUCHDB_DB_NAME=${COUCHDB_DB_NAME} restart: always # Node.js server for the Web viewer and annotation tool webviewer: build: context: ./desuto-viewer args: - IIP_ROOT_URL=${IIP_ROOT_URL} - SLIDEPROPS_ROOT_URL=${SLIDEPROPS_ROOT_URL} - COUCHDB_ROOT_URL=${COUCHDB_ROOT_URL} - COUCHDB_BACKEND_ROOT_URL=${COUCHDB_BACKEND_ROOT_URL} - COUCHDB_DB_NAME=${COUCHDB_DB_NAME} - WSI_BASE_DIR=${WSI_BASE_DIR} environment: - ROOT_URL=${VIEWER_ROOT_URL} - COUCHDB_ROOT_URL=${COUCHDB_ROOT_URL} - COUCHDB_BACKEND_ROOT_URL=${COUCHDB_BACKEND_ROOT_URL} - TEMP_DIR=${TEMP_DIR} - WSI_BASE_DIR=${WSI_BASE_DIR} - WSI_UPLOADED_DIR=${WSI_UPLOADED_DIR} - WSI_CONVERTED_DIR=${WSI_CONVERTED_DIR} - WSI_OVERLAYS_DIR=${WSI_OVERLAYS_DIR} volumes: - ${SLIDEVIEWERDATA_LOCAL_PATH}:/slideviewerdata # IIPImage server for generating the image patches iipsrv: build: ./desuto-iipsrv volumes: - ${SLIDEVIEWERDATA_LOCAL_PATH}:/slideviewerdata # Python server for getting slide properties using openslide slideprops: build: ./desuto-slideproperties volumes: - - ${SLIDEVIEWERDATA_LOCAL_PATH}:/slideviewerdata \ No newline at end of file + - ${SLIDEVIEWERDATA_LOCAL_PATH}:/slideviewerdata + +networks: + prod: + external: true + name: ${TRAEFIK_NETWORK} diff --git a/docker-compose.yml b/docker-compose.yml index ecaeac2..a3d92f9 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,59 +1,59 @@ -version: "3" +version: "3.7" services: # Proxy facade for all services proxy: build: ./desuto-proxy depends_on: - couchdb - webviewer - iipsrv - slideprops # CouchDB server for storing image annotation data couchdb: build: ./desuto-couchdb environment: - COUCHDB_USER=${COUCHDB_ADMIN_USER} - COUCHDB_PASSWORD=${COUCHDB_ADMIN_PASS} - COUCHDB_PROTOCOL=${COUCHDB_PROTOCOL} - COUCHDB_HOST=${COUCHDB_HOST} - COUCHDB_PORT=${COUCHDB_PORT} - COUCHDB_DB_NAME=${COUCHDB_DB_NAME} restart: always # Node.js server for the Web viewer and annotation tool webviewer: build: context: ./desuto-viewer args: - IIP_ROOT_URL=${IIP_ROOT_URL} - SLIDEPROPS_ROOT_URL=${SLIDEPROPS_ROOT_URL} - COUCHDB_ROOT_URL=${COUCHDB_ROOT_URL} - COUCHDB_BACKEND_ROOT_URL=${COUCHDB_BACKEND_ROOT_URL} - COUCHDB_DB_NAME=${COUCHDB_DB_NAME} - WSI_BASE_DIR=${WSI_BASE_DIR} environment: - ROOT_URL=${VIEWER_ROOT_URL} - COUCHDB_ROOT_URL=${COUCHDB_ROOT_URL} - COUCHDB_BACKEND_ROOT_URL=${COUCHDB_BACKEND_ROOT_URL} - TEMP_DIR=${TEMP_DIR} - WSI_BASE_DIR=${WSI_BASE_DIR} - WSI_UPLOADED_DIR=${WSI_UPLOADED_DIR} - WSI_CONVERTED_DIR=${WSI_CONVERTED_DIR} - WSI_OVERLAYS_DIR=${WSI_OVERLAYS_DIR} volumes: - ${SLIDEVIEWERDATA_LOCAL_PATH}:/slideviewerdata # IIPImage server for generating the image patches iipsrv: build: ./desuto-iipsrv volumes: - ${SLIDEVIEWERDATA_LOCAL_PATH}:/slideviewerdata # Python server for getting slide properties using openslide slideprops: build: ./desuto-slideproperties volumes: - - ${SLIDEVIEWERDATA_LOCAL_PATH}:/slideviewerdata \ No newline at end of file + - ${SLIDEVIEWERDATA_LOCAL_PATH}:/slideviewerdata