Update Dockerfile
Browse files- Dockerfile +19 -14
Dockerfile
CHANGED
|
@@ -4,10 +4,10 @@ ENV DEBIAN_FRONTEND=noninteractive
|
|
| 4 |
ENV HOSTNAME=Nobita
|
| 5 |
|
| 6 |
# -----------------------------
|
| 7 |
-
# 1. Install Node.js v20 &
|
| 8 |
# -----------------------------
|
| 9 |
RUN apt-get update && apt-get install -y --no-install-recommends \
|
| 10 |
-
ca-certificates curl wget git sudo procps
|
| 11 |
&& curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
|
| 12 |
&& apt-get install -y nodejs \
|
| 13 |
&& rm -rf /var/lib/apt/lists/*
|
|
@@ -23,23 +23,28 @@ RUN curl -fsSL https://code-server.dev/install.sh | sh
|
|
| 23 |
RUN useradd -m -u 1000 user
|
| 24 |
WORKDIR /home/user/app
|
| 25 |
|
| 26 |
-
#
|
| 27 |
-
RUN mkdir -p /tmp/vsc /tmp/ext /tmp/
|
| 28 |
-
chown -R user:user /tmp/vsc /tmp/ext /tmp/dns /home/user/app
|
| 29 |
|
| 30 |
USER user
|
| 31 |
EXPOSE 7860
|
| 32 |
|
| 33 |
# -----------------------------
|
| 34 |
-
# 4.
|
| 35 |
-
# -----------------------------
|
| 36 |
-
|
| 37 |
-
#
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
#
|
| 41 |
-
|
| 42 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 43 |
code-server --bind-addr 0.0.0.0:7860 \
|
| 44 |
--auth none \
|
| 45 |
--user-data-dir /tmp/vsc \
|
|
|
|
| 4 |
ENV HOSTNAME=Nobita
|
| 5 |
|
| 6 |
# -----------------------------
|
| 7 |
+
# 1. Install Node.js v20 & Tools
|
| 8 |
# -----------------------------
|
| 9 |
RUN apt-get update && apt-get install -y --no-install-recommends \
|
| 10 |
+
ca-certificates curl wget git sudo procps \
|
| 11 |
&& curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
|
| 12 |
&& apt-get install -y nodejs \
|
| 13 |
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
| 23 |
RUN useradd -m -u 1000 user
|
| 24 |
WORKDIR /home/user/app
|
| 25 |
|
| 26 |
+
# Folder temp biar aman
|
| 27 |
+
RUN mkdir -p /tmp/vsc /tmp/ext && chown -R user:user /tmp/vsc /tmp/ext /home/user/app
|
|
|
|
| 28 |
|
| 29 |
USER user
|
| 30 |
EXPOSE 7860
|
| 31 |
|
| 32 |
# -----------------------------
|
| 33 |
+
# 4. STARTUP (THE GHOST INJECTION)
|
| 34 |
+
# -----------------------------
|
| 35 |
+
CMD bash -c " \
|
| 36 |
+
# A. BUAT SCRIPT INJEKSI DNS (Nancep di Node.js)
|
| 37 |
+
echo \"const dns = require('node:dns'); dns.setServers(['8.8.8.8', '1.1.1.1']); console.log('🛡️ DNS Google Terinjeksi ke Runtime Node!');\" > /home/user/app/inject.js; \
|
| 38 |
+
\
|
| 39 |
+
# B. SET ENV VARIABLE (Biar Node.js otomatis pake inject.js)
|
| 40 |
+
export NODE_OPTIONS='--require /home/user/app/inject.js'; \
|
| 41 |
+
\
|
| 42 |
+
# C. SUNTIK BASH (Biar terminal VS Code otomatis pake DNS Google)
|
| 43 |
+
echo \"alias curl='curl --dns-servers 8.8.8.8'\" >> ~/.bashrc; \
|
| 44 |
+
echo \"alias npm='npm --dns=8.8.8.8'\" >> ~/.bashrc; \
|
| 45 |
+
echo \"export NODE_OPTIONS='--require /home/user/app/inject.js'\" >> ~/.bashrc; \
|
| 46 |
+
\
|
| 47 |
+
# D. JALANKAN VS CODE
|
| 48 |
code-server --bind-addr 0.0.0.0:7860 \
|
| 49 |
--auth none \
|
| 50 |
--user-data-dir /tmp/vsc \
|