Docker resources to set up a PhEMA Workbench instance.
You'll need Docker and Docker Compose installed.
To run the workbench locally, first clone this repo:
git clone https://github.com/PheMA/phema-workbench-deploy.git && cd phema-workbench-deploy
Then spin up the containers with Compose:
PHEMA_WORKBENCH_CERTS_PATH=./certs PHEMA_WORKBENCH_HTPASSWD_PATH=./htpasswd docker compose up
The environment variables provided point to local, testing versions of the .htpasswd
file and SSL certificates. None of these should be used in a publicly-facing environment.
💡 You may have to run this a few times until it works, since container dependencies are not currently set up properly. Once Postgres is initialized it should start up first time every time.
Once the containers are all running, the following URLs should be accessible:
- https://workbench.local.phema.science:4321/ - The PhEMA Workbench app
- https://workbench.local.phema.science:4321/fhir - The FHIR server base URL
- https://workbench.local.phema.science:4321/hapi - The HAPI FHIR web overlay
💡 When running CQL, use the PhEMA Workbench CQL Executor server.
For the local instance, the default credentials are:
- Login: test
- Password: test
We have the ability to perform a production deploy protected by basic auth (for now). To do this, you need to set the following environment variables before running Compose:
PHEMA_WORKBENCH_HTPASSWD_PATH
: The path to thehtpasswd
file to use.PHEMA_WORKBENCH_ENV
: Set this toprod
to use thenginx-prod.conf
file, or create a new Nginx config file callednginx-whatever.conf
and set the variable towhatever
.
For example:
PHEMA_WORKBENCH_HTPASSWD_PATH=/opt/phema/workbench/.htpasswd PHEMA_WORKBENCH_ENV=prod docker-compose up