File size: 919 Bytes
921ca65
690c06c
 
 
40154d7
690c06c
 
 
40154d7
30f2113
 
 
 
 
 
 
 
690c06c
 
 
30f2113
690c06c
30f2113
690c06c
40154d7
dd6b2df
 
 
 
690c06c
921ca65
690c06c
921ca65
690c06c
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
FROM node:20-slim

WORKDIR /app

# Install dependencies for node-canvas + CA certificates
RUN apt-get update && \
    DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
    git \
    ca-certificates \
    build-essential \
    libcairo2-dev \
    libpango1.0-dev \
    libjpeg-dev \
    libgif-dev \
    librsvg2-dev \
    pkg-config \
    python3 \
    fonts-noto \
    fonts-noto-cjk \
    imagemagick \
    libssl-dev \
    uuid-dev \
    libvips-dev && \
    rm -rf /var/lib/apt/lists/*

# Clone repo pakai secrets
RUN --mount=type=secret,id=GITHUB_TOKEN,mode=0444 \
    --mount=type=secret,id=GITHUB_REPO,mode=0444 \
    git clone https://$(cat /run/secrets/GITHUB_TOKEN)@github.com/$(cat /run/secrets/GITHUB_REPO).git /app

# Copy package.json & install deps
COPY package*.json ./
RUN npm install --build-from-source=canvas

# Copy source code
COPY . .

EXPOSE 7860

CMD ["npm", "start"]