Why You Should Run Your Own LoRaWAN Network Server with ChirpStack
The Network Server Is the Brain of Your Deployment
Every LoRaWAN deployment has the same architecture: devices transmit to gateways, gateways forward packets to a network server, and the network server handles everything that makes the network actually work. Device authentication, deduplication, adaptive data rate, MAC command scheduling, downlink queuing, roaming—all of it runs on the network server.
The network server is the single most important software component in your LoRaWAN infrastructure. It decides which devices are allowed on your network, how their data is processed, where it goes, and how the network optimizes itself. Whoever controls the network server controls the deployment.
So why would you hand that control to someone else?
What ChirpStack Actually Is
ChirpStack is a fully open-source LoRaWAN Network Server suite, built and maintained by Orne Brocaar since 2016. It implements the complete LoRaWAN specification—device join handling (OTAA and ABP), Class A/B/C support, adaptive data rate, multicast groups, firmware updates over the air (FUOTA), and multi-region frequency plan support.
It's not a hobby project or a proof-of-concept framework. ChirpStack runs production networks handling thousands of gateways and hundreds of thousands of devices worldwide. Telecom operators, system integrators, industrial companies, and municipalities use it as the foundation of commercial LoRaWAN deployments.
The architecture is clean and modern:
| Component | Role |
|---|---|
| ChirpStack Gateway Bridge | Converts gateway protocols (UDP/MQTT/BasicStation) to a common format |
| ChirpStack Network Server | Handles LoRaWAN MAC layer, device management, deduplication, ADR |
| ChirpStack Application Server | API, web UI, integrations, device profiles, payload codecs |
| PostgreSQL | Device registry, configuration, metadata |
| Redis | Session state, deduplication cache, device queues |
| MQTT Broker | Event stream for integrations (Mosquitto or similar) |
Everything runs on a single Linux server. A modest machine—2 CPU cores, 4 GB RAM—handles thousands of devices without breaking a sweat.
Why Running Your Own LNS Matters
No Per-Device Fees, Ever
Managed LoRaWAN platforms charge per device per month. The numbers look small at first—maybe EUR 0.50 or EUR 1 per device. But IoT deployments grow, and those fees compound:
| Devices | Managed LNS (EUR 1/device/month) | ChirpStack (self-hosted) |
|---|---|---|
| 100 | EUR 1,200/year | EUR 200/year (server) |
| 500 | EUR 6,000/year | EUR 200/year |
| 2,000 | EUR 24,000/year | EUR 300/year |
| 10,000 | EUR 120,000/year | EUR 500/year |
The self-hosted cost is the server. It doesn't change meaningfully whether you have 100 or 10,000 devices. The managed platform cost scales linearly with your fleet. At 500 devices, you save EUR 5,800 per year. Over five years, that's EUR 29,000—enough to fund the entire hardware deployment.
Your Data Stays on Your Infrastructure
With a managed platform, every sensor reading transits through someone else's servers. Every temperature measurement, water meter reading, GPS coordinate, and occupancy count passes through infrastructure you don't control, in a jurisdiction you may not have chosen, subject to data handling policies you didn't write.
With ChirpStack on your own server, the data path is entirely within your control:
Device -> Your gateway -> Your network server -> Your database -> Your dashboards
No third-party cloud. No data processing agreement to negotiate. No compliance risk from data crossing borders. For organizations in healthcare, government, critical infrastructure, or any sector with data sovereignty requirements, this isn't a nice-to-have—it's a hard requirement.
Full Control Over Configuration
Managed platforms give you a control panel with the options they've decided to expose. Need a custom ADR algorithm for your specific deployment scenario? Need to modify the join-accept delay for devices behind a satellite backhaul? Need to implement a custom integration protocol for a legacy SCADA system? On a managed platform: submit a feature request and wait. On ChirpStack: configure it.
Real-world examples of configuration control that matters:
- Custom device profiles optimized for your specific sensor types and transmission patterns
- Payload codecs written in JavaScript that decode your devices' binary payloads into structured data
- Integration endpoints that push data directly to your existing systems via MQTT, HTTP, InfluxDB, PostgreSQL, or custom protocols
- Multi-tenant configuration where you manage separate organizations, applications, and access controls on a single server
- ADR parameters tuned to your specific radio environment rather than generic defaults
No Vendor Lock-In
A managed LoRaWAN platform is a dependency. If the vendor raises prices, changes terms, discontinues the service, or gets acquired, you have a problem. Your device provisioning data, payload codecs, integration configurations, and operational history are on their platform. Migration is painful, disruptive, and often expensive.
ChirpStack is open-source software running on your hardware. The code is on GitHub. The database is PostgreSQL on your server. If you need to migrate to different hardware, change hosting providers, or fork the codebase—you can. The project is licensed under MIT, one of the most permissive open-source licenses. No license audit surprises. No usage restrictions.
Integrations Without Middleware
ChirpStack publishes device events to MQTT topics in a well-documented JSON format. Every uplink, join, status update, and acknowledgment is an MQTT message your systems can subscribe to directly. This means:
- InfluxDB or TimescaleDB for time-series storage—subscribe to MQTT, write to database, done
- Grafana dashboards reading directly from your time-series database
- Node-RED flows for custom automation and alerting logic
- Custom applications in any language that has an MQTT client library
- Azure IoT Hub or AWS IoT Core via MQTT bridging for cloud-native architectures
No API polling. No webhook reliability issues. No rate limiting. The data streams continuously from device to dashboard through a clean, real-time event pipeline.
Common Objections—and Why They Don't Hold Up
"We don't have the expertise to run a server"
ChirpStack installs on a Debian or Ubuntu server with a handful of commands. The documentation is thorough. The configuration is straightforward TOML files. If your organization can maintain a web server, a database, or any Linux-based application, you can run ChirpStack.
And if you genuinely don't have that expertise in-house—that's exactly what we provide. We deploy, configure, and hand over a fully operational ChirpStack instance with documentation and training. A one-time engagement, not a recurring subscription.
"What about updates and security patches?"
ChirpStack releases are well-documented with clear upgrade paths. The project follows semantic versioning. Security updates for the underlying OS come from your standard Linux distribution's package manager—the same process you follow for any server.
Automated monitoring catches issues before they become problems. Set up a simple health check on the ChirpStack API endpoint, configure Grafana alerts on device join failures or gateway connectivity drops, and the system tells you when something needs attention.
"Managed platforms have better uptime"
A properly configured Linux server with ChirpStack achieves 99.9%+ uptime routinely. The application is lightweight and stable. The most common cause of downtime isn't software failure—it's the underlying infrastructure (power, network, hosting provider), which affects managed platforms equally.
For high-availability requirements, ChirpStack supports clustering with load-balanced instances, Redis Sentinel for state management failover, and PostgreSQL replication for database redundancy. The same patterns used for any production web application.
"We need support"
The ChirpStack community is active and responsive. The project maintainer and community members answer questions on the forum and GitHub issues. For organizations that need guaranteed response times, commercial support options exist.
More importantly, because ChirpStack is built on standard, well-understood technologies (PostgreSQL, Redis, MQTT, Go), any competent systems administrator can troubleshoot and maintain it. You're not dependent on a specialized support team that understands a proprietary platform's internals.
What a ChirpStack Deployment Looks Like
A typical production deployment we set up for clients:
Server: Single Linux VM (Debian/Ubuntu) on a cloud provider or on-premises hardware.
Software stack:
- ChirpStack (network server, application server, gateway bridge)
- PostgreSQL (device registry, configuration)
- Redis (session cache, deduplication)
- Mosquitto (MQTT broker for integrations)
- InfluxDB (time-series data storage)
- Grafana (dashboards, alerting, visualization)
- Nginx (reverse proxy, TLS termination)
- Let's Encrypt (automated SSL certificates)
Security:
- TLS encryption on all external connections
- Firewall rules restricting access to necessary ports only
- Automated OS security updates
- Regular database backups
- MQTT authentication for all integration clients
Monitoring:
- Gateway connectivity status and packet statistics
- Device join success rates and uplink frequency
- Server resource utilization (CPU, memory, disk)
- Database size and query performance
- Alerting via Grafana to email, Slack, or webhook
The entire stack deploys in a day. Device onboarding, payload codec configuration, and dashboard creation follow. Within a week, you have a production-ready private LoRaWAN network with real-time dashboards showing your sensor data.
When a Managed Platform Still Makes Sense
Transparency matters more than sales. A managed platform can be the right choice when:
- Proof of concept with fewer than 20 devices where speed of deployment outweighs long-term cost
- Temporary deployments lasting weeks or months, not years
- Zero technical capability in the organization and no budget for initial consulting
- Roaming requirements where you need interoperability with public LoRaWAN networks operated by telecom carriers
For anything beyond a small pilot, the economics and control advantages of self-hosted ChirpStack are overwhelming. The breakeven point is typically around 30-50 devices—beyond that, you're paying for someone else's infrastructure when you could own your own.
What We Provide
We deploy and configure complete ChirpStack-based LoRaWAN infrastructure:
- Server setup: ChirpStack, PostgreSQL, Redis, MQTT, InfluxDB, Grafana—fully configured, secured, and monitored
- Gateway onboarding: Your gateways registered and connected, frequency plans configured, packet forwarding verified
- Device provisioning: Devices registered with correct profiles, payload codecs written and tested, data flowing to dashboards
- Dashboard development: Grafana dashboards tailored to your use case—real-time monitoring, historical analysis, alerting
- Integration: Data pipelines to your existing systems via MQTT, HTTP, or direct database connections
- Documentation and training: Your team receives everything needed to operate and extend the system independently
- Ongoing support: Available when you need it, not as a mandatory subscription
One-time consulting engagement. No recurring platform fees. No per-device charges. You own the infrastructure, the configuration, the dashboards, and the data. Completely.
Ready to Get Started?
Get expert guidance on implementing LoRaWAN solutions for your organization.
Let's Talk