# Gunakan Node.js LTS | |
FROM node:lts | |
# Perbarui npm ke versi terbaru | |
RUN npm install -g npm@latest | |
# Pasang Git | |
RUN apt-get update && apt-get install -y git && rm -rf /var/lib/apt/lists/* | |
# Atur variabel lingkungan | |
ENV HOME=/home/user \ | |
PATH=/home/user/.local/bin:$PATH | |
# Buat pengguna non-root untuk keamanan | |
RUN useradd -o -u 1000 user && mkdir -p $HOME/app && chown -R user $HOME | |
# Alihkan ke pengguna non-root | |
USER user | |
# Atur direktori kerja | |
WORKDIR $HOME/app | |
# Kloning repositori | |
RUN git clone https://github.com/imputnet/cobalt | |
# Masuk ke direktori proyek | |
WORKDIR $HOME/app/cobalt/api/src | |
# Instal dependensi Node.js | |
RUN npm install | |
# Atur port dan variabel lingkungan | |
ENV PORT=7860 | |
EXPOSE 7860 | |
# Perintah untuk menjalankan aplikasi | |
CMD ["npm", "start"] |