One control plane.
All your infrastructure.
Meteor is a self-hosted control plane for domains, DNS, mailboxes, sites, servers and AI-assisted content — across every project you run, behind one keyboard-first interface.
Stop tab-hopping between provider consoles.
Every project bleeds across 6+ provider dashboards. Meteor pulls every resource into one Postgres-backed source of truth — and lets you edit any of them in the same keyboard-first UI.
Everything you need to run a portfolio of projects.
Each module is a thin abstraction over a battle-tested provider — Cloudflare, Hetzner, MXroute, Coolify, Anthropic. Meteor never replaces them, it orchestrates them.
Projects
Project-centric root container. Everything else is a resource of a project.
- Custom color + icon
- Health rollup
- Tags & budgets
Domains
WHOIS, expiration tracking, attachment to Sites, full DNS lifecycle.
- Cloudflare API
- Expiry alerts
- SSL health
DNS
A / AAAA / CNAME / MX / TXT records with templates and inline editing.
- Template library
- Bulk apply
- pg_trgm search
Mailboxes
MXroute REST 2026 API: create, quota, forwarders, DKIM, audit.
- DKIM auto-pull
- IMAP migration
- Bulk create
Sites
Coolify + external + Static Studio. Env vars encrypted, deploys via webhook.
- Coolify v4
- Env reveal-via-reauth
- Webhook deploys
Servers
Hetzner Cloud VPS: snapshots, volumes, firewalls, floating IPs, networks.
- Inline metrics
- Rebuild from image
- LB read-only
AI Assistant
Claude Opus 4.7 / Sonnet 4.6 / Haiku 4.5 with docker sandbox + tools dispatcher.
- Streaming deltas
- Cost meters
- Branch + PR
Tilda Migration
Tilda → Studio or Astro+Decap. Block classifier, asset dedup, image webp.
- Studio target
- GitHub PR
- SHA-256 dedup
Activity & Audit
Global event stream, tsvector FTS, per-resource audit trail, JSONL archive.
- SSE real-time
- pg_trgm + GIN
- S3 archive >90d
Finance
P&L: revenue, ad spend, contractor pay, infra costs. Multi-currency, FX.
- Stripe revenue
- Anthropic Admin
- Telegram intake
Settings
API tokens (AES-256-GCM), notifications, sessions, backups.
- Reauth challenge
- Backups to S3
- Telegram bot
Static Studio
Self-hosted static sites with inline editor, AI generation, snapshots, forms.
- Monaco autosave
- Single-shot AI gen
- Form inbox
Edit static sites inline. Or generate them with Claude.
3-pane editor — file tree, Monaco with 1s autosave, live iframe preview. Wildcard DNS publishes every site at <slug>.sites.meteor.group within seconds. Auto-snapshots before every AI run.
- Form inbox with honeypot + spam scoring
- Custom domains via Traefik file-provider + LE HTTP-01
- Single-shot AI generation with cost cap
- Auto-snapshots: rollback to any point
src/pages/index.astro and src/styles/hero.css…Pricing component, reuse the hero gradient, and bind copy to a pricing.json data file so you can edit text without touching JSX.ai/pricing-table is live. 4 files changed, +182 / −6. Ready to open PR?Claude inside your repo. Sandboxed, streamed, audited.
Every AI session spins up a docker sandbox (1 CPU, 1 GB, no-new-privileges, every cap dropped) with a workspace bind mount. The model runs run_pnpm with an allowlisted verb set, commits to a fresh branch, opens a PR. You see the streaming deltas live.
- Opus 4.7 / Sonnet 4.6 / Haiku 4.5 picker per session
- Pre-flight token estimate + daily cap banner
- Retry from failed turn, edit caps mid-session
- Apply / Reject with diff viewer, then PR
Revenue, ad spend, contractors, infra — all in one ledger.
Stripe pulls revenue daily. Anthropic Admin API pulls AI costs. Hetzner / Cloudflare estimates infra. A Telegram bot lets you fire-and-forget contractor payments — Haiku parses the message into a categorised cost entry.
- Stripe revenue + fees split (gross / net / refund)
- Anthropic Admin daily pull, per-key project mapping
- Ad accounts: Google / Meta / LinkedIn / TikTok
- Multi-currency with daily FX, per-project budgets
- 12s agoAI committed ai/pricing-table4 files · +182 −6
- 2 mindmitry attached domain nurion.org→ nurion site
- 4 minCloudflare synced DNS unitpilot.ai6 records
- 12 minsystem created mailbox support@neolab.ae
- 38 minHetzner snapshot completed meteor-prod-0114.2 GiB
- 1 hsystem archived events > 90dactivity-2026-02.jsonl.gz · 12.4 MB
- 3 hmonitor SSL expiring sunair.ae30 days
Every action — yours, the system's, Claude's — captured live.
A single Postgres-backed event log with tsvector full-text search, trigram fuzzy match and a /sse/activity stream that pushes events to the UI in real time. Older than 90 days? JSONL.gz to S3.
- Per-resource and per-project drill-downs
- pg_trgm fuzzy substring match across types
- Notifications bell + Telegram email digest
- S3-archived JSONL with signed URLs
Cmd+K. Everything is one keystroke away.
Linear-style command palette wired into every action. Add a domain, create a mailbox, deploy a site, start an AI session — without leaving your keyboard. Fuzzy match on every resource via pg_trgm indexes.
cmdk · zero-latency renderOne stack. One Postgres. Everything synced.
Postgres is the source of truth — external providers are synced into it. Disagreement shows up as a diff with a one-click resolver. No CRDTs, no eventual-consistency folklore.
Hetzner Cloud CPX41 · 8 vCPU AMD · 16 GB RAM · meteor-prod-01
Boring tech. Tight integration.
No exotic dependencies. No vendor lock-in. Just a tight stack that's been running other production tools (UnitPilot) for years.
~€55 per month. All infra.
Meteor is single-tenant and self-hosted. You pay the bills, you keep the keys. For reference, this footprint manages over €100/mo of external infrastructure across six active projects.
- Hetzner CPX41 (Meteor + Coolify + Postgres + Redis)€16
- Hetzner Object Storage S3 (backups + Studio assets)€1
- Cloudflare DNS + CDN$0
- MXroute Lumberjack (all mail)$3.75
- Claude API (~100 AI sessions / mo)$25
- Unlimited projects, domains, sites, mailboxes
- Unlimited Static Studio sites at *.sites.meteor.group
- Unlimited custom domains with auto LE certs
- Unlimited Activity log + 90-day S3 archive
- Real-time SSE everywhere — no polling
- Single-tenant — no multi-tenancy footguns