A Medplum docker image that you can use to run your local development againt it.
Differences with the current (as of 2023-02-27) official medplum docker image:
- Runs BOTH the server AND the front-end app concurrently, so that once it's started you can connect to the app right away
- Automatically seeds a
ClientApplication
with default, stable credentials in addition to the default medplum user
DO NOT USE IN PRODUCTION.
This image exists to support local development workflows easily. The fact that it has a default application configured means that you should never use this in production.
Create a docker-compose.yml
file with the following content:
services:
medplum:
image: ghcr.io/bonfhir/medplum-devbox:latest
depends_on:
- redis
- postgres
ports:
- '3000:3000'
- '8103:8103'
volumes:
- ./medplum.config.json:/usr/src/medplum/packages/server/medplum.config.json
postgres:
image: postgres:12-bullseye
command: postgres -c config_file=/usr/local/etc/postgres/postgres.conf
environment:
- POSTGRES_USER=medplum
- POSTGRES_PASSWORD=medplum
ports:
- '5432:5432'
volumes:
- postgres_data:/var/lib/postgresql/data
- ./postgres.conf:/usr/local/etc/postgres/postgres.conf
- ./load_extensions.sql:/docker-entrypoint-initdb.d/load_extensions.sql
redis:
image: redis:6-bullseye
command: redis-server --requirepass medplum
ports:
- '6379:6379'
volumes:
postgres_data:
Example of content for the volume-mounted files can be found here:
http://localhost:3000
: Medplum apphttp://localhost:8103
: Medplum server
- Username: admin@example.com
- Password: medplum_admin
- Client ID: f54370de-eaf3-4d81-a17e-24860f667912
- Client Secret: 75d8e7d06bf9283926c51d5f461295ccf0b69128e983b6ecdd5a9c07506895de
- Redirect URI: http://localhost:1234/