diff --git a/docker-compose-local.yml b/docker-compose-local.yml new file mode 100644 index 000000000..e093f61fd --- /dev/null +++ b/docker-compose-local.yml @@ -0,0 +1,146 @@ +--- +# Slim version of the Docker Compose cloud deployment + +version: '3.7' + +networks: + xes-platform-network: + name: xes-platform-network + reverse-proxy: + name: reverse-proxy + driver: bridge + +services: + platform: + build: + context: . + container_name: xes-platform + depends_on: + - document-service + networks: + - xes-platform-network + - reverse-proxy + restart: unless-stopped + environment: + TZ: Europe/Zurich + PROXEUS_PLATFORM_DOMAIN: "${PROXEUS_PLATFORM_DOMAIN:-http://xes-platform:1323}" + PROXEUS_DOCUMENT_SERVICE_URL: "http://document-service:2115/" + PROXEUS_BLOCKCHAIN_CONTRACT_ADDRESS: "${PROXEUS_BLOCKCHAIN_CONTRACT_ADDRESS}" + PROXEUS_INFURA_API_KEY: "${PROXEUS_INFURA_API_KEY}" + PROXEUS_SPARKPOST_API_KEY: "${PROXEUS_SPARKPOST_API_KEY}" + PROXEUS_ENCRYPTION_SECRET_KEY: "${PROXEUS_ENCRYPTION_SECRET_KEY}" + PROXEUS_EMAIL_FROM: "${PROXEUS_EMAIL_FROM:-no-reply@example.com}" + PROXEUS_DATABASE_ENGINE: "${PROXEUS_DATABASE_ENGINE:-storm}" + PROXEUS_DATABASE_URI: "${PROXEUS_DATABASE_URI:-mongodb://root:root@mongo:27017}" + PROXEUS_TEST_MODE: "${PROXEUS_TEST_MODE:-false}" + PROXEUS_ALLOW_HTTP: "${PROXEUS_ALLOW_HTTP:-true}" + # Replace values for reverse-proxy + VIRTUAL_HOST: ${PROXEUS_VIRTUAL_HOST:-proxeus.example.com} + VIRTUAL_PORT: 1323 + # Replace values for letsencrypt + LETSENCRYPT_HOST: ${PROXEUS_VIRTUAL_HOST:-proxeus.example.com} + LETSENCRYPT_EMAIL: ${LETSENCRYPT_EMAIL:-admin@proxeus.example.com} + ports: + - "1323:1323" + volumes: + - ${PROXEUS_DATA_DIR:-./data}/proxeus-platform/data:/data/hosted + - ${PROXEUS_DATA_DIR:-./data}/proxeus-platform/settings:/root/.proxeus/settings + + # Add Nginx reverse-proxy + # https://hub.docker.com/r/jwilder/nginx-proxy/ + # Automated Nginx reverse proxy for docker containers + nginx-proxy: + container_name: nginx-proxy + image: jwilder/nginx-proxy + ports: + - "80:80" + - "443:443" + volumes: + - nginx-share:/etc/nginx/vhost.d + - nginx-share:/usr/share/nginx/html + - ./nginx-timeout.conf:/etc/nginx/conf.d/nginx-timeout.conf + - ${PROXEUS_DATA_DIR:-./data}/certs:/etc/nginx/certs:ro + - ${DOCKER_SOCK:-/var/run/docker.sock}:/tmp/docker.sock:ro + networks: + - reverse-proxy + labels: + com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: "true" + restart: unless-stopped + + # Add Letsencrypt + # https://hub.docker.com/r/jrcs/letsencrypt-nginx-proxy-companion/ + # LetsEncrypt container to use with nginx as proxy + letsencrypt: + image: jrcs/letsencrypt-nginx-proxy-companion + depends_on: + - nginx-proxy + networks: + - reverse-proxy + volumes: + - nginx-share:/etc/nginx/vhost.d + - nginx-share:/usr/share/nginx/html + - ${PROXEUS_DATA_DIR:-./data}/certs:/etc/nginx/certs:rw + - ${DOCKER_SOCK:-/var/run/docker.sock}:/var/run/docker.sock:ro + restart: unless-stopped + + document-service: + image: proxeus/document-service:latest + container_name: xes_document_service + networks: + - xes-platform-network + - reverse-proxy + restart: unless-stopped + environment: + TZ: Europe/Zurich + # Replace values for reverse-proxy + VIRTUAL_HOST: ${DOCUMENT_SERVICE_VIRTUAL_HOST:-proxeus.example.com} + VIRTUAL_PORT: 2115 + # Replace values for letsencrypt + LETSENCRYPT_HOST: ${DOCUMENT_SERVICE_VIRTUAL_HOST:-proxeus.example.com} + LETSENCRYPT_EMAIL: ${LETSENCRYPT_EMAIL:-admin@example.com} + ports: + - "2115:2115" + volumes: + - ${PROXEUS_DATA_DIR:-./data}/document-service/logs:/document-service/logs + - ${PROXEUS_DATA_DIR:-./data}/document-service/fonts:/document-service/fonts + + node-mail-sender: + image: proxeus/node-mail-sender:latest + container_name: xes_node-mail-sender + networks: + - xes-platform-network + restart: unless-stopped + environment: + PROXEUS_INSTANCE_URL: "${PROXEUS_PLATFORM_DOMAIN:-http://xes-platform:1323}" + SERVICE_SECRET: secret + SERVICE_PORT: 8013 + SERVICE_URL: "${NODE_CRYPTO_RATES_URL:-http://node-mail-sender:8013}" + TZ: Europe/Zurich + PROXEUS_SPARKPOST_API_KEY: "${PROXEUS_SPARKPOST_API_KEY}" + ports: + - "8013:8013" + + node-json-sender: + image: proxeus/node-json-sender:latest + container_name: xes_node-json-sender + networks: + - xes-platform-network + restart: unless-stopped + environment: + PROXEUS_INSTANCE_URL: "${PROXEUS_PLATFORM_DOMAIN:-http://xes-platform:1323}" + SERVICE_SECRET: secret + SERVICE_PORT: 8015 + SERVICE_URL: "${SERVICE_DOMAIN:-http://node-json-sender:8015}" + JSON_SENDER_URL: http://url:123/endpoint + JSON_SENDER_HEADER_clientid: client_id + JSON_SENDER_HEADER_tenantid: tenant_id + JSON_SENDER_HEADER_secret: secret + JSON_SENDER_HEADER_oauthserverurl: oauth_url + TZ: Europe/Zurich + ports: + - "8015:8015" + +volumes: + # Add volume for nginx-proxy and letsencrypt + nginx-share: + diff --git a/docs/docker.md b/docs/docker.md index a662053c9..85547af0c 100644 --- a/docs/docker.md +++ b/docs/docker.md @@ -22,6 +22,13 @@ In each case you can then use the **logs** command to see the system status (wit For more usage instructions, visit the [Docker Compose CLI reference](https://docs.docker.com/compose/reference/). +In each case you can then use the **logs** command to see the system status (with the useful `-f` parameter): + +`docker-compose logs` + +For more usage instructions, visit the [Docker Compose CLI reference](https://docs.docker.com/compose/reference/). + + ## Simple Docker Compose `docker-compose -f docker-compose.yml -f docker-compose-extra.override.yml up` diff --git a/ui/yarn.lock b/ui/yarn.lock index 285beaa5b..1ed90c17b 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -32,10 +32,25 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.9.tgz#71cdb00a1ce3a329ce4cbec3a44f9fef35669730" integrity sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ== -"@babel/compat-data@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.3.tgz#3febd552541e62b5e883a25eb3effd7c7379db11" - integrity sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ== +"@babel/core@7.0.1": + version "7.0.1" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.0.1.tgz#406658caed0e9686fa4feb5c2f3cefb6161c0f41" + integrity sha512-7Yy2vRB6KYbhWeIrrwJmKv9UwDxokmlo43wi6AV84oNs4Gi71NTNGh3YxY/hK3+CxuSc6wcKSl25F2tQOhm1GQ== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/generator" "^7.0.0" + "@babel/helpers" "^7.0.0" + "@babel/parser" "^7.0.0" + "@babel/template" "^7.0.0" + "@babel/traverse" "^7.0.0" + "@babel/types" "^7.0.0" + convert-source-map "^1.1.0" + debug "^3.1.0" + json5 "^0.5.0" + lodash "^4.17.10" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" "@babel/core@^7.11.0": version "7.22.10" @@ -945,6 +960,22 @@ "@babel/helper-create-regexp-features-plugin" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" +"@babel/plugin-transform-unicode-regex@^7.0.0", "@babel/plugin-transform-unicode-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz#ce7e7bb3ef208c4ff67e02a22816656256d7a183" + integrity sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-sets-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz#77788060e511b708ffc7d42fdfbc5b37c3004e91" + integrity sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-transform-modules-systemjs@^7.23.3": version "7.23.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz#fa7e62248931cb15b9404f8052581c302dd9de81" @@ -1441,11 +1472,6 @@ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== -"@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": version "0.3.19" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz#f8a3249862f91be48d3127c3cfe992f79b4b8811"