Why this Configuration?
- True Data Sovereignty: 100% GDPR-compliant on-premises deployment. You own your configuration and data without vendor lock-in.
- Hardware Agnostic: Optimized and verified across low-power ARM64 SBCs (Raspberry Pi 5) and x86_64 hypervisors (Proxmox VE LXC & VM).
- Engine Freedom: Tested and supported under standard Docker Engine and unprivileged rootless Podman.
Quick Start (Standalone Docker Compose)
The snippet below is immediately ready to run in any standard Docker or Podman environment:
services:
chirpstack:
image: chirpstack/chirpstack:4
command: -c /etc/chirpstack
restart: unless-stopped
volumes:
- ./configuration/chirpstack:/etc/chirpstack
depends_on:
- postgres
- mosquitto_lora
- redis
environment:
- MQTT_SERVER=mosquitto_lora:1883
- POSTGRESQL_DSN=postgres://chirpstack:"ChangeMeSecurePassword123!"@postgres/chirpstack?sslmode=disable
- REDIS_URL=redis://redis:6379/0
ports:
- "8083:8080"
mosquitto_lora:
image: eclipse-mosquitto:2
restart: unless-stopped
container_name: mosquitto_lora
ports:
- "18884:1883"
volumes:
- ./configuration/mosquitto_lora/mosquitto.conf:/mosquitto/config/mosquitto.conf
chirpstack-gateway-bridge:
image: chirpstack/chirpstack-gateway-bridge:4
restart: unless-stopped
depends_on:
- mosquitto_lora
ports:
- "1700:1700/udp"
environment:
- INTEGRATION__MQTT__AUTH__GENERIC__SERVER=tcp://mosquitto_lora:1883
postgres:
image: postgres:14-alpine
restart: unless-stopped
environment:
- POSTGRES_PASSWORD="ChangeMeSecurePassword123!"
- POSTGRES_USER=chirpstack
- POSTGRES_DB=chirpstack
volumes:
- ./data/postgres:/var/lib/postgresql/data
redis:
image: redis:7-alpine
restart: unless-stopped
volumes:
- ./data/redis:/data
Start the service directly via the command line: docker compose up -d
Configuration & Environment Variables
Key configuration parameters and defaults derived from the NjordDeploy component template:
| Variable | Default Value | Description |
|---|---|---|
CHIRPSTACK_WEB_UI_PORT |
8083 |
Access to the dashboard of of Chirpstack |
LORA_MQTT_PORT |
18884 |
Port for the MQTT broker |
LORA_GATEWAY_PORT |
1700 |
|
CHIRPSTACK_DB_PASSWORD |
*None* |
|
MQTT_BROKER |
mosquitto_lora |
Ecosystem & Enterprise Integration
- Reverse Proxy Ingress Ready: Pre-configured for Caddy, Traefik, or Nginx Proxy Manager with automatic Let's Encrypt TLS certificates.
- Zero-Trust Mesh VPN: Seamless integration with WireGuard or Tailscale/Headscale mesh networks for secure remote administration.
- Transactional State Backups: Ready for point-in-time database dumps and container-safe persistent volume freezing.
Effortless Management with NjordDeploy
Deploy, monitor, and update this service with a single click on your own hardware via the NjordDeploy Configurator.