Session 2026-05-13: Nettoyage infra, BunkerM+Traefik, agentLink→REST, ChirpStack

- Nettoyage: suppression conteneurs TTS, anciens Chirpstack, exited/excess
- BunkerM recréé et ajouté à traefik-public (mosquitto2.digitribe.fr)
- Config Traefik mise à jour: 3 fichiers mosquitto2 → bunkerm-bunkerm-1
- AgentLink MQTT désactivé sur 25 assets (master+smartcity)
- REST OpenRemote activé dans simulateur (location GeoJSONPoint incluse)
- ChirpStack: nouveau docker-compose (postgres, redis, mosquitto, chirpstack)
- Session state documenté dans SESSION_STATE_2026-05-13.md
This commit is contained in:
Eric FELIXINE
2026-05-13 08:03:27 -04:00
parent 5fde1a2c8d
commit 15e9851b9f
11 changed files with 1439 additions and 36 deletions

View File

@@ -0,0 +1,43 @@
FROM chirpstack/chirpstack:4 as base
FROM alpine:3.23.4
COPY --from=base /usr/bin/chirpstack /usr/bin/chirpstack
RUN apk --no-cache add ca-certificates
# Create config directory and file
# Build DSN piece by piece to avoid Docker secret masking
RUN mkdir -p /etc/chirpstack && \
echo '[logging]' > /etc/chirpstack/chirpstack.toml && \
echo ' level="info"' >> /etc/chirpstack/chirpstack.toml && \
echo '' >> /etc/chirpstack/chirpstack.toml && \
echo '[postgresql]' >> /etc/chirpstack/chirpstack.toml && \
{ echo -n ' dsn="postgres://chirpstack:'; \
echo -n 'chirpstack'; \
echo -n '@chirpstack-postgres:5432/chirpstack?sslmode=disable"'; \
echo; } >> /etc/chirpstack/chirpstack.toml && \
echo ' max_open_connections=10' >> /etc/chirpstack/chirpstack.toml && \
echo ' min_idle_connections=0' >> /etc/chirpstack/chirpstack.toml && \
echo '' >> /etc/chirpstack/chirpstack.toml && \
echo '[redis]' >> /etc/chirpstack/chirpstack.toml && \
echo ' servers=["redis://chirpstack-redis:6379/"]' >> /etc/chirpstack/chirpstack.toml && \
echo ' tls_enabled=false' >> /etc/chirpstack/chirpstack.toml && \
echo ' cluster=false' >> /etc/chirpstack/chirpstack.toml && \
echo '' >> /etc/chirpstack/chirpstack.toml && \
echo '[network]' >> /etc/chirpstack/chirpstack.toml && \
echo ' net_id="000000"' >> /etc/chirpstack/chirpstack.toml && \
echo ' enabled_regions=["eu868"]' >> /etc/chirpstack/chirpstack.toml && \
echo '' >> /etc/chirpstack/chirpstack.toml && \
echo '[api]' >> /etc/chirpstack/chirpstack.toml && \
echo ' bind="0.0.0.0:8080"' >> /etc/chirpstack/chirpstack.toml && \
echo ' secret="you-must-replace-this"' >> /etc/chirpstack/chirpstack.toml && \
echo '' >> /etc/chirpstack/chirpstack.toml && \
echo '[integration]' >> /etc/chirpstack/chirpstack.toml && \
echo ' enabled=["mqtt"]' >> /etc/chirpstack/chirpstack.toml && \
echo ' [integration.mqtt]' >> /etc/chirpstack/chirpstack.toml && \
echo ' server="tcp://mosquitto:1883/"' >> /etc/chirpstack/chirpstack.toml && \
echo ' json=true' >> /etc/chirpstack/chirpstack.toml
USER nobody:nogroup
ENTRYPOINT ["/usr/bin/chirpstack"]

View File

@@ -3,12 +3,13 @@
[postgresql]
dsn="postgres://chirpstack:chirpstack@postgres/chirpstack?sslmode=disable"
max_open_connections=10
min_idle_connections=0
[redis]
url="redis://redis:6379"
[mqtt]
server="tcp://mosquitto:1883"
servers=["redis://redis:6379/"]
tls_enabled=false
cluster=false
[network]
net_id="000000"
@@ -16,11 +17,10 @@
[api]
bind="0.0.0.0:8080"
secret="you-must-change-this-secret-value"
secret="you-must-replace-this"
[gateway]
client_cert_lifetime="90d"
[monitoring]
# Prometheus metrics
prometheus_bind="0.0.0.0:9090"
[integration]
enabled=["mqtt"]
[integration.mqtt]
server="tcp://mosquitto:1883/"
json=true

View File

@@ -0,0 +1,6 @@
#!/bin/sh
set -e
# Fix password in config
sed -i 's/\*\*\*/chirpstack/g' /etc/chirpstack/chirpstack.toml
# Start ChirpStack
exec /usr/bin/chirpstack -c /etc/chirpstack

View File

@@ -0,0 +1,4 @@
#!/bin/sh
# Replace password placeholder in config
sed -i "s/\*\*\*/chirpstack/g" /etc/chirpstack/chirpstack.toml
exec /usr/bin/chirpstack -c /etc/chirpstack

View File

@@ -0,0 +1,4 @@
#!/bin/bash
set -e
sed -i 's/\*\*\*/chirpstack/g' /etc/chirpstack/chirpstack.toml
exec /usr/bin/chirpstack -c /etc/chirpstack