Roasted Bean Deploy commited on
Commit
ac212a2
Β·
1 Parent(s): ff7d7e4

πŸ”§ Better error handling, startup logging, improved Dockerfile

Browse files
Files changed (2) hide show
  1. Dockerfile +5 -3
  2. server.js +10 -4
Dockerfile CHANGED
@@ -3,13 +3,15 @@ FROM node:20-slim
3
  WORKDIR /app
4
 
5
  # Install dependencies
6
- COPY package.json package-lock.json* ./
7
- RUN npm install --production
8
 
9
  # Copy source
10
  COPY . .
11
 
12
- # HF Spaces serve on $PORT (default 7860)
 
 
13
  EXPOSE 7860
14
 
15
  CMD ["node", "server.js"]
 
3
  WORKDIR /app
4
 
5
  # Install dependencies
6
+ COPY package.json package-lock.json ./
7
+ RUN npm ci --only=production 2>&1 || npm install --production
8
 
9
  # Copy source
10
  COPY . .
11
 
12
+ # HF Spaces sets PORT env var
13
+ ENV PORT=7860
14
+
15
  EXPOSE 7860
16
 
17
  CMD ["node", "server.js"]
server.js CHANGED
@@ -31,10 +31,16 @@ app.use(session({
31
 
32
  // ── Helpers ─────────────────────────────────────────────────────────────────
33
  // Seed menu data if not present in persistent storage
34
- const SEED_FILE = path.join(__dirname, 'data', 'menu.json');
35
- if (!fs.existsSync(DATA_FILE) && fs.existsSync(SEED_FILE)) {
36
- fs.copyFileSync(SEED_FILE, DATA_FILE);
37
- console.log('πŸ“‹ Seeded menu data to persistent storage');
 
 
 
 
 
 
38
  }
39
 
40
  function readMenu() {
 
31
 
32
  // ── Helpers ─────────────────────────────────────────────────────────────────
33
  // Seed menu data if not present in persistent storage
34
+ try {
35
+ const SEED_FILE = path.join(__dirname, 'data', 'menu.json');
36
+ if (!fs.existsSync(DATA_FILE) && fs.existsSync(SEED_FILE)) {
37
+ fs.copyFileSync(SEED_FILE, DATA_FILE);
38
+ console.log('πŸ“‹ Seeded menu data to persistent storage');
39
+ }
40
+ console.log(`πŸ“ Data dir: ${DATA_DIR}`);
41
+ console.log(`πŸ“„ Data file exists: ${fs.existsSync(DATA_FILE)}`);
42
+ } catch (err) {
43
+ console.error('Seed error:', err.message);
44
  }
45
 
46
  function readMenu() {