Skip to content

Deployment Profiles

WeSense uses Docker Compose profiles to let you run exactly the components you need. Choose the profile that matches the role you want your host to play.

Main Profiles

ProfileWhat It RunsWho It's For
contributorIngesters onlyAnyone with sensors — sends data to a remote hub
guardianEMQX + ClickHouse + Ingesters + Respiro + P2P + OrbitDBThe full stack. Stores, serves, and replicates data for a region. The most valuable station type for the network.
hubEMQX broker + OrbitDBOperates a public MQTT entry point for sensors in a region
bootstrapOrbitDB onlyA publicly-reachable P2P peer that helps new stations find existing ones. A lightweight side role.

Add-on Profiles

Add-onWhat It Adds
tlsTLS encryption for MQTT and internal services
downlinkEnables sensor command channel
govaq-nzNew Zealand government air quality ingester
govaq-auAustralian government air quality ingester

Profiles can be combined — set COMPOSE_PROFILES=guardian,tls,govaq-nz to get a guardian station with TLS encryption and the NZ govt air quality ingester.

How profiles relate to each other

The profiles are not disjoint: they share components. guardian and hub both include OrbitDB (the P2P peer-discovery and trust-sync service). bootstrap runs just that OrbitDB component with nothing else.

This means:

  • If you run a guardian or hub profile with a public ANNOUNCE_ADDRESS, you are functionally a bootstrap too — other stations can be told to discover the network via you. The bootstrap profile is just a minimal deployment for hosts that should do only that one job (typically a small VPS dedicated to being a public rendezvous point).
  • Becoming an advertised bootstrap means setting ANNOUNCE_ADDRESS to a public hostname and having other stations include your hostname in their ORBITDB_BOOTSTRAP_PEERS list. Both sides of this are needed.
  • The bootstrap role is optional for the network as a whole. Stations can discover each other without one (via mDNS on a LAN, or the P2P DHT). A well-known bootstrap just makes initial peer discovery faster, especially across the internet. See Run a Bootstrap Node for when and how to run one.

Which Should I Choose?

  • Got sensors and want to contribute data, don't want to run servers?contributor. Sends to the public hub.
  • Want to run the full stack, store data, help preserve the commons?guardian. This is the most impactful role.
  • Want to run a public MQTT entry point for your region?hub.
  • Want to help the P2P network's peer discovery without running the full stack?bootstrap. Small, lightweight, needs a public address.
  • Just want to view the map / query data locally?observer.

See Operate a Station for setup.

All WeSense data is free and open, forever.