From 78c9224deaeb9958ef66030a90cbbfe4fb347841 Mon Sep 17 00:00:00 2001 From: chinnsenn Date: Tue, 7 Oct 2025 16:10:56 +0900 Subject: [PATCH 1/2] support docker/docker compose --- Dockerfile | 28 ++++++++++++++++++++++++++++ docker-compose.yml | 8 ++++++++ 2 files changed, 36 insertions(+) create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..382864c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,28 @@ +# 使用官方 Node.js 20 版本作为基础镜像 +FROM node:20-alpine + +# 设置工作目录 +WORKDIR /app + +# 复制 package.json 和 package-lock.json(或 pnpm-lock.yaml)以利用缓存 +COPY package.json package-lock.json* pnpm-lock.yaml* ./ + +# 安装依赖(根据你使用的包管理器选择) +RUN npm install +# 如果使用 pnpm,替换为: +# RUN npm install -g pnpm && pnpm install + +# 复制项目所有文件 +COPY . . + +# 构建 Next.js 应用 +RUN npm run build +# 或 pnpm run build + +# 暴露应用端口(默认 Next.js 生产端口为3000) +EXPOSE 3000 + +# 启动应用 +CMD ["npm", "start"] +# 或 pnpm 启动 +# CMD ["pnpm", "start"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..644a09a --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,8 @@ +services: + openstock: + build: . + ports: + - "3000:3000" + env_file: + - .env + restart: unless-stopped From c8f7adecd9a1a4ecd0672a7d02e4f01655fc869f Mon Sep 17 00:00:00 2001 From: chinnsenn Date: Wed, 8 Oct 2025 14:39:00 +0900 Subject: [PATCH 2/2] improve Dockerfile --- Dockerfile | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/Dockerfile b/Dockerfile index 382864c..39d6678 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,28 +1,31 @@ -# 使用官方 Node.js 20 版本作为基础镜像 +# Use official Node.js 20 Alpine image as base FROM node:20-alpine -# 设置工作目录 +# Set working directory WORKDIR /app -# 复制 package.json 和 package-lock.json(或 pnpm-lock.yaml)以利用缓存 -COPY package.json package-lock.json* pnpm-lock.yaml* ./ +# Copy package.json and package-lock.json to leverage Docker cache +COPY package*.json ./ +# Uncomment the next line if you use pnpm and have pnpm-lock.yaml +# COPY pnpm-lock.yaml ./ -# 安装依赖(根据你使用的包管理器选择) +# Install dependencies (choose npm or pnpm) RUN npm install -# 如果使用 pnpm,替换为: +# If using pnpm, replace with: # RUN npm install -g pnpm && pnpm install -# 复制项目所有文件 +# Copy all project files COPY . . -# 构建 Next.js 应用 +# Build the Next.js application RUN npm run build -# 或 pnpm run build +# Or if using pnpm: +# RUN pnpm run build -# 暴露应用端口(默认 Next.js 生产端口为3000) +# Expose the port Next.js runs on EXPOSE 3000 -# 启动应用 +# Start the Next.js production server CMD ["npm", "start"] -# 或 pnpm 启动 +# Or if using pnpm: # CMD ["pnpm", "start"]