From f9ad906675122536449322061a9b7f40fbd011de Mon Sep 17 00:00:00 2001 From: Akshay Kolli Date: Sun, 8 Feb 2026 03:20:36 -0500 Subject: [PATCH] Updated uptime sql errros --- Dockerfile | 8 +++++++- docker-compose.yml | 3 +++ lib/db.ts | 20 +++++++++++--------- monitor.js | 4 +++- start.sh | 6 ++++++ 5 files changed, 30 insertions(+), 11 deletions(-) create mode 100755 start.sh diff --git a/Dockerfile b/Dockerfile index 95216d2..65fa095 100644 --- a/Dockerfile +++ b/Dockerfile @@ -44,6 +44,9 @@ COPY --from=builder /app/public ./public COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./ COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static +# Create data directory for SQLite +RUN mkdir -p /app/data && chown nextjs:nodejs /app/data + USER nextjs EXPOSE 3000 @@ -52,4 +55,7 @@ ENV PORT 3000 # set hostname to localhost ENV HOSTNAME "0.0.0.0" -CMD ["node", "server.js"] +COPY start.sh ./ +RUN chmod +x start.sh + +CMD ["./start.sh"] diff --git a/docker-compose.yml b/docker-compose.yml index a251f9c..3ea0dc8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,3 +7,6 @@ services: - "3333:3000" environment: - NODE_ENV=production + - DB_PATH=/app/data/dashboard.db + volumes: + - ./data:/app/data diff --git a/lib/db.ts b/lib/db.ts index 1a4693f..d240268 100644 --- a/lib/db.ts +++ b/lib/db.ts @@ -4,17 +4,19 @@ import { open, Database } from 'sqlite'; let db: Database | null = null; export async function getDb() { - if (db) return db; + if (db) return db; - // Enable verbose mode for debugging - sqlite3.verbose(); + // Enable verbose mode for debugging + sqlite3.verbose(); - db = await open({ - filename: './dashboard.db', - driver: sqlite3.Database - }); + const dbPath = process.env.DB_PATH || './dashboard.db'; - await db.exec(` + db = await open({ + filename: dbPath, + driver: sqlite3.Database + }); + + await db.exec(` CREATE TABLE IF NOT EXISTS uptime_logs ( id INTEGER PRIMARY KEY AUTOINCREMENT, service_name TEXT NOT NULL, @@ -35,5 +37,5 @@ export async function getDb() { ); `); - return db; + return db; } diff --git a/monitor.js b/monitor.js index 031b119..54590ee 100644 --- a/monitor.js +++ b/monitor.js @@ -12,8 +12,10 @@ const SERVICES = [ async function monitor() { console.log('Starting monitoring loop...'); + const dbPath = process.env.DB_PATH || './dashboard.db'; + const db = await open({ - filename: './dashboard.db', + filename: dbPath, driver: sqlite3.Database }); diff --git a/start.sh b/start.sh new file mode 100755 index 0000000..648a9fd --- /dev/null +++ b/start.sh @@ -0,0 +1,6 @@ +#!/bin/sh +# Start the background monitor +node monitor.js & + +# Start the Next.js server +node server.js