Update Dockerfile
Browse files- Dockerfile +23 -30
Dockerfile
CHANGED
@@ -1,47 +1,40 @@
|
|
1 |
-
# Gunakan Node.js LTS
|
2 |
FROM node:lts
|
3 |
|
4 |
-
# Install pnpm
|
5 |
RUN npm install -g pnpm
|
|
|
6 |
|
7 |
-
#
|
8 |
-
RUN apt-get update && apt-get install -y git && rm -rf /var/lib/apt/lists/*
|
9 |
-
|
10 |
-
# Menyalin file cookies.json dari folder lokal ke container
|
11 |
-
COPY ./cookies.json /cookies.json
|
12 |
-
|
13 |
-
# ENV
|
14 |
-
ENV API_URL=https://chrunos-load.hf.space
|
15 |
-
ENV COOKIE_PATH=/cookies.json
|
16 |
-
ENV JWT_SECRET=eMdOGxjYn_nL0OlJdANOLLRim4UHItapf0fRmOC5q_yfLj0fMaPihbCn8sbJPBOm
|
17 |
-
|
18 |
-
# Atur variabel lingkungan
|
19 |
ENV HOME=/home/user \
|
20 |
-
PATH=/home/user/.local/bin:$PATH
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
|
22 |
-
# Buat pengguna non-root untuk keamanan
|
23 |
-
RUN useradd -o -u 1000 user && mkdir -p $HOME/app && chown -R user $HOME
|
24 |
-
|
25 |
-
# Alihkan ke pengguna non-root
|
26 |
USER user
|
27 |
-
|
28 |
-
# Atur direktori kerja
|
29 |
WORKDIR $HOME/app
|
30 |
|
|
|
31 |
|
|
|
32 |
|
33 |
-
# Kloning repositori
|
34 |
-
RUN git clone -b queue https://github.com/imputnet/cobalt
|
35 |
-
|
36 |
-
# Masuk ke direktori proyek
|
37 |
WORKDIR $HOME/app/cobalt/api/src
|
38 |
|
39 |
-
# Instal dependensi dengan pnpm
|
40 |
RUN pnpm install
|
41 |
|
42 |
-
# Atur port dan variabel lingkungan
|
43 |
-
ENV API_PORT=7860
|
44 |
EXPOSE 7860
|
45 |
|
46 |
-
#
|
47 |
-
CMD ["
|
|
|
|
|
1 |
FROM node:lts
|
2 |
|
3 |
+
# Install pnpm and diagnostic tools
|
4 |
RUN npm install -g pnpm
|
5 |
+
RUN apt-get update && apt-get install -y git curl && rm -rf /var/lib/apt/lists/*
|
6 |
|
7 |
+
# Set environment variables
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
ENV HOME=/home/user \
|
9 |
+
PATH=/home/user/.local/bin:$PATH \
|
10 |
+
API_URL=https://chrunos-test.hf.space \
|
11 |
+
API_PORT=7860 \
|
12 |
+
USER_AGENT="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" \
|
13 |
+
ACCEPT_LANGUAGE="en-US,en;q=0.9"
|
14 |
+
|
15 |
+
# Create user and set up directories
|
16 |
+
RUN useradd -o -u 1000 user && \
|
17 |
+
mkdir -p $HOME/app && \
|
18 |
+
mkdir -p /app/cookies && \
|
19 |
+
chown -R user:user $HOME /app/cookies
|
20 |
+
|
21 |
+
ENV COOKIE_PATH=/app/cookies/cookies.json
|
22 |
+
RUN touch /app/cookies/cookies.json && \
|
23 |
+
chown user:user /app/cookies/cookies.json && \
|
24 |
+
chmod 644 /app/cookies/cookies.json
|
25 |
|
|
|
|
|
|
|
|
|
26 |
USER user
|
|
|
|
|
27 |
WORKDIR $HOME/app
|
28 |
|
29 |
+
RUN git clone -b main https://github.com/imputnet/cobalt
|
30 |
|
31 |
+
COPY --chown=user:user ./cookies.json /app/cookies/cookies.json
|
32 |
|
|
|
|
|
|
|
|
|
33 |
WORKDIR $HOME/app/cobalt/api/src
|
34 |
|
|
|
35 |
RUN pnpm install
|
36 |
|
|
|
|
|
37 |
EXPOSE 7860
|
38 |
|
39 |
+
# Add proxy and request headers during runtime
|
40 |
+
CMD ["sh", "-c", "export HTTP_PROXY=http://proxy.hf.space:8080 && export HTTPS_PROXY=http://proxy.hf.space:8080 && export YOUTUBE_API_KEY=YOUR_API_KEY && pnpm start"]
|