27 lines
787 B
Docker
27 lines
787 B
Docker
# T5DE's website (t5de.dev) as a standalone Next.js server:
|
|
#
|
|
# docker build -t t5de-site .
|
|
# docker run -p 4200:4200 t5de-site
|
|
|
|
FROM oven/bun:1.4.4 AS bun
|
|
|
|
FROM node:26-slim AS build
|
|
COPY --from=bun /usr/local/bin/bun /usr/local/bin/bun
|
|
WORKDIR /app
|
|
ENV NEXT_TELEMETRY_DISABLED=1
|
|
# Dependencies first, so they're cached while only source changes.
|
|
COPY package.json bun.lock ./
|
|
RUN bun install --frozen-lockfile
|
|
COPY . .
|
|
RUN bun run build
|
|
|
|
FROM node:26-slim
|
|
WORKDIR /app
|
|
ENV NODE_ENV=production NEXT_TELEMETRY_DISABLED=1 PORT=4200 HOSTNAME=0.0.0.0
|
|
COPY --from=build --chown=node:node /app/.next/standalone ./
|
|
COPY --from=build --chown=node:node /app/.next/static ./.next/static
|
|
COPY --from=build --chown=node:node /app/public ./public
|
|
USER node
|
|
EXPOSE 4200
|
|
CMD ["node", "server.js"]
|