Mertis MertisTurnera Tech
2029 Jira Data Center reaches end of life

The bug tracker you actually own.

Your servers. Your database. AI on your own API key. One flat price per instance.

Your servers. Your key. One flat price.

$790/yr, per instance
$0per seat, self-hosted
100%data stays yours
bugs.yourcompany.internal/mertis
A project bug list: ten defects with id, type, title, status, severity, priority and assignee.
◈
GitHubCommit → SM-0147
⚡
One licenceSeats cost nothing
Runs on what you already have
The maths

Per-seat pricing is a tax on hiring.

Annual cost for a 25-person team, at published list prices.

A 25-person team pays $790. So does a 250-person team. Same licence. Same line in the budget.

Self-hosted buyers are cornered. Jira Data Center is retired in March 2029, Linear has never shipped a self-hosted build, and YouTrack ended perpetual licences in 2026. Mertis is the modern tracker that still installs on hardware you control.

Published list prices, checked September 2026: Linear Business $16/user/mo billed annually · Jira Cloud Standard ≈ $7.91/user/mo · YouTrack Cloud $4.50/user/mo billed annually. Mertis Professional is $790/yr for the instance, up to its 500-user licence cap.

Linear Business25 seats
$4,800
Jira Cloud Standard25 seats
$2,373
YouTrack Cloud25 seats
$1,350
Mertis Professionalone instance
$790

A complete tracker, not a stripped free tier.

Tap a card for the detail. The free edition caps size and holds back the premium features; the whole triage workflow is there.

Tap a card for detail.

🐞

Every bug names an owner

Assignee, reporter, QA owner — and who it's blocked on.

Severity, priority, type and status on every record, plus an Action-Required-By field so a bug always names the person it is waiting on. Per-project IDs keep references readable across teams.

SM-0147 · RM-0042
🔒

Role-based visibility

Engineers see their bugs. Admins see everything.

Three roles — user, admin, godmode. A user only sees bugs they own, reported, QA, or are blocking, so the security backlog is never exposed by accident.

JWT auth · per-project membership
🧾

Full audit trail

Every change and comment, with actor and timestamp.

Field-level history on every bug, attachments carrying provenance, and an export you can hand an auditor without a support ticket.

bug_activity · full history
📊

Live dashboards

Project health, ageing criticals, load per owner.

Role-aware, so an engineer's dashboard isn't the VP's dashboard. Open-vs-resolved trend, severity mix and per-project drill-down out of the box.

/api/analytics/overview
📄

Executive PDF reports Pro

Charts plus written commentary, on a schedule.

Generated on demand or mailed on a schedule through your own SMTP relay, from your own domain. Board packs stop being a Monday-morning chore.

Scheduled email · your mail server
✍️

Rich descriptions

Sanitised HTML, inline images, attachments that scale.

Attachments land on local disk, S3, Azure Blob, SharePoint or Supabase — chosen per deployment. Community and Team are capped at 5 MB and 25 MB; S3 starts at Team and the remaining backends at Professional.

Sanitised · provider-agnostic
bugs.yourcompany.internal/mertis/pulse
Pulse reporting that the board is 78 percent firefighting, with an interrupt budget gauge at 57 percent and median dwell time per station.
Pulse reads the board you already keep. Every number comes from transitions that already happened.
Plain-English search

Describe the symptom. Find the bug.

Nobody remembers ticket IDs. Search the way the bug was actually reported — in a sentence — and Mertis returns the matching defects and the near-duplicates you were about to file again.

⌕login spins forever on Safari after SSO
SM-0147Session loop after SSO redirect94%
SM-0121Auth cookie dropped on Safari 1788%
  • ✓No ticket ID, no keyword roulette, no query language to learn.
  • ✓Support can search in the words the customer used.
  • ✓Catches the duplicate before a second engineer starts triage.

Runs on your own API key or a local model, on your server — the query and the bug text never leave your network. Professional

AI without the data exit

AI that reads your bugs. On your key.

Every other tracker's AI ships your defect history to their cloud. Mertis calls the model from your server, with your key.

Your server. Your key. No credits.

  • ✓Risk & pattern insights — which modules are decaying.
  • ✓Duplicate detection — before a second engineer starts.
  • ✓Report commentary — the paragraph above the chart.
  • ✓Private LLM endpoints — vLLM, Azure OpenAI, Ollama. Ent. Plus
# .env — your server
OPENAI_API_KEY=sk-••••••
OPENAI_BASE_URL=https://llm.internal/v1

# what leaves your network
→ nothing.
# .env — on your server, in your VPC
DATABASE_PROVIDER=postgres
DEFAULT_STORAGE=s3
OPENAI_API_KEY=sk-••••••••••••   # yours
OPENAI_BASE_URL=https://llm.internal/v1

# what leaves your network
→ nothing.

# health check
$ curl localhost:5000/api/health
{ "status": "ok",
  "storage": { "type": "postgres",
                "connected": true },
  "fileStorage": { "default": "s3" } }

It meets the team where the work is.

No marketplace to browse, no per-connector billing.

🐙

GitHub

Commits link themselves to bugs.

Mention SM-0147 in a commit message and the bug picks up the reference, the author and a diff link on its timeline.

📋

Trello

Two-way board sync.

A card moves and the bug status follows; a new bug can spawn a card on the right list. Mapped per project, with its own dashboard.

🔗

Signed webhooks

HMAC-signed outbound events.

Push bug events into your warehouse, a Slack relay or an internal service. One endpoint on Community, three on Team, unlimited from Professional.

🧩

Plugins

One file, not a fork.

Drop a file into server/plugins/ and the loader picks it up. Most "can it integrate with X?" answers are a plugin, not a code change.

🛠️

REST API

Everything the UI can do.

Bugs, projects, users, analytics and attachments over JWT-authenticated REST. Read-only on Community, full access from Team upward.

✉️

Your SMTP

Your relay, your domain. Pro

Scheduled reports leave from your own mail server with your DKIM — no third-party sender in the middle of your bug traffic. Scheduled email is a Professional feature and needs MySQL or PostgreSQL, not CSV mode.

🩺

Health endpoint

One URL for monitoring.

/api/health reports storage type, database connection and file providers — wire it straight into your existing monitoring.

📤

Export

On every plan, including free.

An admin downloads the instance as JSON, or one project's bugs as CSV, from Admin or the bug list. Same on MySQL, PostgreSQL and CSV. It is not a paid feature.

Pick your database. Pick your storage.

Chosen by environment variable, changed from the admin UI — application code never knows.

Database

DATABASE_PROVIDER=auto

🐬MySQL 8production
🐘PostgreSQL 15+production
⚡Supabasemanaged pg
📄CSV filesno database

Attachments

DEFAULT_STORAGE=s3

💾Local disklocal
🪣Amazon S3s3
☁️Azure Blobazure
🏢SharePointsharepoint
⚡Supabase Storagesupabase

Four steps, one evening.

Register

Free key, issued instantly.

Install

npm run dev, Node 16+.

Wizard

DB, storage, admin account.

Activate

Paste the key. Verified offline.

Two ways to run it

Your infrastructure, or ours.

Available now

Self-hosted

Install on your own server, VPS or on-prem hardware. You keep the database, the buckets and the model keys.

  • Your servers, your database, your object storage
  • AI and plain-English search run on your own API key
  • Flat price per instance — extra seats cost nothing
  • Offline licence activation; air-gapped installs supported
  • Instance JSON or project CSV, including the free plan
Get a free key →
In development

Managed Cloud

We host, patch, monitor and back it up. Not launched yet — the waitlist is open and shapes what ships first.

  • Hosting, upgrades and daily backups handled by Turnera Tech
  • The Professional feature set, managed
  • No hosted install yet, so nothing to migrate off
  • The only per-seat SKU, because we carry the hosting bill
  • Pricing not published yet; nothing to buy today
Join the waitlist →

Four promises we won't quietly change.

🏠Data stays home

Bugs never leave your servers.

📤Export on every plan

Instance JSON or project CSV, including free.

🛟Expiry never bricks

14-day grace, then data stays editable.

📴No telemetry

Licences verify offline. One daily renewal check, switchable off.

Sovereign by default, not by upgrade.

Most vendors sell independence as the expensive plan. Every claim below is true on the free tier, and every one has a check you can run yourself.

True on the free tier. Each one has a check you can run yourself.

Cut the network. It keeps working.

Take the machine offline and restart. Mertis comes up on the same tier, because the licence is an ES256 token checked against a public key compiled into the build. Verification never touches the internet.

An air-gapped install never calls out.

Paste a signed token at setup instead of a key. That install makes no outbound request, on any day, for any reason.

The one call that exists has an off switch.

An install activated with a TT- key asks once a day whether its expiry has moved. Set LICENSE_AUTO_REFRESH=false and even that stops. Nothing else changes.

The database is yours, down to the file.

DATABASE_PROVIDER=csv keeps every bug as plain CSV under server/data, readable with cat. Point it at MySQL or PostgreSQL and it is your instance, your backups, your region.

Your model, your endpoint, your key.

OPENAI_BASE_URL points the AI features at a model running on your own hardware. Leave the key unset and there is no AI call to make. Your bug text is never ours to see.

None of this is a tier. It is how the free Community Edition already behaves, and how the paid plans behave too.

Source-available, and honest about it.

Mertis ships under the Business Source License 1.1. You can read the code, patch it and run it. It is not OSI open source, and we will not call it that.

BSL 1.1. Read it, patch it, run it. Not OSI open source.

The whole source, not a demo build.

Every line that runs on your server is readable. Audit it, patch it, fork it for your own use. What you may not do is remove the licence checks or resell it as a hosted service.

Free production use, not a trial.

Community Edition is free in production forever within its limits: 5 users, 3 projects, 250 bugs per instance. No expiry, no card, no feature clock running down.

Every release turns into Apache 2.0.

Four years after a version is published it converts to the Apache License 2.0 automatically. The licence is a delay, not a cage, and that conversion is written into the file rather than promised in a blog post.

Not the GPL tracker with a similar name.

Mertis is an independent React 18 and Node codebase with its own licensing, AI layer and integrations. Different code, different licence, different company.

Flat per instance. Bring the whole team.

Self-hosted is priced per running instance. Managed Cloud is the only per-seat product.

2 months free on annual

Community

Solo devs and evaluations.
$0forever
No card. No expiry.
Per instance
  • 5 users · 3 projects
  • 250 bugs
  • GitHub · data export
  • Full tracking, roles & activity log
  • 5 MB attachments · 1 webhook
  • Local disk or CSV storage
  • Read-only REST API
  • AI insights
  • Scheduled reports
Get the free key

Team

Startups past the free caps.
$290/year
$29/mo billed monthly
Per instance
  • 25 users · 15 projects
  • 5,000 bugs · S3 storage
  • Full REST API
  • 25 MB attachments · 3 webhooks
  • Basic reporting
  • Custom fields
  • Email support, 3 business days
  • AI insights
Talk to sales

Professional

Teams replacing Jira. The AI plan.
$790/year
$79/mo billed monthly
Per instance
  • Up to 500 users · unlimited projects & bugs
  • AI insights on your own key
  • Plain-English search by symptom
  • AI duplicate detection
  • Advanced PDF & scheduled email reports
  • Every storage backend
  • Free staging instance
  • Unlimited webhooks · custom workflows
  • Unlimited attachment size
  • Priority support, 1 business day
Talk to sales →

Business

Multi-instance, audit trail, procurement.
$1,990/year
$199/mo billed monthly
3 instances
  • Everything in Professional
  • Audit log export
  • 3 production instances
  • Advanced permissions
  • Staging instance included
  • SSO / SAML — in development, not shipped
  • Priority support, 8 business hours
  • Security-questionnaire assistance
Talk to sales
Agency

$1,490/yr — 10 client instances, one master licence.

Pricing →
Enterprise

Unlimited instances, SLA, PO billing.

Talk to us →
Enterprise Plus

Air-gapped, private LLM, compliance pack.

Talk to us →
Managed Cloud

We host it. Per seat, not yet launched.

Waitlist →
Pricing notes — licence caps, INR, how to buy

Professional is capped at 500 users and Business at 2,000 — the caps are written into the licence, and no legitimate team gets close. INR list prices apply to Indian customers. There is no self-serve checkout yet: every purchase is invoiced directly by Turnera Tech, so talk to sales for payment methods and tax handling. Prices exclude applicable taxes.

Head to head

Different physics, not a longer feature list.

Published list prices, checked September 2026.

Swipe to compare.

 MertisJira CloudLinearYouTrack
Billing unitPer instancePer seatPer seatPer seat
Cost · 25 people / yr$790≈ $2,373$4,800$1,350
Cost · 100 people / yr$790≈ $9,492$19,200$5,400
Self-hosted✓ first-classDC ends 2029✕ never✓ server
Plain-English symptom search✓ on your keyKeyword + JQLKeywordQuery syntax
AI on your own key✓ zero creditsVendor cloudVendor cloudMetered credits
Private LLM / air-gap✓ Ent. Plus only✕✕✕
Bug data leaves your networkNeverAlwaysAlwaysCloud tiers
Offline licence activation✓ key file✕✕Server tiers
Export on the free tier✓LimitedLimited✓
Modern UI & dashboards✓ React 18✓✓✓
vs Jira Cloud

Standard, 25 seats

Cost · 25 people$790$2,373
Cost · 100 people$790$9,492
Self-hosted✓ first-classDC ends 2029
AI on your key✓ zero creditsVendor cloud
Plain-English search✓ by symptomKeyword + JQL
Bug data leaves networkNeverAlways
vs Linear

Business, 25 seats

Cost · 25 people$790$4,800
Cost · 100 people$790$19,200
Self-hosted✓ first-classNever
AI on your key✓ zero creditsVendor cloud
Plain-English search✓ by symptomKeyword
Air-gapped install✓✕
vs YouTrack

Cloud, 25 seats

Cost · 25 people$790$1,350
Cost · 100 people$790$5,400
Billing unitPer instancePer seat
AI on your key✓ zero creditsMetered
Perpetual licencesFlat annualRetired 2026
← swipe →
Comparison notes & trademarks

Competitor figures are published list prices checked in September 2026 — Linear Business $16/user/mo billed annually, Jira Cloud Standard ≈ $7.91/user/mo, YouTrack Cloud $4.50/user/mo billed annually — and vendors change them without notice, so recompute before you buy. Mertis costs $790/yr for one instance regardless of headcount, up to the 500-user licence cap. Jira, Linear and YouTrack are trademarks of their respective owners, named here for comparison only.

Key first. Server second.

Give us an email address and a free Community key lands in your inbox. No account, no password, no card.

Free key, emailed to you.

Issued by license.turneratech.com. Your email address only — never your bug data.

Then, on your own machine

git clone https://github.com/turneratech/mertis.git
cd mertis && cp .env.example .env
npm run install-all

# fastest path: no database at all
DATABASE_PROVIDER=csv npm run dev

http://localhost:3000/mertis
  • Node 16+; MySQL or PostgreSQL optional — CSV mode needs no database.
  • Move from CSV to Postgres later from the Deployment screen, no reinstall.
  • Guides for EC2, Nginx, Supabase, S3 and Azure ship in docs/.
  • Paste the emailed key (TT-…) into the setup wizard; your Mertis admin login is created there, separately.

What procurement actually asks.

What happens when a licence expires?

A 14-day grace period with an in-app banner. After that, premium features switch off and Community limits apply to newly created objects only. Every existing bug stays readable, editable and exportable. We do not lock data behind a renewal.

Does Mertis phone home?

No telemetry, no usage data, no analytics — ever. Licence keys are ES256-signed JWTs verified locally against a public key compiled into the build, so verification never needs the network and an air-gapped install works out of the box. There is exactly one outbound call: an install activated with a TT- key re-checks once a day for a renewed expiry, sending its licence key and install ID and nothing else. Activate with an offline token and Mertis never calls out at all. Switch the daily check off with LICENSE_AUTO_REFRESH=false — the licence then expires rather than renewing.

Do we pay per user?

Not on self-hosted. Community, Team, Professional, Business and Agency are priced per instance. Managed Cloud is per seat, because we carry the hosting cost there.

Where does the AI run?

On your server, calling the model with your own API key. Turnera Tech sees neither prompt nor response. Point OPENAI_BASE_URL at an internal vLLM, Azure OpenAI or Ollama endpoint and nothing leaves your network.

Can we migrate off Jira?

Yes — a fixed-fee service, typically up to 50,000 issues including attachments and history mapping. Send sales an export sample and we'll scope it before you commit.

Can we buy in INR?

Yes — the INR list prices above are what Indian customers pay. Self-serve checkout is still being built, so purchases are invoiced directly by Turnera Tech at the moment; sales will confirm payment methods and tax handling when you order.

Your defects. Your database.

Run it on a laptop this afternoon. Decide with real data in it.