Aqso commited on
Commit
793a2bb
·
verified ·
1 Parent(s): 33341ab

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +9 -14
Dockerfile CHANGED
@@ -1,42 +1,37 @@
1
- # Gunakan base image Python standar Hugging Face
2
  FROM python:3.10-slim
3
 
4
- # 1. SETUP SYSTEM (ROOT PHASE)
5
  USER root
 
6
  RUN apt-get update && apt-get install -y \
7
  curl git procps gnupg ca-certificates \
8
  && curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \
9
  && apt-get install -y nodejs \
10
  && rm -rf /var/lib/apt/lists/*
11
 
12
- # 2. INSTALL TTYD MANUALLY (Fix Error: Unable to locate package)
13
- # Kita ambil binary langsung dari GitHub karena repo Debian Trixie belum ada ttyd
14
  RUN curl -fsSL https://github.com/tsl0922/ttyd/releases/download/1.7.3/ttyd.x86_64 -o /usr/local/bin/ttyd && \
15
  chmod +x /usr/local/bin/ttyd
16
 
17
- # 3. MASKING & SCRIPT GLOBAL (DNS & Path Fix Included)
18
- # Kita rename node agar tidak terdeteksi sebagai bot engine
19
  RUN ln -s $(command -v node) /usr/local/bin/python-internal-service && \
20
  printf "#!/bin/bash\n\
21
  export NODE_OPTIONS='--dns-result-order=ipv4first'\n\
22
- # Flag -b /terminal wajib agar tidak 404 saat diakses via proxy\n\
23
- ttyd -p 8080 -b /terminal bash &\n\
 
 
24
  if [ -f 'bot.js' ]; then python-internal-service bot.js & fi\n\
25
  python main.py\n" > /usr/local/bin/start-app && \
26
  chmod +x /usr/local/bin/start-app
27
 
28
- # 4. USER PREP & PYTHON DEPENDENCIES
29
  RUN useradd -m -u 1000 user && \
30
  pip install --no-cache-dir fastapi uvicorn httpx websockets
31
  WORKDIR /home/user
32
 
33
- # 5. FINAL COPY & PERMISSION
34
- # Pastikan semua file di-copy dengan ownership user 1000
35
  USER user
36
  COPY --chown=user:user . .
37
 
38
- # Port standar Hugging Face
39
  EXPOSE 7860
40
-
41
- # Jalankan skrip orkestrasi
42
  CMD ["start-app"]
 
 
1
  FROM python:3.10-slim
2
 
 
3
  USER root
4
+ # 1. INSTALL SYSTEM
5
  RUN apt-get update && apt-get install -y \
6
  curl git procps gnupg ca-certificates \
7
  && curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \
8
  && apt-get install -y nodejs \
9
  && rm -rf /var/lib/apt/lists/*
10
 
11
+ # 2. INSTALL TTYD MANUALLY
 
12
  RUN curl -fsSL https://github.com/tsl0922/ttyd/releases/download/1.7.3/ttyd.x86_64 -o /usr/local/bin/ttyd && \
13
  chmod +x /usr/local/bin/ttyd
14
 
15
+ # 3. MASKING & SCRIPT GLOBAL (DNS & Delay Fix)
 
16
  RUN ln -s $(command -v node) /usr/local/bin/python-internal-service && \
17
  printf "#!/bin/bash\n\
18
  export NODE_OPTIONS='--dns-result-order=ipv4first'\n\
19
+ # Jalankan ttyd dengan flag -W (writable) dan -t (custom title)\n\
20
+ ttyd -p 8080 -b /terminal -W -t 'terminal_type=xterm-256color' bash &\n\
21
+ # Tunggu 5 detik agar ttyd siap (FIX RECONNECT)\n\
22
+ sleep 5\n\
23
  if [ -f 'bot.js' ]; then python-internal-service bot.js & fi\n\
24
  python main.py\n" > /usr/local/bin/start-app && \
25
  chmod +x /usr/local/bin/start-app
26
 
27
+ # 4. USER & DEPS
28
  RUN useradd -m -u 1000 user && \
29
  pip install --no-cache-dir fastapi uvicorn httpx websockets
30
  WORKDIR /home/user
31
 
32
+ # 5. FINAL COPY
 
33
  USER user
34
  COPY --chown=user:user . .
35
 
 
36
  EXPOSE 7860
 
 
37
  CMD ["start-app"]