Aqso commited on
Commit
b3ffefa
·
verified ·
1 Parent(s): de4c6a0

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +10 -14
Dockerfile CHANGED
@@ -1,36 +1,34 @@
1
- # Menggunakan Node 22 versi ringan dengan kompatibilitas Debian
2
  FROM node:22-bookworm-slim
3
 
4
  ENV DEBIAN_FRONTEND=noninteractive
5
  ENV TZ=Asia/Jakarta
6
 
7
- # Instalasi Git & Curl untuk penarikan repo
8
- RUN apt-get update && apt-get install -y git curl && rm -rf /var/lib/apt/lists/*
9
 
10
- # Konfigurasi isolasi Hugging Face (Wajib menggunakan User 1000)
11
  RUN useradd -m -u 1000 user
12
  WORKDIR /app
13
  RUN chown -R user:user /app
14
  USER user
15
 
16
- # Kloning mutlak dari Repo Telegram Bot
17
  RUN git clone https://github.com/Aqsobb/rut.git .
18
 
19
- # Instalasi dependensi library bot
20
- RUN npm install
21
 
22
- # INJEKSI LOGIKA: Zero-Dependency Healthcheck Server (Bypass HF Port 7860 Rule)
23
  RUN echo "const http = require('http'); \
24
  http.createServer((req, res) => { \
25
  res.writeHead(200, {'Content-Type': 'text/plain'}); \
26
  res.end('AQSOBOTZ TELEGRAM ONLINE 24/7 [NATIVE ARCHITECTURE]'); \
27
  }).listen(7860, () => console.log('[AQSO LOGIC] Healthcheck Active on 7860'));" > health.js
28
 
29
- # INJEKSI LOGIKA: Smart Startup Router
30
- # Mengeksekusi healthcheck di background & mendeteksi entry-point bot secara dinamis
31
  RUN echo '#!/bin/bash\n\
32
  node health.js &\n\
33
- if grep -q "\"start\"" package.json; then\n\
34
  echo "[AQSO LOGIC] Executing via npm start..."\n\
35
  npm start\n\
36
  elif [ -f "index.js" ]; then\n\
@@ -40,12 +38,10 @@ elif [ -f "main.js" ]; then\n\
40
  echo "[AQSO LOGIC] Executing node main.js..."\n\
41
  node main.js\n\
42
  else\n\
43
- echo "[FATAL ERROR] Entry point tidak ditemukan! Pastikan ada index.js atau script start."\n\
44
  exit 1\n\
45
  fi' > start.sh && chmod +x start.sh
46
 
47
- # Ekspos port wajib HF
48
  EXPOSE 7860
49
 
50
- # Eksekusi Final
51
  CMD ["./start.sh"]
 
 
1
  FROM node:22-bookworm-slim
2
 
3
  ENV DEBIAN_FRONTEND=noninteractive
4
  ENV TZ=Asia/Jakarta
5
 
6
+ # INJEKSI LOGIKA 1: Tambahkan build-essential & python3 untuk native modules C++
7
+ RUN apt-get update && apt-get install -y git curl build-essential python3 && rm -rf /var/lib/apt/lists/*
8
 
9
+ # Setup User Space Hugging Face
10
  RUN useradd -m -u 1000 user
11
  WORKDIR /app
12
  RUN chown -R user:user /app
13
  USER user
14
 
15
+ # Tarik Source Code
16
  RUN git clone https://github.com/Aqsobb/rut.git .
17
 
18
+ # INJEKSI LOGIKA 2: Safety Gate npm install (Bypass error jika package.json absen)
19
+ RUN if [ -f package.json ]; then npm install; else echo "[AQSO WARNING] package.json tidak ditemukan. Melewati instalasi dependensi..."; fi
20
 
21
+ # Setup 24/7 Dummy Healthcheck
22
  RUN echo "const http = require('http'); \
23
  http.createServer((req, res) => { \
24
  res.writeHead(200, {'Content-Type': 'text/plain'}); \
25
  res.end('AQSOBOTZ TELEGRAM ONLINE 24/7 [NATIVE ARCHITECTURE]'); \
26
  }).listen(7860, () => console.log('[AQSO LOGIC] Healthcheck Active on 7860'));" > health.js
27
 
28
+ # Smart Startup Router (Error Handler Injected)
 
29
  RUN echo '#!/bin/bash\n\
30
  node health.js &\n\
31
+ if grep -q "\"start\"" package.json 2>/dev/null; then\n\
32
  echo "[AQSO LOGIC] Executing via npm start..."\n\
33
  npm start\n\
34
  elif [ -f "index.js" ]; then\n\
 
38
  echo "[AQSO LOGIC] Executing node main.js..."\n\
39
  node main.js\n\
40
  else\n\
41
+ echo "[FATAL ERROR] Entry point bot tidak ditemukan! Bot gagal menyala."\n\
42
  exit 1\n\
43
  fi' > start.sh && chmod +x start.sh
44
 
 
45
  EXPOSE 7860
46
 
 
47
  CMD ["./start.sh"]