Multi-cloud managed Postgres on a $0 always-on tier in about 15 minutes. Six steps, screenshots, no card.
QUICK ANSWER
Can I run NightOwl on a free Aiven Postgres service?
Yes — Aiven's Free Plan provisions a single-node PostgreSQL service with about 1 GB of storage on the cloud and region of your choice (AWS/GCP/Azure). NightOwl talks to it over standard libpq with TLS required. Setup is about 15 minutes: create an Aiven account, provision a Free Plan PostgreSQL service, copy the Service URI, paste into NightOwl, install the agent. Aiven free is always-on (no cold starts), which makes the dashboard feel snappier than serverless free tiers — at the cost of consistently small compute.
Updated · 2026-04-27
What you'll have at the end
A working NightOwl dashboard showing live Laravel telemetry, with all data stored in an Aiven-managed PostgreSQL service on the cloud and region you picked. Total monthly cost: from $5 for NightOwl Hobby, $0 for the database.
END STATE
[ SCREENSHOT PENDING ]
NightOwl dashboard overview showing real Laravel telemetry sourced from an Aiven Postgres service, alongside Aiven's service overview confirming the active Free Plan PostgreSQL instance.
What you're aiming for: live telemetry flowing into an Aiven-managed Postgres on the cloud you chose.
Why Aiven free works for NightOwl
Three properties differentiate Aiven from the more popular serverless options (Supabase, Neon, Vercel):
Always-on compute, no cold starts. Unlike Neon/Vercel which autosuspend after idle, Aiven free runs continuously. The first dashboard load of the day feels the same as the hundredth.
Multi-cloud and broad region selection. AWS, GCP, Azure regions all available on free tier. If your Laravel app runs in eu-west-3 specifically, Aiven probably has a Postgres in eu-west-3.
1 GB storage — comfortably more than Supabase (500 MB) or Neon (0.5 GB).
Three catches worth knowing up front:
Free-plan compute is small and always small. No autoscaling. Aggregations over a few days of telemetry can take 1-3 seconds where dedicated paid compute would take 100-200 ms. This is Aiven's Free Plan, not NightOwl — verify by running the same query in Aiven's own web SQL console; it'll be just as slow.
Provisioning takes a few minutes. Aiven actually spins up real cloud infrastructure; expect 2-5 minutes from "create" to "available."
Free Plan terms can shift. Aiven has changed pricing/free-tier terms several times over the years. Verify current limits on the signup page before assuming this guide's specifics still hold; the setup flow is stable, the quotas are not.
Step 1 — Sign up and start a Free Plan project
Head to aiven.io and create an account. After signup, you'll be prompted to create your first project — name it (e.g. "nightowl-telemetry") and pick the Free Plan tier when offered.
STEP 01
[ SCREENSHOT PENDING ]
Aiven dashboard onboarding screen with a 'New project' form filled in, project name 'nightowl-telemetry', and a Free Plan tier badge visible.
Aiven projects are billing boundaries. Use a dedicated project for NightOwl telemetry — keeps the credit allocation clear.
Step 2 — Provision a PostgreSQL service
In the project, click Create service → PostgreSQL. Three things to configure:
Service plan — pick Free Plan (sometimes labelled "Hobby" depending on Aiven's UI version)
Cloud provider — AWS, GCP, or Azure. Pick whichever matches your Laravel host's cloud for lowest drain latency
Region — same logic; pick the region your Laravel app runs in
Click Create service. Provisioning takes 2-5 minutes — Aiven is spinning up real cloud infrastructure on your behalf. You'll see the service status transition from Rebuilding → Running.
STEP 02
[ SCREENSHOT PENDING ]
Aiven 'Create service' page with PostgreSQL selected, Free Plan tier highlighted, AWS us-east-1 region picked, and a 'Create service' button at the bottom.
Region picking matters. Same-region as your Laravel host keeps drain latency under 10 ms; cross-region can add 100+ ms per drain pass.
Step 3 — Copy the Service URI
Once the service status shows Running, open it. The service overview page shows a Service URI field — this is the ready-to-use connection string with credentials and SSL parameters baked in.
Format: postgres://avnadmin:[password]@[hostname].aivencloud.com:[port]/defaultdb?sslmode=require. Copy it as-is.
STEP 03
[ SCREENSHOT PENDING ]
Aiven PostgreSQL service overview page with the Service URI panel expanded, the connection string visible with a copy button, and SSL mode noted as 'require'.
The default port is not 5432 — Aiven uses high ports (12000+) for service isolation. Don't strip the port from the URI.
Notice the sslmode=require at the end — Aiven enforces TLS on every connection. Don't strip it.
Step 4 — Register the app in NightOwl
Sign in to the NightOwl dashboard. Click New application and name it. The form has five separate database fields — parse the Aiven Service URI by hand:
db_port — the high port from the URI (Aiven uses non-standard ports like 12345, not 5432)
db_database — defaultdb (Aiven's default)
db_username — avnadmin
db_password — the password embedded in the URI
Click Test connection. NightOwl runs SELECT 1 over TLS (libpq negotiates automatically against Aiven's TLS-only port). On success the form unlocks. Save, and NightOwl issues an agent token. Copy it.
STEP 04
[ SCREENSHOT PENDING ]
NightOwl 'New application' dialog with five database fields filled in for Aiven (db_host pg-xxx.aivencloud.com, db_port 12345, db_database defaultdb, db_username avnadmin, db_password masked) and a 'Test connection' button below.
The non-standard port is the most common copy/paste mistake. Aiven services don't run on 5432 — use whatever port appears in the Service URI.
Step 5 — Install the agent and verify telemetry
In your Laravel project root:
bash
composer require nightowl/agent
Add the same five DB connection values plus the agent token to your Laravel .env:
nightowl:install publishes config/nightowl.php and runs schema migrations against your Aiven database. Hit any route in your Laravel app. Within a few seconds it appears in NightOwl's Requests tab. Aiven is always-on, so there's no first-request wake-up cost — the latency you see here is your steady-state experience.
STEP 05
[ SCREENSHOT PENDING ]
NightOwl Requests tab showing the just-fired request with route, status code, p95 timing, alongside Aiven's metrics showing active connections from the agent.
Cross-reference Aiven's connection metrics in the service overview to confirm the agent is actually connected and writing.
Step 6 — Tune retention for the 1 GB Free Plan
Aiven's 1 GB is double Supabase/Neon's free quota — you can be slightly less aggressive. Drop retention to 5 days. In your Laravel .env:
bash
NIGHTOWL_RETENTION_DAYS=5
Schedule the prune in routes/console.php:
php
use Illuminate\Support\Facades\Schedule;
Schedule::command('nightowl:prune')->daily();
nightowl:prune deletes rows older than the retention window across all 11 telemetry tables. Single retention value — no per-table tuning at the moment.
STEP 06
[ SCREENSHOT PENDING ]
Terminal output of 'php artisan nightowl:prune' showing per-table delete counts after pruning, with the Laravel scheduler config visible alongside.
Aiven's bigger storage allowance lets you keep nearly a week of operational data, which makes Monday-morning reviews of the prior week meaningful.
Lock the service down (optional)
Aiven supports IP allowlisting under Service → IP allowlist. If you allowlist, remember the NightOwl hosted dashboard also reads from the database — you'll need its egress IPs alongside your Laravel host's. Aiven also offers private networking (VPC peering) on paid tiers if you want to skip public-IP allowlisting entirely.
For getting-started, leave the allowlist open and rely on the strong credentials Aiven generates. Add IP restrictions before you put anything operationally meaningful in the database.
When to upgrade to Aiven Startup
Three signals it's time to leave the Free Plan:
Dashboard pages take more than ~2 seconds to load. Hobby compute is the bottleneck; Startup tiers usually drop query times by 5-10×.
Storage hits 80% of 1 GB even with 5-day retention. Startup gives you proportionally more storage and bigger compute.
You need automated backups or a failover replica. Free Plan has neither; the smallest Startup tier adds both.
The smallest Startup PostgreSQL plan typically lands around $25-30/mo depending on cloud and region. Total stack: $15 NightOwl Team + ~$25-30 Aiven = ~$40-45/month, all-in, with always-on compute and real backups.
Aiven vs Supabase vs Neon vs Vercel for NightOwl
Aiven — multi-cloud, always-on, biggest free storage (1 GB), pickable AWS/GCP/Azure regions. Best for ops/DevOps audiences and apps that need precise region pinning.
From $5/month flat for NightOwl. 14-day free trial. Database stays $0 on Aiven Free Plan.
Frequently asked questions
Does Aiven's free plan actually run NightOwl?
Yes. Aiven's Free Plan provisions a real, single-node PostgreSQL service with about 1 GB of storage and small always-on hobby compute. You pick the cloud (AWS, GCP, or Azure) and region. NightOwl writes telemetry to it over a standard libpq connection — same as any managed Postgres. Setup is about 15 minutes including provisioning wait.
Why does the NightOwl dashboard feel slow on Aiven free?
Aiven's Free Plan runs on hobby-sized compute (small CPU, limited IOPS) with no read replica and no autoscaling. Aggregations over a few days of telemetry can take 1-3 seconds where a paid Aiven Startup tier would take 100-200 ms. Unlike Neon, there are no cold starts (Aiven free is always-on), but compute is consistently small. *This is Aiven's Free Plan, not NightOwl* — verify by running the same query in Aiven's web SQL console; it'll be just as slow there. Upgrading to the smallest paid Startup plan (~$25-30/mo) typically gives 5-10× faster aggregations.
What's the SSL situation on Aiven?
Aiven enforces TLS on every connection. The connection string Aiven gives you ends with `?sslmode=require`. Don't strip it — NightOwl will fail to connect. If your Laravel host has trouble with cert validation, Aiven also provides a CA certificate you can pin via `sslmode=verify-ca&sslrootcert=...`, but the default `require` works for most setups.
Do I need to allowlist IPs for Aiven?
Optional but recommended for production. Aiven services are accessible from anywhere with valid credentials over TLS by default. Under Service → IP allowlist you can restrict to your Laravel host's IP. Note: if you allowlist, you also need to add the egress IPs of NightOwl's hosted dashboard (which reads the database for the UI) — those aren't documented yet, so reach out to support if you're going down this path. Aiven's paid tiers also offer VPC peering if you want to skip public-IP allowlisting entirely.
How does Aiven compare to Supabase, Neon, and Vercel for NightOwl?
Aiven targets a different audience — ops/DevOps folks who care about cloud and region selection, multi-cloud strategy, and predictable always-on compute (no autosuspend). Supabase and Neon focus on developer experience and serverless billing. For NightOwl specifically, the differences are: Aiven free is always-on (no cold starts), 1 GB storage (more than Neon/Supabase), but smaller mindshare and slightly more setup steps. Pick Aiven if you're already on Aiven for other things, or you specifically want to avoid the cold-start UX.
How much telemetry fits in 1 GB?
About 7-14 days at low Laravel SaaS traffic (50-200 requests/min). Heavy traffic shortens that. NightOwl prunes by retention setting — drop request/query/job retention to 3-5 days on the free tier and you'll comfortably stay under the limit. If you need 30+ day retention or higher traffic, the smallest paid Aiven Startup plan starts around $25-30/mo with substantially more storage.
What's Aiven's free plan time limit?
Aiven's Free Plan terms have shifted over the years — for current specifics (storage limits, region availability, time-bound or perpetual), check Aiven's pricing page directly before committing. Historically Aiven offered a 30-day trial with $300 credit; the perpetual Free Plan is more recent. If the free tier you sign up for has a time limit, this guide still applies — you'd just need to migrate to a paid tier or different provider when it expires.
PRICING
Flat pricing. No event caps. No per-seat fees.
14-day free trial, no credit card. Your PostgreSQL, your data.
HOBBY
$5/month
1 app · 14 days lookback · all Laravel events
TEAM
$15/month
Up to 3 connected apps · unlimited environments · all Laravel events
AGENCY
$69/month
Unlimited apps · unlimited agent instances · same flat rate at any traffic