Deploy Epure on Coolify (Docker Compose template)
One public Git resource, Docker Compose build pack, base directory deploy/templates/coolify. Two containers, generated passwords, HTTPS domain on port 8080.
On this pageShowHide
Coolify fits teams that already run a panel but want the same two-container Epure stack as docker compose up on a VPS — without Kafka, workers, or a marketplace export.
Coolify steps
- New resource → Public Git →
https://github.com/epure-sh/epure. - Build pack: Docker Compose.
- Base directory:
deploy/templates/coolify. - Docker Compose file:
docker-compose.yml. - Open service epure → Domains →
https://your-host:8080(container listens on 8080). - Deploy. Coolify fills
SERVICE_PASSWORD_*andSERVICE_URL_EPURE_8080from the compose file. GET /healthon the public origin →{"status":"ok"}.- Register at
/login, create a project, copy the DSN into your official Sentry SDK.
What the compose file runs
The template ships ghcr.io/epure-sh/epure plus postgres:16-alpine. Production flags set EPURE_ALLOW_EXAMPLE_PASSWORDS=0, three database roles (superuser, ingest, app), artifact volume on /data/artifacts, and HTTPS session cookies. Full file in the repo: deploy/templates/coolify/docker-compose.yml.
epure
- Role
- Ingest, API, embedded dashboard on :8080
postgres
- Role
- Issues, events, releases, RLS
| Dimension | Role |
|---|---|
| epure | Ingest, API, embedded dashboard on :8080 |
| postgres | Issues, events, releases, RLS |
After deploy
- SDK: keep
@sentry/*orsentry-sdk— change onlydsn. Migrate from Sentry. - Confirm
202on ingest, then an issue row: Verify. - JS/TS maps: Source maps.
- Other panels: One-click deploy article (Render, Railway, Dokploy).
Questions
Do I need a Coolify marketplace listing?
No. Import compose from the public GitHub repo. Marketplace publish is optional distribution, not a prerequisite.
Is this the same as the laptop docker-compose.yml in the repo root?
No. Root compose allows example DB passwords on localhost only. Coolify template and deploy/docker-compose.prod.yml require real passwords and a public HTTPS URL.