Chirpstack setup for non same machine (e.g. db on it's own server)

Hello,

I’m looking to setup a chirpstack suite for my network. I’m primarily a network administrator rather than systems/db admin. It looks like there’s only documentation for a single server doing all items though. What differences would I be looking at to have the DB on it’s own server? We’re looking to use Amazon Linux for the network/application server and Amazon RDS for the postgres DB. What items need to be installed on which servers? Does REDIS and MQTT broker have to be installed on the server hosting the DB? Or do they go onto the NS/AS server?

Have you looked at the architecture doc and the chirpstack-docker repo?

https://www.chirpstack.io/docs/architecture.html

Those are pretty good starting points for extrapolating and deploying as a distributed system, whether using containers or not.

1 Like

The architecture doc clearly explains the functions and respective config files of each needs to be changed and updated to include the distributed systems ips and authentications to ensure they talk to each other.

Not really, the architecture doc doesn’t mention REDIS at all so my question there still stands. Also it just shows the relationship between broker and gateway, not which server (DB or WEB) each should be installed on when doing a web server / DB server separately.

Couple of examples to nudge you in right directions. All of these parts can be separated which is why there is a config file to define where they are located.

Configuration - ChirpStack open-source LoRaWAN® Network Server documentation is the main file you need to pay attention. It defines db, redis,etc.

"postgresql://chirpstack:chirpstack@localhost/chirpstack?sslmode=disable"

replace localhost with your server’s ips.

# Redis configuration.
[redis]

  # Server address or addresses.
  #
  # Use rediss:// in case of a TLS secured connection.
  #
  # Example formats:
  #   redis://127.0.0.1:6379
  #   rediss://127.0.0.1:6379
  #   redis://:password@127.0.0.1:6379
  #   redis://username:password@127.0.0.1:6379
  #
  # Set multiple addresses when connecting to a cluster.
  servers=[
    "redis://127.0.0.1/",
  ]

replace 127.0.0.1 with redis servers ip and so on.
Same with other applications defined in this config and other configs.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.