feat(lorawan): démarrage ChirpStack et The Things Stack

- ChirpStack opérationnel (port 8080/8090, gateway bridge UDP 1700)
- The Things Stack opérationnel (port 1885/1884, gateway UDP 1701)
- Fichages de configuration créés
- Docker-compose corrigés (réseaux smartcity-shared)
- Désactivation agentLink sur 35 assets du simulateur
- Correction _or_put: suppression If-Match header (403)
- realm smartcity identifié pour les assets du simulateur
This commit is contained in:
Eric FELIXINE
2026-05-12 17:34:53 -04:00
parent a05e13c30c
commit 5fde1a2c8d
9 changed files with 129 additions and 40 deletions

View File

@@ -0,0 +1,21 @@
# Basic Station configuration for WebSocket gateway connections
[general]
log_level=4
[integration.mqtt]
server="tcp://mosquitto:1883"
event_topic="eu868/gateway/{{ .GatewayID }}/event/{{ .EventType }}"
state_topic="eu868/gateway/{{ .GatewayID }}/state/{{ .StateType }}"
command_topic="eu868/gateway/{{ .GatewayID }}/command/#"
json=true
[backend]
type="basic_station"
[backend.basic_station]
bind=":3001"
tls_cert=""
tls_key=""
ca_cert=""
region="EU868"
frequency_min=863000000
frequency_max=870000000

View File

@@ -0,0 +1,11 @@
# ChirpStack Gateway Bridge configuration (EU868)
[general]
log_level=4
[integration.mqtt]
server="tcp://mosquitto:1883"
event_topic="eu868/gateway/{{ .GatewayID }}/event/{{ .EventType }}"
state_topic="eu868/gateway/{{ .GatewayID }}/state/{{ .StateType }}"
command_topic="eu868/gateway/{{ .GatewayID }}/command/#"
json=true
client_id="chirpstack-gateway-bridge"

View File

@@ -0,0 +1,26 @@
[logging]
level="info"
[postgresql]
dsn="postgres://chirpstack:chirpstack@postgres/chirpstack?sslmode=disable"
[redis]
url="redis://redis:6379"
[mqtt]
server="tcp://mosquitto:1883"
[network]
net_id="000000"
enabled_regions=["eu868"]
[api]
bind="0.0.0.0:8080"
secret="you-must-change-this-secret-value"
[gateway]
client_cert_lifetime="90d"
[monitoring]
# Prometheus metrics
prometheus_bind="0.0.0.0:9090"

View File

@@ -0,0 +1,16 @@
listener 1883
allow_anonymous true
persistence true
persistence_location /mosquitto/data/
log_dest file /mosquitto/log/mosquitto.log
# Bridge to EMQX for upstream integration
connection bridge-emqx
address emqx_emqx_1:1883
topic eu868/# out 1
topic application/# in 1
bridge_protocol_version mqttv311
cleansession true
try_private false
notifications false
remote_clientid chirpstack-bridge

View File

@@ -0,0 +1,2 @@
-- Initialize ChirpStack database
CREATE DATABASE IF NOT EXISTS chirpstack;

View File

@@ -0,0 +1,44 @@
is:
database:
uri: postgres://root:root@tts-postgres:5432/ttn_lorawan?sslmode=disable
email:
sender-name: "The Things Stack"
sender-address: "noreply@digitribe.fr"
network:
name: "Smart City LoRaWAN"
console-url: "https://tts.digitribe.fr/console"
identity-server-url: "https://tts.digitribe.fr/oauth"
redis:
address: tts-redis:6379
metrics:
enabled: true
console:
base-url: "https://tts.digitribe.fr/console"
http:
cookie:
block-key: "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff"
hash-key: "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff"
gateway-server:
mqtt:
listen: ":1883"
public-address: "tts.digitribe.fr:1883"
network-server:
net-id: "000000"
band:
name: "EU868"
join-server:
default:
join-eui-prefix: "0000000000000000"
tenant-id: "smart-city"
blob:
local-directory: /srv/ttn-lorawan/public/blob
base-url: "https://tts.digitribe.fr/blob"