diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..f353a64 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,11 @@ +node_modules +npm-debug.log +build +.git +.gitignore +README.md +.env +.env.local +.env.development.local +.env.test.local +.env.production.local \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..f59a716 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,6 @@ +{ + "extends": ["react-app"], + "rules": { + "react/react-in-jsx-scope": "off" + } +} diff --git a/.gitignore b/.gitignore index afb1cfc..c9dcc24 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,27 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js +.history .dist -/node_modules/ +# testing +/coverage .env -/views/compose.ejs -/devstuff/ -/one/ -desktop.ini -public/images/hamburgermenu-l.png -.history \ No newline at end of file +devstuff +.vscode + +# production +/build + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/.npmignore b/.npmignore deleted file mode 100644 index e69de29..0000000 diff --git a/Dockerfile b/Dockerfile index c155c98..4b71cba 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,16 +1,37 @@ -# syntax=docker/dockerfile:1 +# Build stage +FROM --platform=linux/amd64 node:18-alpine AS build -FROM node:12.18.1 -ENV NODE_ENV=production +# Install pnpm +RUN npm install -g pnpm WORKDIR /app -RUN git clone https://github.com/CodeByMini/codebymini +# Copy package files +COPY package.json pnpm-lock.yaml ./ -COPY ["package.json", "package-lock.json*", "./"] - -RUN npm install --production +# Install dependencies +RUN pnpm install --frozen-lockfile +# Copy source code COPY . . -CMD [ "node", "app.js" ] +# Build the app +RUN pnpm build + +# Production stage +FROM --platform=linux/amd64 nginx:1.24.0-alpine + +# Copy built assets from build stage +COPY --from=build /app/build /usr/share/nginx/html + +# Copy nginx configuration +COPY nginx.conf /etc/nginx/conf.d/default.conf + +# Create nginx pid directory +RUN mkdir -p /var/run/nginx + +# Expose port 80 +EXPOSE 80 + +# Start nginx +CMD ["/usr/sbin/nginx", "-g", "daemon off;"] diff --git a/Procfile b/Procfile deleted file mode 100644 index 207d22f..0000000 --- a/Procfile +++ /dev/null @@ -1 +0,0 @@ -web: node app.js \ No newline at end of file diff --git a/README.md b/README.md index beacf66..b7394d9 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@