FROM node:22-bookworm-slim AS build

WORKDIR /misskey

COPY package.json package-lock.json .npmrc ./
RUN npm ci --no-audit --no-fund

COPY . .
RUN cp docker/default.yml .config/default.yml \
	&& cp docker/test.yml .config/test.yml \
	&& NODE_ENV=production npm run build

FROM node:22-bookworm-slim AS runtime

RUN apt-get update \
	&& apt-get install -y --no-install-recommends ca-certificates imagemagick \
	&& rm -rf /var/lib/apt/lists/*

WORKDIR /misskey
ENV NODE_ENV=production

COPY --from=build /misskey ./

EXPOSE 3000
CMD ["npm", "start"]
