No description
  • Shell 85.2%
  • Dockerfile 14.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-12 12:27:16 +01:00
.gitignore v0.0.96 working 2026-09-12 12:27:16 +01:00
CHANGELOG.md v0.0.96 working 2026-09-12 12:27:16 +01:00
CloudronManifest.json v0.0.96 working 2026-09-12 12:27:16 +01:00
CloudronVersions.json v0.0.96 working 2026-09-12 12:27:16 +01:00
config.yaml.template v0.0.96 working 2026-09-12 12:27:16 +01:00
dashboard.env.template v0.0.96 working 2026-09-12 12:27:16 +01:00
debug-native-client-connect.md v0.0.96 working 2026-09-12 12:27:16 +01:00
DESCRIPTION.md v0.0.96 working 2026-09-12 12:27:16 +01:00
Dockerfile v0.0.96 working 2026-09-12 12:27:16 +01:00
LICENSE v0.0.96 working 2026-09-12 12:27:16 +01:00
logo.png v0.0.96 working 2026-09-12 12:27:16 +01:00
nginx.conf.template v0.0.96 working 2026-09-12 12:27:16 +01:00
POSTINSTALL.md v0.0.96 working 2026-09-12 12:27:16 +01:00
README.md v0.0.96 working 2026-09-12 12:27:16 +01:00
run-netbird.sh v0.0.96 working 2026-09-12 12:27:16 +01:00
run-nginx.sh v0.0.96 working 2026-09-12 12:27:16 +01:00
start.sh v0.0.96 working 2026-09-12 12:27:16 +01:00
supervisord.conf v0.0.96 working 2026-09-12 12:27:16 +01:00

NetBird for Cloudron

Self-hosted NetBird packaged for Cloudron.

This app bundles:

  • the NetBird combined server: management, signal, relay, and embedded Dex
  • the official NetBird dashboard
  • nginx for web traffic and the dedicated native client port

Pinned upstream versions:

  • NetBird server: v0.78.1
  • NetBird dashboard: v2.92.0

Runtime layout

  • Web UI, API, and embedded Dex run on the normal Cloudron app URL
  • Native NetBird clients use https://<domain>:33073
  • nginx listens on:
    • 8080 for normal web traffic inside the container
    • 33080 for native TLS+HTTP/2 inside the container
  • netbird-server listens on :30080 internally

Cloudron maps the public native client port 33073 to internal nginx port 33080.

Addons used

  • localstorage for /app/data
  • postgresql for NetBird stores
  • turn for Cloudron-provided STUN/TURN
  • tls for certificates used on the native client port

Identity

The package uses NetBird's embedded Dex provider. The first admin account is created from the web UI on first run. Additional local users or external identity providers can be managed later from the dashboard.

Connection model

  • Web dashboard: https://<domain>/
  • Native clients: https://<domain>:33073
  • STUN comes from the Cloudron turn addon
  • Relay is built in and exposed through NetBird

The standard app URL does not serve native management gRPC. Native clients must use the dedicated port.

Important files

  • CloudronManifest.json - app metadata, addons, and exposed ports
  • Dockerfile - builds the pinned upstream server and dashboard
  • start.sh - generates runtime config and validates nginx before launch
  • config.yaml.template - NetBird combined server config
  • nginx.conf.template - web and native client routing
  • supervisord.conf - launches nginx and netbird-server
  • POSTINSTALL.md - first-run instructions

Persistence

Cloudron backups cover:

  • PostgreSQL addon data
  • /app/data

Important persistent secrets live in /app/data/secrets. They are required for clean restores and should not be edited manually.

License

NetBird server and dashboard are AGPL-3.0. See LICENSE and upstream project licenses for details.