self-host Medplum on AWS ECS Fargate
# support
k
Hey folks — looking for a quick sanity check / shared experience. I’m trying to self-host Medplum on AWS ECS Fargate specifically because it’s the lowest-cost / lowest-ops AWS option (no EC2, no EKS). I’ve run into a consistent issue where the server falls back to medplum.config.json even when: MEDPLUM_CONFIG=env is set All required env vars are present The container starts correctly This seems tied to how ECS passes ENTRYPOINT / CMD vs Medplum’s CLI parsing — unless --config env is passed exactly right, it ignores env config. Before I go all-in on a custom Docker image, I wanted to ask: • Has anyone successfully run Medplum on ECS/Fargate without a custom image? • Is a custom image the expected approach here? • Are there docs or examples I may have missed? Not complaining — just trying to do this in the most cost-effective AWS way and learn from others’ experience. 🙏
Status update on AWS self-hosting (cost-conscious path) I wanted to share a brief update after several days working through a minimal AWS ECS deployment of Medplum. What works: Server boots, DB migrations run, structure definitions / value sets build RDS + S3 + ALB + ECS integration is solid Current blocker: Remaining infrastructure alignment issues around Redis topology vs Bull/ioredis expectations Specifically seeing Redis cluster behavior conflicts (CROSSSLOT / retry exhaustion) during worker jobs At this point it looks like a Redis configuration issue rather than an app-level problem, and I’m pausing to realign (likely single-node Redis) before continuing. Appreciate the work on Medplum — this exercise has already clarified a lot about what’s needed for cost-controlled self-hosting.
Here’s a **very short Discord version**: --- Medplum self-hosting on AWS (quick report) Got Medplum running stably on AWS for a low-volume “hello world” setup. Key lesson: Redis must be single-node (non-clustered) with eviction policy set to
noeviction
. Cluster mode caused
CROSSSLOT
, retries, and worker crashes. The eviction warning is not a crash, but should be fixed. Stack: ECS Fargate, RDS Postgres, ALB, S3, ElastiCache Redis. Cost: ~$5 on first stable day. Projected steady-state ~$100–130/month for always-on, TLS, persistent DB (no HA). Takeaway: Medplum is absolutely viable to self-host cheaply if you keep Redis simple and don’t overbuild early. ---
f
Hi @Kai , thank you for documenting your findings here for the Medplum community 🙏 !
53 Views