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 # Kein Dauerdienst, sondern ein Lauf mit Parametern - liest rueckwirkend die # Tagesdateien von archive.sensor.community ein: # docker compose run --rm readarchive -t noise -s 2026-07-25 -e 2026-07-29 # Das Profil verhindert, dass "docker compose up" ihn mitstartet. readarchive: image: docker.citysensor.de/readarchive profiles: ["tools"] environment: MONGOHOST: mongodb INFLUXHOST: influxdb MONGOAUTH: "true" MONGOUSRP: ${MONGO_ROOT_USERNAME}:${MONGO_ROOT_PASSWORD} INFLUXTOKEN: ${DOCKER_INFLUXTOKEN} volumes: - ${LOCALDIR}/noisesensors/log:/var/log - ${LOCALDIR}/noisesensors/data/readarchive:/opt/app/readarchive/data restart: "no" logrotate: image: linkyard/logrotate volumes: - ${LOCALDIR}/noisesensors/log:/logs environment: LOGROTATE_SIZE: "1k" 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