TheThingsStack V3.8.7 with self-signed certificate -> Forbidden Token exchange refused

I’ve recorded the complete process for setting up TTS open source with a self-signed certificate here. It’s a bit long for a forum post, hence the pastebin link. Note that I’m using solution 1, replacing localhost with the static IP of my machine.

The key parts missing from the current TTS documentation are as follows:

  • Uncomment the custom certs sections at the bottom of docker-compose.yml (@benolayinka is adding this to the docs)
  • Uncomment the custom certs section near the top of ttn-lw-stack-docker.yml and comment out the Let’s Encrypt section (@benolayinka is adding this to the docs)
  • Add additional environment variables to docker-compose.yaml. In particular, I needed to add the following variables:
      TTN_LW_APPLICATION_SERVER_GRPC_ADDRESS: 192.168.1.13:8884
      TTN_LW_DEVICE_TEMPLATE_CONVERTER_GRPC_ADDRESS: 192.168.1.13:8884
      TTN_LW_GATEWAY_SERVER_GRPC_ADDRESS: 192.168.1.13:8884
      TTN_LW_IDENTITY_SERVER_GRPC_ADDRESS: 192.168.1.13:8884
      TTN_LW_JOIN_SERVER_GRPC_ADDRESS: 192.168.1.13:8884
      TTN_LW_NETWORK_SERVER_GRPC_ADDRESS: 192.168.1.13:8884
      TTN_LW_OAUTH_SERVER_ADDRESS: https://192.168.1.13:8885/oauth

         I’ve selected these variables by taking the full list from the relevant github issue and removing the variables which are already specified via config in ttn-lw-stack-docker.yml. Some (or all) of these variables could specified as config in ttn-lw-stack-docker.yml instead of as environment variables.

  • Add port 8885 to is.email.network.console-url and is.email.network.identity-server-url.
  • Add port 8885 to every url nested under console

Would it be possible to add these additional steps to the official configuration docs? I was not able to get my installation working until I found this thread and the linked github issue.