To run the UDAP Dotnet Tutorial project using Docker Compose, follow these steps:
Ensure you have the following installed on your machine:
Extract the existing localhost dev cert certificate from the user keystore. The certificate friendly name is ASP.NET Core HTTPS development certificate.
During extraction include the private key and set the password to password.
Save the certificate in ${USERPROFILE}/.aspnet/https. This will allow docker-compose.override.yml to mount the certificate into the container.
If you have a EMR Direct issued client certificate you would like to add to the UdapEd Container can pick it up then save the certificate in the ./CertificateStore folder. This will allow docker-compose.yml to mount the certificate into the udaped container.
Second you will need to supply a password to open the P12 file via the SampleC environment variable. Create a docker-compose.override.yml file in the root of the repository with the following content:
services:
udaped:
environment:
- sampleKeyC=yourpassword-
Clone the Repository
Clone the
udap-dotnetrepository to your local machine if you haven't already: -
Build the solution
From root of repository run the following command:
dotnet build
-
Build and Run the Docker Containers
From the root of the repository, run the following command:
docker-compose up -
Or pull existing images from Github and avoid compiling the code
From the root of the repository, run the following command:
docker-compose -f docker-compose-github.yml up -
Access the Services
Once the containers are up and running, you can access the various services using the following URLs:
- FHIR Server: https://host.docker.internal:7017/fhir/r4
- UDAP Auth Server: https://host.docker.internal:5102
- UDAP IDP Server: https://host.docker.internal:5202
- If you need to regenerate certificates during the tutorial, follow the instructions in the README.md file to delete the existing database and restart the services.
- If you have Visual Studio installed, you can open the project and run the docker-compose.dcproj project to start the services.