From 0a0a377bd5c1010b947c8c20719308aff514de33 Mon Sep 17 00:00:00 2001 From: pld Date: Tue, 19 Sep 2023 14:54:09 -0400 Subject: [PATCH] update license and text --- LICENSE | 262 ++++++-------------------- README.md | 30 ++- docs/fhir-web-docker-deployment.md | 6 +- docs/opensrp-web-docker-deployment.md | 147 --------------- 4 files changed, 78 insertions(+), 367 deletions(-) delete mode 100644 docs/opensrp-web-docker-deployment.md diff --git a/LICENSE b/LICENSE index 261eeb9e9..03f880573 100644 --- a/LICENSE +++ b/LICENSE @@ -1,201 +1,61 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. +License text copyright (c) 2020 MariaDB Corporation Ab, All Rights Reserved. +“Business Source License” is a trademark of MariaDB Corporation Ab. + +Parameters + +Licensor: Ona Systems, Inc. +Licensed Work: fhir-web. The Licensed Work is (c) 2023 Ona Systems, Inc. +Additional Use Grant: You may make production use of the Licensed Work, + provided such use does not include offering the Licensed Work + to third parties on a hosted or embedded basis which is + competitive with Ona Systems' products. +Change Date: Four years from the date the Licensed Work is published. +Change License: MPL 2.0 + +For information about alternative licensing arrangements for the Licensed Work, +please contact licensing@ona.io. + +Notice + +Business Source License 1.1 + +Terms + +The Licensor hereby grants you the right to copy, modify, create derivative +works, redistribute, and make non-production use of the Licensed Work. The +Licensor may make an Additional Use Grant, above, permitting limited production use. + +Effective on the Change Date, or the fourth anniversary of the first publicly +available distribution of a specific version of the Licensed Work under this +License, whichever comes first, the Licensor hereby grants you rights under +the terms of the Change License, and the rights granted in the paragraph +above terminate. + +If your use of the Licensed Work does not comply with the requirements +currently in effect as described in this License, you must purchase a +commercial license from the Licensor, its affiliated entities, or authorized +resellers, or you must refrain from using the Licensed Work. + +All copies of the original and modified Licensed Work, and derivative works +of the Licensed Work, are subject to this License. This License applies +separately for each version of the Licensed Work and the Change Date may vary +for each version of the Licensed Work released by Licensor. + +You must conspicuously display this License on each original or modified copy +of the Licensed Work. If you receive the Licensed Work in original or +modified form from a third party, the terms and conditions set forth in this +License apply to your use of that work. + +Any use of the Licensed Work in violation of this License will automatically +terminate your rights under this License for the current and all other +versions of the Licensed Work. + +This License does not grant you any right in any trademark or logo of +Licensor or its affiliates (provided that you may use a trademark or logo of +Licensor as expressly required by this License). + +TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON +AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, +EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND +TITLE. \ No newline at end of file diff --git a/README.md b/README.md index 8cbcfff7d..aad5c5570 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,19 @@ -# OpenSRP FHIR Web +# fhir-web -[![codecov](https://codecov.io/gh/opensrp/web/branch/master/graph/badge.svg?token=EG3TX9MAM4)](https://codecov.io/gh/opensrp/web) +[![codecov](https://codecov.io/gh/onaio/fhir-web/branch/master/graph/badge.svg?token=EG3TX9MAM4)](https://codecov.io/gh/onaio/fhir-web) - + -OpenSRP FHIR Web is the default frontend for [OpenSRP HAPI FHIR Server](https://github.com/opensrp/hapi-fhir-jpaserver-starter), as well as a configuration dashboard for the [OpenSRP FHIR Core](https://github.com/opensrp/fhircore) mobile application. It provides access to healthcare data, configuration options, and other functionality provided by OpenSRP FHIR Server and OpenSRP FHIR Core. +fhir-web is the default frontend for the [HAPI FHIR Server](https://github.com/opensrp/hapi-fhir-jpaserver-starter), as well as a configuration dashboard for the FHIR-based version of [OpenSRP](https://github.com/opensrp/fhircore) mobile application. It provides access to healthcare data, configuration options, and other functionality provided by OpenSRP. ## Table of Contents --- -- [OpenSRP FHIR Web](#opensrp-fhir-web) +- [fhir-web](#fhir-web) - [Table of Contents](#table-of-contents) - [What is the FHIR Standard](#what-is-the-fhir-standard) - - [What is OpenSRP FHIR Core](#what-is-opensrp-fhir-core) + - [What is OpenSRP](#what-is-opensrp) - [Project Architecture](#project-architecture) - [Repository Setup](#repository-setup) - [Bootstrapping](#bootstrapping) @@ -36,15 +36,15 @@ OpenSRP FHIR Web is the default frontend for [OpenSRP HAPI FHIR Server](https:// HL7 Fast Healthcare Interoperability Resources (`FHIR`), is a standard to enable quick and efficient representation and exchange of health care data, including clinical and administrative data, by digital health systems. -## What is OpenSRP FHIR Core +## What is OpenSRP -OpenSRP FHIR Core is a Kotlin application for delivering offline-capable, mobile-first healthcare project implementations from local community to national and international scale using FHIR and the WHO Smart Guidelines on Android. +OpenSRP is a Kotlin application for delivering offline-capable, mobile-first healthcare project implementations from local community to national and international scale using FHIR and the WHO Smart Guidelines on Android. ## Project Architecture -OpenSRP FHIR Web consumes FHIR resources from the[ OpenSRP HAPI FHIR server](https://github.com/opensrp/hapi-fhir-jpaserver-starter). Both OpenSRP FHIR Web and OpenSRP HAPI FHIR server use a [Keycloak Server](https://hub.docker.com/r/onaio/keycloak) for authentication (Oauth 2.0). On top of the React Js web application, there is a tiny [Express JS Server](https://github.com/onaio/express-server) that is bundled together with OpenSRP FHIR Web that handles both authentication and serving the compiled FHIR Web files. For All Intents and Purposes, both the Express and the React Js apps are bundled together and collectively referred to as the OpenSRP FHIR Web. +fhir-web consumes FHIR resources from the[ OpenSRP HAPI FHIR server](https://github.com/opensrp/hapi-fhir-jpaserver-starter). Both fhir-web and the HAPI FHIR server use a [Keycloak Server](https://hub.docker.com/r/onaio/keycloak) for authentication (Oauth 2.0). On top of the React JS web application, there is a tiny [Express JS Server](https://github.com/onaio/express-server) that is bundled together with fhir-web that handles both authentication and serving the compiled fhir-web files. For All Intents and Purposes, both the Express and the React JS apps are bundled together and collectively referred to as the fhir-web. ## Repository Setup @@ -81,7 +81,7 @@ This repository is a monorepo bootstrapped with [Lerna](https://github.com/lerna ## Deployments -We use different technologies to deploy OpenSRP FHIR Web. +We use different technologies to deploy fhir-web. ### Prerequisites @@ -92,18 +92,16 @@ We use different technologies to deploy OpenSRP FHIR Web. ### 1. Docker -- [FHIR Web Docker Deployment Documentation](/docs/fhir-web-docker-deployment.md). - -- [OpenSRP Web Docker Deployment Documentation](/docs/opensrp-web-docker-deployment.md). +- [fhir-web Docker Deployment Documentation](/docs/fhir-web-docker-deployment.md). ### 2. Kubernetes -- [FHIR Web and OpenSRP Web Kubernetes Helm Chart](https://github.com/opensrp/helm-charts/tree/main/charts/opensrp-web). +- [fhir-web Kubernetes Helm Chart](https://github.com/opensrp/helm-charts/tree/main/charts/opensrp-web). ### 3. Ansible -- [OpenSRP Web Ansible Playbook](https://github.com/opensrp/playbooks/blob/master/web.yml) - - Run an OpenSRP Web deployment with certbot, react, express, and nginx. +- [fhir-web Ansible Playbook](https://github.com/opensrp/playbooks/blob/master/web.yml) + - Run an fhir-web deployment with certbot, react, express, and nginx. - You'll need accompanying ansible inventories ## Configuration diff --git a/docs/fhir-web-docker-deployment.md b/docs/fhir-web-docker-deployment.md index 5fb4ae2af..43d065496 100644 --- a/docs/fhir-web-docker-deployment.md +++ b/docs/fhir-web-docker-deployment.md @@ -1,6 +1,6 @@ -# FHIR WEB DOCKER DEPLOYMENT +# fhir-web docker deployment -We use different technologies to deploy OpenSRP FHIR Web. This documentation will focus on [Docker](https://www.docker.com/) +We use different technologies to deploy fhir-web. This documentation will focus on [Docker](https://www.docker.com/) ## Prerequisites @@ -16,7 +16,7 @@ We use different technologies to deploy OpenSRP FHIR Web. This documentation wil --- -- Whenever we cut a [FHIR web release](https://github.com/opensrp/web/releases) we use [github actions](/.github/workflows/docker-publish.yml) to build, tag, and push a docker image based on our [Dockerfile](/Dockerfile) specification to [docker hub](https://hub.docker.com/r/opensrp/web/tags) +- Whenever we cut a [fhir-web release](https://github.com/opensrp/web/releases) we use [github actions](/.github/workflows/docker-publish.yml) to build, tag, and push a docker image based on our [Dockerfile](/Dockerfile) specification to [docker hub](https://hub.docker.com/r/opensrp/web/tags) - This means that all our releases have a corresponding docker image on docker hub ready for use. E.g [release v2.3.4](https://github.com/opensrp/web/releases/tag/v2.3.4) has the corresponding [docker image tag v2.3.4](https://hub.docker.com/layers/opensrp/web/v2.3.4/images/sha256-de13e5482194d76fd22980e73cda0e4f77d6b59aab868130dea24c3b609aa312?context=explore) diff --git a/docs/opensrp-web-docker-deployment.md b/docs/opensrp-web-docker-deployment.md deleted file mode 100644 index 27aaf7b85..000000000 --- a/docs/opensrp-web-docker-deployment.md +++ /dev/null @@ -1,147 +0,0 @@ -# OpenSRP WEB DOCKER DEPLOYMENT - -[OpenSRP Web](https://github.com/opensrp/web) is the default frontend for [OpenSRP Server](https://hub.docker.com/r/opensrp/opensrp-server-web); providing access to the data collected on the server, configuration options as well as any functionality provided by the API server. - -## What is OpenSRP? - -OpenSRP is an open-source, mobile-first platform, built to enable data-driven decision making at all levels of the health system. - -## How to use the image? - -### Prerequisites - -For OpenSRP web to work, you need a running OpenSRP server instance. - -OpenSRP web is configured as follows: - -1. [config.js.tpl](https://github.com/opensrp/web/blob/master/app/public/config.js) - A docker volume that holds all react app configurations. - - - sample format (update `< >` with your configurations) - - ```js - window._env_ = { - // keycloak - REACT_APP_KEYCLOAK_API_BASE_URL: '/auth/admin/realms/', - REACT_APP_KEYCLOAK_LOGOUT_URL: - '/auth/realms//protocol/openid-connect/logout', - REACT_APP_OPENSRP_ACCESS_TOKEN_URL: - '/auth/realms//protocol/openid-connect/token', - REACT_APP_OPENSRP_AUTHORIZATION_URL: - '/auth/realms//protocol/openid-connect/auth', - REACT_APP_OPENSRP_CLIENT_ID: '', - REACT_APP_OPENSRP_USER_URL: - '/auth/realms//protocol/openid-connect/userinfo', - - // OpenSRP web - REACT_APP_WEBSITE_NAME: '', - REACT_APP_OPENSRP_WEB_VERSION: '', - REACT_APP_DOMAIN_NAME: '', - REACT_APP_EXPRESS_OAUTH_GET_STATE_URL: '/oauth/state', - REACT_APP_EXPRESS_OAUTH_LOGOUT_URL: '/logout', - - // OpenSRP server - REACT_APP_OPENSRP_API_BASE_URL: '/opensrp/rest/', - REACT_APP_OPENSRP_API_V2_BASE_URL: '/opensrp/rest/v2/', - REACT_APP_OPENSRP_LOGOUT_URL: '/opensrp/logout.do', - - // UUID's - REACT_APP_DEFAULT_PLAN_ID: '', - REACT_APP_ACTION_UUID_NAMESPACE: '', - REACT_APP_PLAN_UUID_NAMESPACE: '', - - // toggle OpenSRP web modules - REACT_APP_ENABLE_CARD_SUPPORT: 'false', - REACT_APP_ENABLE_INVENTORY: 'false', - REACT_APP_ENABLE_LOCATIONS: 'false', - REACT_APP_ENABLE_PLANS: 'false', - REACT_APP_ENABLE_PRODUCT_CATALOGUE: 'false', - REACT_APP_ENABLE_REPORTS: 'false', - REACT_APP_ENABLE_SERVER_SETTINGS: 'false', - REACT_APP_ENABLE_TEAMS: 'false', - REACT_APP_ENABLE_TEAMS_ASSIGNMENT_MODULE: 'false', - REACT_APP_ENABLE_USER_MANAGEMENT: 'false', - REACT_APP_ENABLE_FORM_CONFIGURATION: 'false', - - // optional overrides - SKIP_PREFLIGHT_CHECK: 'true', - GENERATE_SOURCEMAP: 'false', - INLINE_RUNTIME_CHUNK: 'false', - IMAGE_INLINE_SIZE_LIMIT: '0', - REACT_APP_MAIN_LOGO_SRC: - 'https://github.com/opensrp/web/raw/master/app/src/assets/images/opensrp-logo-color-40.png', - REACT_APP_OPENSRP_OAUTH_SCOPES: 'openid,profile', - REACT_APP_ENABLE_OPENSRP_OAUTH: 'true', - REACT_APP_BACKEND_ACTIVE: 'true', - REACT_APP_SUPPORTED_LANGUAGES: 'en', - REACT_APP_PROJECT_CODE: 'demo', - REACT_APP_DEFAULTS_TABLE_PAGE_SIZE: '10', - REACT_APP_OPENSRP_ROLES: - '{"USERS":"ROLE_EDIT_KEYCLOAK_USERS","PLANS":"ROLE_VIEW_KEYCLOAK_USERS","LOCATIONS":"ROLE_VIEW_KEYCLOAK_USERS","CARD_SUPPORT":"ROLE_VIEW_KEYCLOAK_USERS","INVENTORY":"ROLE_VIEW_KEYCLOAK_USERS","TEAMS":"ROLE_VIEW_KEYCLOAK_USERS","PRODUCT_CATALOGUE":"ROLE_VIEW_KEYCLOAK_USERS","FORM_CONFIGURATION":"ROLE_VIEW_KEYCLOAK_USERS","SERVER_SETTINGS":"ROLE_VIEW_KEYCLOAK_USERS","MANAGE_REPORTS":"ROLE_MANAGE_REPORTS","DISTRICT_REPORT":"ROLE_DISTRICT_REPORT","GROUP":"ROLE_VIEW_KEYCLOAK_USERS"}', - - // optional sentry config - // REACT_APP_SENTRY_CONFIG_JSON: "{\"dsn\":\"\",\"environment\":\"\",\"release\":\"\",\"release-name\":\"\",\"release-namespace\":\"\",\"tags\":{}}", - }; - ``` - - additional settings can be found [here](https://github.com/opensrp/web/blob/master/app/.env.sample). - -2. Container Environment Variables - Express app configurations. Additional configs can be found [here](https://github.com/onaio/express-server/blob/master/.env.sample) - -Now using the image. - -- OpenSRP web tags correspond to [OpenSRP web releases here](https://github.com/opensrp/web/releases). It's advised to use the latest official release - -#### docker-compose.yml - -```yaml -version: '3.9' -services: - opensrp-web: - image: opensrp/web: - ports: - - '3000:3000' - volumes: - # volume with React environment variables - - ./config.js.tpl:/etc/confd/templates/config.js.tmpl - environment: - # optional overrides - - 'NODE_ENV=production' # 'NODE_ENV=development' if opensrp-web-base-url === http://localhost:3000 - - 'EXPRESS_ALLOW_TOKEN_RENEWAL=true' - - 'EXPRESS_REACT_BUILD_PATH=/usr/src/web' - - # keycloak - - 'EXPRESS_OPENSRP_CLIENT_ID=' - - 'EXPRESS_OPENSRP_CLIENT_SECRET=' - - 'EXPRESS_OPENSRP_ACCESS_TOKEN_URL=/auth/realms//protocol/openid-connect/token' - - 'EXPRESS_OPENSRP_AUTHORIZATION_URL=/auth/realms//protocol/openid-connect/auth' - - 'EXPRESS_KEYCLOAK_LOGOUT_URL=/auth/realms//protocol/openid-connect/logout' - - 'EXPRESS_OPENSRP_USER_URL=/auth/realms//protocol/openid-connect/userinfo' - - # OpenSRP server - - 'EXPRESS_OPENSRP_LOGOUT_URL=/opensrp/logout.do' - - # OpenSRP web - - 'EXPRESS_OPENSRP_CALLBACK_URL=/oauth/callback/OpenSRP/' - - 'EXPRESS_FRONTEND_OPENSRP_CALLBACK_URL=/fe/oauth/callback/opensrp' - - 'EXPRESS_SERVER_LOGOUT_URL=/logout' - - # UUID's - - 'EXPRESS_SESSION_SECRET=' - - # content security policy configuration - # remove optional-sentry-base-url config block if your deployment has no sentry - - 'EXPRESS_CONTENT_SECURITY_POLICY_CONFIG={"connect-src":["''self''","","",""],"default-src":["''self''"],"img-src":["''self''","https://github.com/opensrp/","https://*.githubusercontent.com/opensrp/"]}' - - # optional sentry config - # - 'EXPRESS_RESPONSE_HEADERS={"report-to":", {endpoints:[{url:https:///api//security/?sentry_key=\\u0026sentry_environment=\\u0026sentry_release=}],group:csp-endpoint,max_age:10886400}"}' - - # optional redis and redis sentinel session store config (use either or neither not both) - # - 'EXPRESS_REDIS_STAND_ALONE_URL=redis://username:password@redis-base-url:port/db' - # - 'EXPRESS_REDIS_SENTINEL_CONFIG={"name":"sentinelMasterName","sentinelPassword":"sentinelMasterPassword","sentinels":[{"host":"sentinel-node-1-base-url","port":"12345"},{"host":"sentinel-node-2-base-url","port":"12345"},{"host":"sentinel-node-3-base-url","port":"12345"}]}' -``` - -And to run it - -```bash -docker-compose up -```