Files
laermsensor-stack/noisesensors/docker-compose.yml
T
admin e2ebebcd42 readarchive als eigenes Stack statt Profil im Haupt-Stack
readarchive ist kein Dauerdienst, sondern ein Lauf mit Parametern. Als
Service mit profiles: ["tools"] liess er sich aus Portainer gar nicht
starten - eine Profil-Auswahl gibt es dort nicht, und ein Gegenstueck zu
"docker compose run" ebenso wenig.

Jetzt steht er in noisesensors/readarchive-stack.yml. Dieselbe Datei
bedient beide Wege: auf der Kommandozeile mit Argumenten via
"docker compose -f readarchive-stack.yml run --rm readarchive ...", im
Portainer als eigenes Stack mit den Parametern als Environment-Variablen
(readFromcsv.js liest -s/-e/-t/-d auch aus START/END/TYP/DBASE).

- eigener Projektname "name: readarchive", damit die Datei auf der
  Kommandozeile nicht das Projekt des Haupt-Stacks uebernimmt
- Netz des Haupt-Stacks als external eingebunden
- README: readarchive-Abschnitt neu, Profil-Hinweis in der
  Update-Anleitung ersetzt, Datei in Struktur und Dateiliste ergaenzt
- .env.example: Block fuer START/END/TYP/DBASE
- noise.tgz neu gepackt, damit die Datei mit ausgeliefert wird

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-02 13:17:59 +00:00

87 lines
2.5 KiB
YAML

services:
mongodb:
image: mongo:7
volumes:
- ${LOCALDIR}/noisesensors/data/mongo/entries:/docker-entrypoint-initdb.d
- ${LOCALDIR}/noisesensors/data/mongo/data:/data/db
ports:
- "27017:27017"
container_name: mongodb
environment:
- MONGO_INITDB_DATABASE=sensor_data
- MONGO_INITDB_ROOT_USERNAME=${MONGO_ROOT_USERNAME}
- MONGO_INITDB_ROOT_PASSWORD=${MONGO_ROOT_PASSWORD}
restart: unless-stopped
influxdb:
image: influxdb:2.0
ports:
- '8086:8086'
volumes:
- ${LOCALDIR}/noisesensors/data/influx/data:/var/lib/influxdb2
environment:
DOCKER_INFLUXDB_INIT_MODE: setup
DOCKER_INFLUXDB_INIT_USERNAME: ${DOCKER_INFLUXDB_INIT_USERNAME}
DOCKER_INFLUXDB_INIT_PASSWORD: ${DOCKER_INFLUXDB_INIT_PASSWORD}
DOCKER_INFLUXDB_INIT_ORG: citysensor
DOCKER_INFLUXDB_INIT_BUCKET: sensor_data
DOCKER_INFLUXDB_INIT_ADMIN_TOKEN: ${DOCKER_INFLUXTOKEN}
restart:
unless-stopped
container_name: influxdb
readin:
image: docker.citysensor.de/readin
environment:
MONGOHOST: mongodb
INFLUXHOST: influxdb
TYP: "[\"noise\"]"
STORE: ${STORE:-mongo}
MONGOAUTH: true
MONGOUSRP: ${MONGO_ROOT_USERNAME}:${MONGO_ROOT_PASSWORD}
INFLUXTOKEN: ${DOCKER_INFLUXTOKEN}
volumes:
- ${LOCALDIR}/noisesensors/log:/var/log
# Pfad im Image ist jetzt /opt/app/readin, weil readin und readarchive
# sich common/ teilen und das Layout das Repository spiegelt
- ${LOCALDIR}/noisesensors/data:/opt/app/readin/data
container_name: readin
restart: unless-stopped
logrotate:
image: linkyard/logrotate
volumes:
- ${LOCALDIR}/noisesensors/log:/logs
environment:
LOGROTATE_SIZE: "100k"
LOGROTATE_ROTATE: "7"
LOGROTATE_CRON: "daily"
restart: unless-stopped
container_name: logrotate
sensorapi:
image: docker.citysensor.de/sensorapi
container_name: sensorapi
volumes:
- ${LOCALDIR}/noisesensors/log:/var/log
environment:
INFLUXHOST: influxdb
INFLUXTOKEN: ${DOCKER_INFLUXTOKEN}
DBASE: influx
MONGOHOST: mongodb
MONGOAUTH: true
MONGOUSRP: ${MONGO_ROOT_USERNAME}:${MONGO_ROOT_PASSWORD}
restart: unless-stopped
noise:
image: docker.citysensor.de/noise
volumes:
- ${LOCALDIR}/noisesensors/log:/var/log
container_name: noise
environment:
APIHOST: http://sensorapi:3005
ports:
- "3003:3000"
restart: unless-stopped