# Medplum Self-Hosting Guide

Medplum is an open source healthcare development platform that you can deploy in your own environment. This guide provides detailed instructions for self-hosting Medplum across various infrastructure options.

These guides are designed for DevOps engineers and system administrators who have experience managing production healthcare systems.

## Considerations

Thinking about self-hosting? Take a look at our [self-hosting vs. cloud guide](/content/docs/self-hosting/considerations/index.html) to help you decide if self-hosting is for you.

## Installation Options

### [Install on AWS](/content/docs/self-hosting/install-on-aws/index.html) (Recommended)
Deploy Medplum on Amazon Web Services using our industrial-strength AWS CDK and CloudFormation templates. This deployment option, which we use for our own hosted service, provides enterprise-grade scalability with automated setup of VPCs, ECS clusters, load balancers, and other critical infrastructure components.

### [Install on Ubuntu](/content/docs/self-hosting/install-on-ubuntu/index.html)
Deploy Medplum directly on Ubuntu servers using our official APT repository ([apt.medplum.com](https://apt.medplum.com/)). This production-ready configuration offers a streamlined installation process while maintaining full control over your infrastructure.

### [Install on GCP](/content/docs/self-hosting/install-on-gcp/index.html) (Beta)
Deploy Medplum on Google Cloud Platform using our Terraform configurations. Validated for production use, this deployment option provides a robust foundation, but offers a less-automated setup and requires additional operational expertise.

### [Install on Azure](/content/docs/self-hosting/install-on-azure/index.html) (Beta)
Deploy Medplum on Azure using our Terraform configurations. Validated for production use, this deployment option provides a robust foundation, but offers a less-automated setup and requires additional operational expertise.

### [Install from Scratch](/content/docs/self-hosting/install-from-scratch/index.html)
Learn how to build and deploy Medplum from source code on bare metal infrastructure. This option provides an in-depth understanding of Medplum's architecture and components, making it ideal for educational purposes or custom deployments.

## Additional Resources
- Explore [self-hosting articles](/content/blog/tags/self-host/index.html) on the Medplum blog
- Track [self-hosting features and improvements](https://github.com/medplum/medplum/pulls?q=is%3Apr+label%3Aself-host) on GitHub

- [Installation Options](/content/docs/self-hosting#installation-options/index.html)
    - [Install on AWS (Recommended)](/content/docs/self-hosting#install-on-aws-recommended/index.html)
    - [Install on Ubuntu](/content/docs/self-hosting#install-on-ubuntu/index.html)
    - [Install on GCP (Beta)](/content/docs/self-hosting#install-on-gcp-beta/index.html)
    - [Install on Azure (Beta)](/content/docs/self-hosting#install-on-azure-beta/index.html)
    - [Install from Scratch](/content/docs/self-hosting#install-from-scratch/index.html)
- [Additional Resources](/content/docs/self-hosting#additional-resources/index.html)
