soxogvv commited on
Commit
96d37b1
Β·
verified Β·
1 Parent(s): 285250b

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +27 -38
Dockerfile CHANGED
@@ -20,12 +20,6 @@ RUN apt-get update && apt-get upgrade -y && \
20
  && rm -rf /var/lib/apt/lists/*
21
 
22
  # ── Install bore ──────────────────────────────────────────────────────────────
23
- RUN wget -q "https://github.com/ekzhang/bore/releases/download/v0.5.0/bore-v0.5.0-x86_64-unknown-linux-musl.tar.gz" \
24
- -O /tmp/bore.tar.gz && \
25
- tar -xzf /tmp/bore.tar.gz -C /usr/local/bin bore && \
26
- chmod +x /usr/local/bin/bore && \
27
- rm /tmp/bore.tar.gz
28
-
29
  # ── Pin a stable machine-id ───────────────────────────────────────────────────
30
  RUN echo "d8904b4d338adf83688caac869f64c0b" > /etc/machine-id && \
31
  mkdir -p /var/lib/dbus && \
@@ -43,7 +37,7 @@ ENV HOME=/root \
43
  # ── Install shellular globally ────────────────────────────────────────────────
44
  RUN npm install -g --prefix /usr/local shellular
45
 
46
- # ── Create Python venv-seed ───────────────────────────────────────────────────
47
  RUN python3 -m venv /root/venv && \
48
  /root/venv/bin/pip install --upgrade pip && \
49
  /root/venv/bin/pip install huggingface_hub && \
@@ -55,25 +49,10 @@ RUN echo 'export PS1="\u@kanha:\w\$ "' >> /root/.bashrc && \
55
  echo 'cd /data' >> /root/.bash_profile
56
 
57
  # ── Force pip/python β†’ always use /root/venv ─────────────────────────────────
58
- RUN printf '%s\n' \
59
- '#!/bin/sh' \
60
- 'exec /root/venv/bin/pip "$@"' \
61
- > /usr/local/bin/pip && chmod +x /usr/local/bin/pip && \
62
- \
63
- printf '%s\n' \
64
- '#!/bin/sh' \
65
- 'exec /root/venv/bin/pip3 "$@"' \
66
- > /usr/local/bin/pip3 && chmod +x /usr/local/bin/pip3 && \
67
- \
68
- printf '%s\n' \
69
- '#!/bin/sh' \
70
- 'exec /root/venv/bin/python "$@"' \
71
- > /usr/local/bin/python && chmod +x /usr/local/bin/python && \
72
- \
73
- printf '%s\n' \
74
- '#!/bin/sh' \
75
- 'exec /root/venv/bin/python3 "$@"' \
76
- > /usr/local/bin/python3 && chmod +x /usr/local/bin/python3
77
 
78
  # ── apt/apt-get wrapper β†’ saves installed packages to /data/apt.txt ──────────
79
  RUN printf '%s\n' \
@@ -99,15 +78,19 @@ RUN printf '%s\n' \
99
  '"$REAL_BIN" "$@"' \
100
  > /usr/local/bin/_apt_wrapper && chmod +x /usr/local/bin/_apt_wrapper
101
 
102
- RUN printf '%s\n' \
103
- '#!/bin/sh' \
104
- 'exec /usr/local/bin/_apt_wrapper /usr/bin/apt "$@"' \
105
  > /usr/local/bin/apt && chmod +x /usr/local/bin/apt
106
 
 
 
 
 
107
  RUN printf '%s\n' \
108
  '#!/bin/sh' \
109
- 'exec /usr/local/bin/_apt_wrapper /usr/bin/apt-get "$@"' \
110
- > /usr/local/bin/apt-get && chmod +x /usr/local/bin/apt-get
 
 
111
 
112
  # ── Ensure /data exists ───────────────────────────────────────────────────────
113
  RUN mkdir -p /data
@@ -130,10 +113,16 @@ ENV PORT=7860
130
  ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]
131
 
132
  CMD ["bash", "-c", "\
133
- chown -R root:root /data || true && \
134
- chmod -R 755 /data || true && \
135
- git config --global --add safe.directory '*' && \
136
- if [ -f /data/apt.txt ]; then \
137
- apt-get update && xargs -r apt-get install -y < /data/apt.txt; \
138
- fi && \
139
- exec node /root/app/app.js"]
 
 
 
 
 
 
 
20
  && rm -rf /var/lib/apt/lists/*
21
 
22
  # ── Install bore ──────────────────────────────────────────────────────────────
 
 
 
 
 
 
23
  # ── Pin a stable machine-id ───────────────────────────────────────────────────
24
  RUN echo "d8904b4d338adf83688caac869f64c0b" > /etc/machine-id && \
25
  mkdir -p /var/lib/dbus && \
 
37
  # ── Install shellular globally ────────────────────────────────────────────────
38
  RUN npm install -g --prefix /usr/local shellular
39
 
40
+ # ── Create Python venv ────────────────────────────────────────────────────────
41
  RUN python3 -m venv /root/venv && \
42
  /root/venv/bin/pip install --upgrade pip && \
43
  /root/venv/bin/pip install huggingface_hub && \
 
49
  echo 'cd /data' >> /root/.bash_profile
50
 
51
  # ── Force pip/python β†’ always use /root/venv ─────────────────────────────────
52
+ RUN printf '%s\n' '#!/bin/sh' 'exec /root/venv/bin/pip "$@"' > /usr/local/bin/pip && chmod +x /usr/local/bin/pip && \
53
+ printf '%s\n' '#!/bin/sh' 'exec /root/venv/bin/pip3 "$@"' > /usr/local/bin/pip3 && chmod +x /usr/local/bin/pip3 && \
54
+ printf '%s\n' '#!/bin/sh' 'exec /root/venv/bin/python "$@"' > /usr/local/bin/python && chmod +x /usr/local/bin/python && \
55
+ printf '%s\n' '#!/bin/sh' 'exec /root/venv/bin/python3 "$@"' > /usr/local/bin/python3 && chmod +x /usr/local/bin/python3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
56
 
57
  # ── apt/apt-get wrapper β†’ saves installed packages to /data/apt.txt ──────────
58
  RUN printf '%s\n' \
 
78
  '"$REAL_BIN" "$@"' \
79
  > /usr/local/bin/_apt_wrapper && chmod +x /usr/local/bin/_apt_wrapper
80
 
81
+ RUN printf '%s\n' '#!/bin/sh' 'exec /usr/local/bin/_apt_wrapper /usr/bin/apt "$@"' \
 
 
82
  > /usr/local/bin/apt && chmod +x /usr/local/bin/apt
83
 
84
+ RUN printf '%s\n' '#!/bin/sh' 'exec /usr/local/bin/_apt_wrapper /usr/bin/apt-get "$@"' \
85
+ > /usr/local/bin/apt-get && chmod +x /usr/local/bin/apt-get
86
+
87
+ # ── Create entrypoint script ──────────────────────────────────────────────────
88
  RUN printf '%s\n' \
89
  '#!/bin/sh' \
90
+ 'set -e' \
91
+ 'exec "$@"' \
92
+ > /usr/local/bin/docker-entrypoint.sh && \
93
+ chmod +x /usr/local/bin/docker-entrypoint.sh
94
 
95
  # ── Ensure /data exists ───────────────────────────────────────────────────────
96
  RUN mkdir -p /data
 
113
  ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]
114
 
115
  CMD ["bash", "-c", "\
116
+ { \
117
+ chown -R root:root /data 2>/dev/null; \
118
+ chmod -R 755 /data 2>/dev/null; \
119
+ git config --global --add safe.directory '*' 2>/dev/null; \
120
+ if [ -f /data/apt.txt ]; then \
121
+ apt-get update -qq 2>/dev/null; \
122
+ while IFS= read -r pkg || [ -n \"$pkg\" ]; do \
123
+ [ -z \"$pkg\" ] && continue; \
124
+ apt-get install -y -qq \"$pkg\" 2>/dev/null || true; \
125
+ done < /data/apt.txt; \
126
+ fi \
127
+ } & \
128
+ exec node /root/app/app.js"]