635b3ce598
- Custom Next.js server starts MQTT listener on boot - Subscribes to zigbee2mqtt/Bodenfeuchte_1, stores soil_moisture in SQLite - API route /api/data returns last 6 hours of measurements - Frontend shows current value + Recharts line chart, auto-refresh every 60s - Dockerfile + docker-compose with persistent volume for SQLite DB Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
20 lines
523 B
TypeScript
20 lines
523 B
TypeScript
import { createServer } from 'http';
|
|
import { parse } from 'url';
|
|
import next from 'next';
|
|
import { startMqttListener } from './lib/mqtt-listener';
|
|
|
|
const dev = process.env.NODE_ENV !== 'production';
|
|
const app = next({ dev });
|
|
const handle = app.getRequestHandler();
|
|
|
|
app.prepare().then(() => {
|
|
startMqttListener();
|
|
|
|
createServer((req, res) => {
|
|
const parsedUrl = parse(req.url ?? '/', true);
|
|
handle(req, res, parsedUrl);
|
|
}).listen(3000, () => {
|
|
console.log('> Ready on http://localhost:3000');
|
|
});
|
|
});
|