lemmy-ui/dev.dockerfile

40 lines
981 B
Docker

FROM node:20-alpine as builder
RUN apk update && apk add curl python3 build-base gcc wget git --no-cache
RUN corepack enable pnpm
WORKDIR /usr/src/app
ENV npm_config_target_arch=x64
ENV npm_config_target_platform=linux
ENV npm_config_target_libc=musl
# Cache deps
COPY package.json pnpm-lock.yaml ./
RUN pnpm i --prefer-offline
# Build
COPY generate_translations.js \
tsconfig.json \
webpack.config.js \
.babelrc \
./
COPY lemmy-translations lemmy-translations
COPY src src
COPY .git .git
# Set UI version
RUN echo "export const VERSION = 'dev';" > "src/shared/version.ts"
RUN echo "export const BUILD_DATE_ISO8601 = '$(date -u +"%Y-%m-%dT%H:%M:%SZ")';" > "src/shared/build-date.ts"
RUN pnpm i --prefer-offline
RUN pnpm build:dev
FROM node:20-alpine as runner
COPY --from=builder /usr/src/app/dist /app/dist
COPY --from=builder /usr/src/app/node_modules /app/node_modules
EXPOSE 1234
WORKDIR /app
CMD node dist/js/server.js