feat(lorawan): ajout ChirpStack et The Things Stack
- Skills créés: chirpstack-lorawan, the-things-stack-lorawan - docker-compose.chirpstack.yml: ChirpStack derrière Traefik - docker-compose.the-things-stack.yml: TTS derrière Traefik - data-flow-diagram.md: mise à jour avec LoRaWAN - DOCKER-ARCHITECTURE: ajout conteneurs LoRaWAN - Subdomaines Traefik: chirpstack, tts Skills créés dans ~/.hermes/skills/iot/: - chirpstack-lorawan - the-things-stack-lorawan
This commit is contained in:
78
docker-compose.the-things-stack.yml
Normal file
78
docker-compose.the-things-stack.yml
Normal file
@@ -0,0 +1,78 @@
|
||||
version: "3.8"
|
||||
|
||||
# =============================================================================
|
||||
# The Things Stack LoRaWAN Network Server — Smart City Digital Twin
|
||||
# =============================================================================
|
||||
# Déploiement derrière Traefik avec sous-domaines dédiés
|
||||
# Subdomaines:
|
||||
# - tts.digitribe.fr → Console web (port 1885)
|
||||
# - tts-api.digitribe.fr → REST API (port 1884)
|
||||
# =============================================================================
|
||||
|
||||
services:
|
||||
tts-postgres:
|
||||
image: postgres:14
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_PASSWORD=root
|
||||
- POSTGRES_USER=root
|
||||
- POSTGRES_DB=ttn_lorawan
|
||||
volumes:
|
||||
- tts-postgres-data:/var/lib/postgresql/data
|
||||
networks:
|
||||
- tts-internal
|
||||
|
||||
tts-redis:
|
||||
image: redis:7
|
||||
command: redis-server --appendonly yes
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- tts-redis-data:/data
|
||||
networks:
|
||||
- tts-internal
|
||||
|
||||
tts-stack:
|
||||
image: thethingsnetwork/lorawan-stack:latest
|
||||
entrypoint: ttn-lw-stack -c /config/ttn-lw-stack-docker.yml
|
||||
command: start
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- tts-redis
|
||||
- tts-postgres
|
||||
volumes:
|
||||
- ./configuration/the-things-stack/config:/config:ro
|
||||
- ./configuration/the-things-stack/blob:/srv/ttn-lorawan/public/blob
|
||||
environment:
|
||||
TTN_LW_BLOB_LOCAL_DIRECTORY: /srv/ttn-lorawan/public/blob
|
||||
TTN_LW_REDIS_ADDRESS: tts-redis:6379
|
||||
TTN_LW_IS_DATABASE_URI: postgres://root:***@tts-postgres:5432/ttn_lorawan?sslmode=disable
|
||||
ports:
|
||||
- "1700:1700/udp"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
# Console web
|
||||
- "traefik.http.routers.tts-console.rule=Host(`tts.digitribe.fr`)"
|
||||
- "traefik.http.routers.tts-console.entrypoints=websecure"
|
||||
- "traefik.http.routers.tts-console.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.tts-console.loadbalancer.server.port=1885"
|
||||
# API REST
|
||||
- "traefik.http.routers.tts-api.rule=Host(`tts-api.digitribe.fr`)"
|
||||
- "traefik.http.routers.tts-api.entrypoints=websecure"
|
||||
- "traefik.http.routers.tts-api.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.tts-api.loadbalancer.server.port=1884"
|
||||
networks:
|
||||
- traefik-public
|
||||
- tts-internal
|
||||
- smartcity-shared
|
||||
|
||||
volumes:
|
||||
tts-postgres-data:
|
||||
tts-redis-data:
|
||||
|
||||
networks:
|
||||
traefik-public:
|
||||
external: true
|
||||
smartcity-shared:
|
||||
external: true
|
||||
tts-internal:
|
||||
driver: bridge
|
||||
Reference in New Issue
Block a user