Files
laermsensor-stack/readarchive/docker-compose.yml
T
admin 7c6692c040 readarchive: Import aus dem CSV-Archiv dazu
Gegenstueck zu readin/: waehrend readin alle 5 Minuten die Live-API
abfragt, liest readarchive rueckwirkend die Tagesdateien von
archive.sensor.community in dieselben Datenbanken ein.

Ohne History uebernommen (das Projekt lag bisher in einem eigenen
Repository unter Sensors/Laerm/laerm_readfromcsv_to_database).

Stand entspricht dort e33a7b7:
- Zeitstempel werden in UTC gespeichert, unabhaengig von der Zeitzone
  der Maschine. readin/parse.js macht das seit jeher richtig,
  readFromcsv.js lag zwei Stunden daneben.
- Fehlgeschlagene Influx-Writes werden gemeldet und setzen den
  Exit-Code, statt still verloren zu gehen.
- Der Container nimmt Parameter entgegen (ENTRYPOINT in Exec-Form).

Hinweis: mongo.js, influx_post.js und logit.js gibt es auch unter
readin/, mit abweichendem Stand. Zusammenfuehren waere der naechste
Schritt.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-31 06:36:01 +00:00

57 lines
1.6 KiB
YAML

version: "3.9"
volumes:
mongo_vol:
influx_vol:
services:
# rfcsv:
# image: rfcsv
# volumes:
# - /var/log/rfcsv:/var/log
# - /home/rxf/CERTS:certs
# environment:
# - MONGOHOST=207.180.224.98
# - MONGOPORT=20019
# #- MONGOAUTH=true
# #- "MONGOUSRP=rxf:5C5dB|m"
# - MONGOBASE=allsensors
# - TZ=Europe/Berlin
# container_name: rfcsv
# restart: always
mongodb:
image: mongo
volumes:
- mongo_vol:/data/db
ports:
- "27017:27017"
container_name: mongo
#environment:
# - MONGO_INITDB_ROOT_USERNAME=${MONGO_ROOT_USER}
# - MONGO_INITDB_ROOT_PASSWORD=${MONGO_ROOT_PASSWD}
#command: '--auth'
restart: unless-stopped
influx:
image: influxdb:2.7
ports:
- '8086:8086'
volumes:
# /etc/influxdb2 NICHT mounten: das Entrypoint legt dort beim Setup das
# CLI-Profil "default" an. Ein vorhandenes Profil laesst den Setup
# scheitern - und danach loescht das Entrypoint bolt+engine im Volume.
- influx_vol:/var/lib/influxdb2
environment:
# Werte kommen aus .env, damit App und Container dieselben benutzen
- 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=${DOCKER_INFLUXDB_INIT_ORG}
- DOCKER_INFLUXDB_INIT_BUCKET=${DOCKER_INFLUXDB_INIT_BUCKET}
- DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=${INFLUXTOKEN}
restart:
unless-stopped
container_name: influxdb