|
|
FROM node:20-bookworm |
|
|
|
|
|
|
|
|
RUN apt-get update \ |
|
|
&& apt-get install -y --no-install-recommends nginx redis-server gettext-base \ |
|
|
&& rm -rf /var/lib/apt/lists/* |
|
|
|
|
|
WORKDIR /app |
|
|
|
|
|
|
|
|
ENV PNPM_HOME=/root/.local/share/pnpm |
|
|
ENV PATH="$PNPM_HOME:$PATH" |
|
|
RUN corepack enable && corepack prepare pnpm@10.11.0 --activate |
|
|
|
|
|
|
|
|
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./ |
|
|
COPY apps/backend/package.json apps/backend/pnpm-lock.yaml ./apps/backend/ |
|
|
COPY apps/frontend/package.json apps/frontend/pnpm-lock.yaml ./apps/frontend/ |
|
|
|
|
|
|
|
|
RUN pnpm install --frozen-lockfile |
|
|
|
|
|
|
|
|
COPY . . |
|
|
|
|
|
|
|
|
ENV NODE_ENV=production \ |
|
|
DOCKER_BACKEND_URL=http://127.0.0.1:3001 \ |
|
|
NEXT_PUBLIC_URL=http://127.0.0.1:7860 \ |
|
|
PUBLIC_SOCKET_URL= |
|
|
|
|
|
RUN pnpm --filter @myclipboard.online/backend build \ |
|
|
&& pnpm --filter @myclipboard.online/frontend build |
|
|
|
|
|
|
|
|
RUN rm -f /etc/nginx/sites-enabled/default /etc/nginx/sites-available/default || true |
|
|
|
|
|
EXPOSE 7860 |
|
|
|
|
|
CMD ["bash", "deploy/hf/start.sh"] |
|
|
|