PocketBase Status: How to Check If PocketBase Is Down (2026)
Updated June 2026 ยท 5 min read ยท By API Status Check
โก PocketBase Is Self-Hosted โ Status Is Different
Unlike cloud platforms, PocketBase is primarily open source and self-hosted. There's no central status page to check. If your PocketBase is down, the issue is with your hosting environment โ not a third-party cloud platform. Scroll down for how to diagnose and monitor your instance.
PocketBase is an open-source Go backend that combines a SQLite database, real-time subscriptions, file storage, and an admin UI in a single binary. You run it yourself โ on a VPS, via Docker, on Fly.io, Railway, Render, or any host that can run a Go binary. When PocketBase "goes down," it means your specific instance stopped responding โ either the process crashed, the host is unreachable, or the SQLite database has an issue. This guide covers how to check and monitor your PocketBase instance's health.
PocketBase Health Check Endpoint
PocketBase includes a built-in health check endpoint you can use for automated monitoring:
If this endpoint returns 200, your PocketBase instance is running and accepting requests. If it times out or returns a non-200 status, the process is down or unreachable.
Where Your PocketBase Could Be Down
PocketBase Process
The Go binary itself. Most common failure point โ process crashes due to out-of-memory, SQLite corruption, panic, or uncaught error. Check process logs immediately. For Linux: `journalctl -u pocketbase` or `systemctl status pocketbase`. For Docker: `docker logs <container_name>`.
Hosting Infrastructure
Your VPS, cloud VM, or managed hosting. If the host is unreachable, PocketBase can't serve requests. Check your hosting provider's status page (DigitalOcean, Hetzner, Vultr, Linode, AWS, etc.) for infrastructure incidents affecting your region.
SQLite Database File
PocketBase stores all data in a single SQLite file (default: `pb_data/data.db`). If the disk is full or the file is corrupted, PocketBase will crash or refuse to start. Check disk space with `df -h` and look for `database disk image is malformed` in logs.
Reverse Proxy / SSL
If PocketBase is behind Nginx, Caddy, or Traefik, a proxy configuration issue can make it appear down even if the process is running. Test PocketBase directly on its port (default 8090) from the server to bypass the proxy and isolate the issue.
โ ๏ธ Most Common PocketBase Downtime Causes
- Out of memory (OOM): PocketBase is memory-efficient but if your server's memory is full, the kernel kills the process. Check
dmesg | grep -i "out of memory"or check cloud provider memory graphs. - Disk space full: SQLite can't write if the disk is at 100%. Run
df -hโ if any partition is at 100%, clean up or expand storage immediately. - Process not restarting after crash: PocketBase doesn't auto-restart by default. Use systemd, PM2, or a process supervisor to auto-restart on crash.
- SQLite WAL file lock: An interrupted write can leave a lock file. Check for
pb_data/data.db-walfile โ in most cases it's safe to delete if PocketBase is stopped.
Monitor your self-hosted PocketBase with external uptime monitoring
Since PocketBase is self-hosted, you need external monitoring to catch crashes. Better Stack monitors your PocketBase health endpoint and alerts you instantly when your instance goes down. Free plan available.
Try Better Stack Free โHow to Diagnose a Down PocketBase Instance
Check the health endpoint
Run `curl https://your-pocketbase-url/api/health` from a separate machine. If it returns 200, PocketBase is running. If it times out or returns an error, proceed to step 2.
Check if the process is running
SSH into your server and run `ps aux | grep pocketbase`. If no process is found, PocketBase crashed or was never started. Start it manually or check your process manager.
Check process logs
Review PocketBase logs for crash information. For systemd: `journalctl -u pocketbase -n 100`. For Docker: `docker logs <container>`. For PM2: `pm2 logs pocketbase`. Look for 'panic', 'out of memory', or SQLite error messages.
PocketBase docs โCheck disk and memory
Run `df -h` to check disk space and `free -h` to check memory. A full disk or OOM condition is the most common cause of PocketBase crashes on small VPS instances.
Check your hosting provider status
If the server is unreachable entirely, check your VPS or cloud provider's status page. Network-level outages at the hosting infrastructure level can make PocketBase appear down regardless of process health.
Common PocketBase Errors and What They Mean
"connection refused (port 8090)"PocketBase is not running on the expected port. Check if the process is running with `ps aux | grep pocketbase`. The process may have crashed โ check logs for the crash reason."database disk image is malformed"The SQLite database file is corrupted. This usually happens after a hard crash during a write operation. Use `sqlite3 pb_data/data.db 'PRAGMA integrity_check;'` to assess damage. Restore from a recent backup if integrity check fails."no such table: _collections"PocketBase is running but the database file is missing or is a fresh (empty) database. Verify pb_data/data.db is the correct file and matches the expected schema."Failed to connect to PocketBase server"Client-side error indicating the PocketBase URL is wrong, the server is unreachable, or CORS is blocking the request. Verify the URL in your client SDK initialization and check CORS settings in PocketBase admin > Settings."403 Forbidden on API routes"PocketBase collection rules are blocking the request. This is a configuration issue, not an outage โ check your collection access rules in the PocketBase admin UI. Ensure the API rule allows the operation you're attempting (e.g., list, view, create)."SSL: certificate verify failed"Your reverse proxy SSL certificate is expired or misconfigured. If using Caddy or Let's Encrypt, renew the certificate. PocketBase itself doesn't handle SSL โ the issue is in your proxy layer.Setting Up PocketBase for High Availability
Auto-Restart on Crash
- Use systemd with
Restart=always - Or use PM2:
pm2 start pocketbase --watch - Docker: use
restart: unless-stopped - Fly.io/Railway: auto-restart is built in
Backup the SQLite File
- PocketBase has built-in backup: Admin UI โ Settings โ Backups
- Or use
sqlite3 data.db ".backup backup.db" - Schedule daily backups to S3 or Backblaze B2
- Test restore from backup periodically
Frequently Asked Questions
Does PocketBase have an official status page?
PocketBase is primarily a self-hosted open-source project โ there's no central platform status page. Your PocketBase's availability depends entirely on your hosting infrastructure. If you use PocketBase Cloud, check pocketbase.io for any service announcements. For self-hosted instances, you need to monitor your own server and PocketBase process health.
How do I check if my PocketBase instance is healthy?
Hit the health check endpoint: `GET https://your-pocketbase-url/api/health`. A healthy instance returns HTTP 200 with `{"code": 200, "message": "API is healthy."}`. You can also check the PocketBase admin UI at `/_/` โ if it loads, PocketBase is running. For automated monitoring, use an external uptime monitor that pings the health endpoint every minute.
Why does PocketBase keep crashing on my VPS?
The most common cause of repeated PocketBase crashes is insufficient server resources. On very small VPS plans (512MB RAM), PocketBase may be OOM-killed during high-traffic spikes. Check `dmesg | grep -i kill` for OOM kill events. Also check disk space โ a full disk causes SQLite write failures that crash PocketBase. Upgrade to at least 1GB RAM and ensure disk space stays below 80% capacity.
Can I run PocketBase without downtime during updates?
PocketBase doesn't support zero-downtime rolling updates by default because it uses a single SQLite file. The standard upgrade process requires stopping the current process, replacing the binary, and restarting โ this creates a brief downtime window (typically 1-5 seconds). For truly zero-downtime requirements, consider running PocketBase behind a load balancer with a read replica, though this is an advanced setup not officially supported.
How do I monitor my PocketBase instance for uptime?
Set up external monitoring on the `/api/health` endpoint using Better Stack, API Status Check Alert Pro, or any uptime monitor. Configure alerts for HTTP status != 200. Also monitor disk space usage โ set up a webhook or cron alert when disk usage exceeds 80%. A combination of process health monitoring and external endpoint monitoring gives you full coverage.
Alert Pro
14-day free trialStop checking โ get alerted instantly
Next time PocketBase goes down, you'll know in under 60 seconds โ not when your users start complaining.
- Email alerts for PocketBase + 9 more APIs
- $0 due today for trial
- Cancel anytime โ $9/mo after trial