diff --git a/deploy/general.env b/deploy/general.env index be277245..621226a7 100644 --- a/deploy/general.env +++ b/deploy/general.env @@ -1 +1,5 @@ # any other variables that you may want to use go here + +# This is used to explicitly inform systems that run on Apple silicon to emulate this architecture +# Remove if this causes issues on any other platform +DOCKER_DEFAULT_PLATFORM=linux/amd64 \ No newline at end of file diff --git a/deploy/services.yml b/deploy/services.yml index 48808744..02b461f9 100644 --- a/deploy/services.yml +++ b/deploy/services.yml @@ -159,7 +159,6 @@ services: #---------------------------------------------------------------------------# ocr-service-1: container_name: ocr-service-1 - image: cogstacksystems/cogstack-ocr-service:0.2.4 restart: always # mem_swappiness: 0 @@ -193,7 +192,6 @@ services: ocr-service-2: container_name: ocr-service-2 - image: cogstacksystems/cogstack-ocr-service:0.2.4 restart: always # mem_swappiness: 0 @@ -383,7 +381,6 @@ services: elasticsearch-1: image: ${ELASTICSEARCH_DOCKER_IMAGE:-opensearchproject/opensearch:2.10.0} container_name: elasticsearch-1 - shm_size : 1024mb restart: always # mem_limit: 2g @@ -476,7 +473,6 @@ services: elasticsearch-2: image: ${ELASTICSEARCH_DOCKER_IMAGE:-opensearchproject/opensearch:2.10.0} container_name: elasticsearch-2 - shm_size : 1024mb restart: always # mem_limit: 2g @@ -939,7 +935,7 @@ services: - GROUP_ID=${NIFI_GID:-1000} - NIFI_WEB_PROXY_HOST=${NIFI_WEB_PROXY_HOST:-"0.0.0.0:8443,cogstack:8443,nifi:8443"} - NIFI_WEB_PROXY_CONTEXT_PATH=${NIFI_WEB_PROXY_CONTEXT_PATH:-"/,/nifi,/nifi-api,/nifi-api/,/nifi/"} - - NIFI_INTERNAL_PORT=${NIFI_INTERNAL_PORT:-8443} + - NIFI_INTERNAL_PORT=${NIFI_INTERNAL_PORT:-8443}d - NIFI_OUTPUT_PORT=${NIFI_OUTPUT_PORT:-8082} - NIFI_INPUT_SOCKET_PORT=${NIFI_INPUT_SOCKET_PORT:-10000} - NIFI_SECURITY_DIR=${NIFI_SECURITY_DIR:-../security/nifi_certificates/} @@ -1062,7 +1058,6 @@ services: # - no_proxy=$no_proxy container_name: cogstack-jupyter-hub restart: always - env_file: - ./jupyter.env environment: diff --git a/docs/deploy/main.md b/docs/deploy/main.md index 57c72810..5fada627 100755 --- a/docs/deploy/main.md +++ b/docs/deploy/main.md @@ -117,6 +117,30 @@ Common issues that can be encountered across services.

+#### **Apple Silicon** + +Many services cannot run natively on Apple Silicon (such as M1 and M2 architectures). Common error messages related to Apple silicon follow patterns similar to: +

+ - `no match for platform in manifest` +

+

+ - `no matching manifest for linux/arm64/v8 in the manifest list entries` +

+

+ - `image with reference cogstacksystems/cogstack-ocr-service:0.2.4 was found but does not match the specified platform: wanted linux/arm64, actual: linux/amd64` +

+To solve these issues; Rosetta is required and enabled in Docker Desktop. Finally an environment variable is required to be set. + +Rosetta can which can be installed via the following command: +``` +softwareupdate --install-rosetta +``` +When Rosetta and Docker Desktop are installed, Rosetta must be enabled. This done by going to Docker Desktop -> Setting -> General and enabling "Use Virtualization framework". After in the same settings go to "features in development" -> "Use Rosetta for x86/amd64 emulation on Apple Silicon". Finally execute the following command: +``` +export DOCKER_DEFAULT_PLATFORM=linux/amd64 +``` +to set the environment variable. These issues are known to occur on the "cogstack-nifi", "cogstack-ocr-services" and "jupyter-hub" services and may occur on others. + #### **NiFi** When dealing with contaminated deployments ( containers using volumes from previous instances ) :