| |
| FROM node:21-bullseye |
|
|
| |
| ENV TZ=Asia/Jakarta \ |
| DEBIAN_FRONTEND=noninteractive \ |
| PORT=7860 \ |
| MADE=DITZDEV |
|
|
| |
| RUN apt-get update && apt-get install -y --no-install-recommends \ |
| ffmpeg \ |
| imagemagick \ |
| webp \ |
| python3 \ |
| python3-pip \ |
| git \ |
| ca-certificates \ |
| fonts-liberation \ |
| fonts-dejavu \ |
| fonts-noto-color-emoji \ |
| |
| && rm -rf /var/lib/apt/lists/* \ |
| && apt-get clean |
|
|
| |
| RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone |
|
|
| |
| WORKDIR /app |
|
|
| |
| RUN --mount=type=secret,id=GITHUB_REPO,required=true \ |
| git clone $(cat /run/secrets/GITHUB_REPO) DITZDEV-SERVER |
|
|
| |
| WORKDIR /app/DITZDEV-SERVER |
|
|
| |
| COPY package*.json ./ |
| RUN npm ci --only=production \ |
| && npm cache clean --force |
|
|
| |
| |
| |
|
|
| |
| COPY . . |
|
|
| |
| RUN chmod -R 777 /app |
|
|
| |
| EXPOSE 7860 |
|
|
| |
| CMD ["node", "index.js"] |