FROM node:22-alpine AS builder WORKDIR /app COPY package*.json ./ RUN apk add --no-cache --virtual .build-deps \ python3 \ make \ g++ \ gcc \ linux-headers \ git \ py3-setuptools \ && npm install --omit=dev \ && apk del .build-deps # ============================================================ # Runtime image # ============================================================ FROM node:22-alpine RUN apk add --no-cache \ bash \ bind-tools \ curl \ iptables \ iproute2 \ openresolv \ wireguard-tools WORKDIR /app COPY --from=builder /app/node_modules ./node_modules COPY package*.json ./ COPY ./src ./src COPY ./wg/start.sh /app/start.sh RUN chmod +x /app/start.sh RUN mkdir -p /app/db /app/uploads EXPOSE 3001 CMD ["/bin/bash", "/app/start.sh"]