Updated uptime sql errros

This commit is contained in:
Akshay Kolli
2026-02-08 03:20:36 -05:00
parent 6bb3cea2aa
commit f9ad906675
5 changed files with 30 additions and 11 deletions

View File

@@ -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/standalone ./
COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static 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 USER nextjs
EXPOSE 3000 EXPOSE 3000
@@ -52,4 +55,7 @@ ENV PORT 3000
# set hostname to localhost # set hostname to localhost
ENV HOSTNAME "0.0.0.0" ENV HOSTNAME "0.0.0.0"
CMD ["node", "server.js"] COPY start.sh ./
RUN chmod +x start.sh
CMD ["./start.sh"]

View File

@@ -7,3 +7,6 @@ services:
- "3333:3000" - "3333:3000"
environment: environment:
- NODE_ENV=production - NODE_ENV=production
- DB_PATH=/app/data/dashboard.db
volumes:
- ./data:/app/data

View File

@@ -4,17 +4,19 @@ import { open, Database } from 'sqlite';
let db: Database | null = null; let db: Database | null = null;
export async function getDb() { export async function getDb() {
if (db) return db; if (db) return db;
// Enable verbose mode for debugging // Enable verbose mode for debugging
sqlite3.verbose(); sqlite3.verbose();
db = await open({ const dbPath = process.env.DB_PATH || './dashboard.db';
filename: './dashboard.db',
driver: sqlite3.Database
});
await db.exec(` db = await open({
filename: dbPath,
driver: sqlite3.Database
});
await db.exec(`
CREATE TABLE IF NOT EXISTS uptime_logs ( CREATE TABLE IF NOT EXISTS uptime_logs (
id INTEGER PRIMARY KEY AUTOINCREMENT, id INTEGER PRIMARY KEY AUTOINCREMENT,
service_name TEXT NOT NULL, service_name TEXT NOT NULL,
@@ -35,5 +37,5 @@ export async function getDb() {
); );
`); `);
return db; return db;
} }

View File

@@ -12,8 +12,10 @@ const SERVICES = [
async function monitor() { async function monitor() {
console.log('Starting monitoring loop...'); console.log('Starting monitoring loop...');
const dbPath = process.env.DB_PATH || './dashboard.db';
const db = await open({ const db = await open({
filename: './dashboard.db', filename: dbPath,
driver: sqlite3.Database driver: sqlite3.Database
}); });

6
start.sh Executable file
View File

@@ -0,0 +1,6 @@
#!/bin/sh
# Start the background monitor
node monitor.js &
# Start the Next.js server
node server.js