Neon-AI commited on
Commit
54220cf
·
verified ·
1 Parent(s): 1c41698

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +9 -28
Dockerfile CHANGED
@@ -1,60 +1,41 @@
1
  # syntax=docker/dockerfile:1.6
2
  FROM node:20-slim
3
 
4
- # ---------------------------
5
  # 1️⃣ Install git, curl, ca-certificates
6
- # ---------------------------
7
  RUN apt-get update && \
8
  apt-get install -y git curl ca-certificates && \
9
  rm -rf /var/lib/apt/lists/*
10
 
11
- # ---------------------------
12
- # 2️⃣ Install Git LFS manually (works in slim image)
13
- # ---------------------------
14
  RUN curl -sSL https://github.com/git-lfs/git-lfs/releases/download/v3.4.0/git-lfs-linux-amd64-v3.4.0.tar.gz \
15
  | tar -xz -C /tmp && \
16
  mv /tmp/git-lfs-3.4.0/git-lfs /usr/local/bin/ && \
17
  chmod +x /usr/local/bin/git-lfs && \
18
  git lfs install
19
 
20
- # ---------------------------
21
  # 3️⃣ Set working directory
22
- # ---------------------------
23
  WORKDIR /app
24
 
25
- # ---------------------------
26
- # 4️⃣ Clone private GitHub repo via HF Space secret
27
- # ---------------------------
28
  RUN --mount=type=secret,id=GH_TOKEN \
29
  git clone https://$(cat /run/secrets/GH_TOKEN)@github.com/IMaduwike/telebot-api.git temp
30
 
31
  WORKDIR /app/temp
32
 
33
- # ---------------------------
34
- # 5️⃣ Pull LFS files (real binary)
35
- # ---------------------------
36
  RUN git lfs pull
37
 
38
- # ---------------------------
39
- # 6️⃣ Move files to correct locations
40
- # ---------------------------
41
- # App files /app
42
- # Binary /usr/local/bin
43
- RUN mv server.js package.json /app/ \
44
- && mv scripts/start.sh /app/start.sh \
45
- && mv telegram-bot-api /usr/local/bin/telegram-bot-api \
46
- && chmod +x /usr/local/bin/telegram-bot-api /app/start.sh \
47
- && rm -rf /app/temp
48
 
49
  WORKDIR /app
50
 
51
- # ---------------------------
52
  # 7️⃣ Install Node dependencies
53
- # ---------------------------
54
  RUN npm install
55
 
56
- # ---------------------------
57
- # 8️⃣ Expose port and run app
58
- # ---------------------------
59
  EXPOSE 7860
60
  CMD ["./start.sh"]
 
1
  # syntax=docker/dockerfile:1.6
2
  FROM node:20-slim
3
 
 
4
  # 1️⃣ Install git, curl, ca-certificates
 
5
  RUN apt-get update && \
6
  apt-get install -y git curl ca-certificates && \
7
  rm -rf /var/lib/apt/lists/*
8
 
9
+ # 2️⃣ Install Git LFS manually
 
 
10
  RUN curl -sSL https://github.com/git-lfs/git-lfs/releases/download/v3.4.0/git-lfs-linux-amd64-v3.4.0.tar.gz \
11
  | tar -xz -C /tmp && \
12
  mv /tmp/git-lfs-3.4.0/git-lfs /usr/local/bin/ && \
13
  chmod +x /usr/local/bin/git-lfs && \
14
  git lfs install
15
 
 
16
  # 3️⃣ Set working directory
 
17
  WORKDIR /app
18
 
19
+ # 4️⃣ Clone private GitHub repo securely
 
 
20
  RUN --mount=type=secret,id=GH_TOKEN \
21
  git clone https://$(cat /run/secrets/GH_TOKEN)@github.com/IMaduwike/telebot-api.git temp
22
 
23
  WORKDIR /app/temp
24
 
25
+ # 5️⃣ Pull LFS files (ensures binary is real)
 
 
26
  RUN git lfs pull
27
 
28
+ # 6️⃣ Copy everything to /app, then move binary
29
+ RUN cp -r * /app/ && \
30
+ mv /app/telegram-bot-api /usr/local/bin/telegram-bot-api && \
31
+ chmod +x /usr/local/bin/telegram-bot-api && \
32
+ rm -rf /app/temp
 
 
 
 
 
33
 
34
  WORKDIR /app
35
 
 
36
  # 7️⃣ Install Node dependencies
 
37
  RUN npm install
38
 
39
+ # 8️⃣ Expose port and start
 
 
40
  EXPOSE 7860
41
  CMD ["./start.sh"]