Internal Tools experimental 4 services 5.5 GiB RAM 20 GB disk

Open Mercato

The AI-engineering foundation framework - multi-tenant CRM/ERP/commerce modules that start your business app at 80% done.

One-click deploy, from $49/mo on a Miget plan.

Open Mercato is built on an observation about AI-assisted teams: code assistants generate code fine, but someone still has to decide where it goes. The framework ships those decisions - module layout, multi-tenancy, RBAC, event flow, CRM/ERP/commerce domain models - as conventions and specs checked into the repo, so agents (and juniors) extend it without reinventing architecture.

Practically, you get business-app building blocks at "80% done": CRM entities, sales pipeline, order management, dynamic forms, organization trees, feature-flag RBAC - on a modern stack (Next.js, TypeScript, MikroORM) with Postgres+pgvector, a Valkey cache, and Meilisearch behind it.

This template mirrors the official full-app topology. Upstream publishes no images yet, so the app builds from the official repo on deploy - which is also why this one wears the experimental badge: pre-1.0, moving fast, and very much worth watching.

#what you get

  • CRM/ERP/commerce domain modules: customers, pipeline, orders, CPQ
  • Multi-tenant with organization trees and feature-based RBAC
  • Dynamic entities and forms managed live from the admin
  • AI-agent-ready repo: specs and skills ship with the code
  • Postgres + pgvector, Valkey cache, Meilisearch wired in
  • MIT licensed - no per-seat pricing trap by design

#topology

ServiceRolePublic
appNext.js app + admin at /backend (:5000)yes
dbPostgres + pgvector (extension required - not the managed Postgres)no
cacheValkey, bounded LRU cacheno
searchMeilisearch v1.11no

#miget sizing

// this stack needs

5.5 GiB RAM · 20 GB disk · 4 services

The Next.js app wants real heap (2.5 GB allocated); first deploy builds the monorepo from source, so expect a long initial build. Pin a commit in compose.yaml for reproducible deploys.

Hobby - recommended fit

$49/mo

4 vCPU · 8 GiB · 160 GiB disk

Headroom for your own apps: 16 GiB at $97/mo

Professional - production

$85/mo

4 vCPU · 8 GiB · 50 GiB disk

Dedicated resources, production SLOs - plan details

One Miget plan is a fixed pool of compute - the whole stack (managed databases included) deploys inside it, and anything left over runs your other apps. No per-service or per-seat math.

#vs. other PaaS

Estimated monthly cost of running this exact stack (5.5 GiB RAM, 20 GB disk, 4 containers) elsewhere, from published June 2026 rates.

PlatformEst. monthlyNotes
Miget $49 flat compose stacks first-class: one deploy, dedicated vCPU, managed Postgres/Valkey, volumes and TLS all included in the plan
Heroku ~$275 no volumes; nothing between 1 GB ($50) and 2.5 GB ($250) dynos - 2 GB containers cost far more than shown
Render ~$74 per-service instances (0.5 GB $7, 2 GB $25) - every container is its own paid service
DO App Platform ~$71 no persistent volumes - stateful containers need managed DBs/Spaces (base $5 Spaces included here)
Railway ~$58 usage-based ($10/GB RAM-mo); vCPU billed separately at $20/vCPU-mo on top
Fly.io ~$35 cheapest sticker price - but burstable shared CPUs (1/16 core; dedicated vCPUs cost ~2-3×), no compose deploys (one app per container, manual wiring), managed DBs billed extra

Estimates assume RAM fully allocated at published on-demand rates - and sticker price isn't the whole comparison: the cheaper rows buy burstable shared CPUs, per-service wiring instead of a compose deploy, and managed databases billed separately. Heroku and DO App Platform have no persistent volumes at all - stateful stacks like this one need workarounds there.

#deploy it

On Miget

  1. Create a Compose Stack in app.miget.com pointing at the templates repository
  2. Set the stack path to open-mercato
  3. Set the required variables:
    • JWT_SECRET / MEILISEARCH_MASTER_KEY / TENANT_DATA_ENCRYPTION_KEY, core secrets (openssl one-liners in the template)
    • OM_INIT_SUPERADMIN_EMAIL / OM_INIT_SUPERADMIN_PASSWORD, superadmin created on first init
    • APP_URL, set to the app’s https domain after first deploy
  4. Deploy. Miget layers compose.miget.yaml (RAM, privacy, volumes, managed services) automatically

Locally first?

Every template is portable, vanilla Docker Compose - the Miget overrides are ignored locally:

git clone https://github.com/deployable-sh/stacks
cd miget-compose-templates/open-mercato
docker compose up -d

Same files, same behavior. The template README covers connection strings and scaling notes.

#faq

Is Open Mercato a shop, a CRM, or a framework?

A foundation framework with domain modules: you assemble CRM, ERP, B2B-portal, or commerce-backend apps from ready pieces and extend them - ideally with AI agents, which the repo structure is explicitly designed for. If you want a turnkey storefront, PrestaShop in this catalogue is that; Open Mercato is what agencies build bespoke systems on.

Why does it build from source?

Upstream publishes no container images yet (pre-1.0). The template uses a git build context against the official repo with their own Dockerfile, so deploys track upstream. Pin a tag or commit in compose.yaml once you go to production.

Why not the managed Postgres?

Open Mercato uses pgvector for its hybrid indexing and AI features, and managed Postgres offerings do not ship the extension - so the template runs the pgvector image as a private container with its own volume.

Who is behind it?

Catch The Tornado - the team of Piotr and Tomasz Karwatka, previously of Divante and Vue Storefront. MIT-licensed, launched 2025, moving quickly; treat version pins seriously and read upstream release notes before redeploying.

Ship Open Mercato today

One compose stack, 5.5 GiB of RAM, from $49/month flat, and it runs on your laptop with the same files.