From 71e705f7c1df5d9f7b467de6b3572b5e17652e5f Mon Sep 17 00:00:00 2001 From: mr-shortman Date: Sun, 16 Mar 2025 15:25:22 +0100 Subject: [PATCH] added dockerfiles --- .dockerignore | 5 +++ Dockerfile | 21 +++++++++++ README.md | 37 +------------------ docker-compose.yml | 10 +++++ .../{(__PAGES__) => (PAGES)}/contact/page.tsx | 0 src/app/{(__PAGES__) => (PAGES)}/layout.tsx | 0 src/app/{(__PAGES__) => (PAGES)}/page.tsx | 0 .../projects/page.tsx | 0 8 files changed, 38 insertions(+), 35 deletions(-) create mode 100644 .dockerignore create mode 100644 Dockerfile create mode 100644 docker-compose.yml rename src/app/{(__PAGES__) => (PAGES)}/contact/page.tsx (100%) rename src/app/{(__PAGES__) => (PAGES)}/layout.tsx (100%) rename src/app/{(__PAGES__) => (PAGES)}/page.tsx (100%) rename src/app/{(__PAGES__) => (PAGES)}/projects/page.tsx (100%) diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..a22b9e3 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,5 @@ +node_modules +.pnpm-store +.next +.env +.DS_Store diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..b5962d8 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,21 @@ +# Use official Node.js image +FROM node:18-alpine + +# Install pnpm globally +RUN npm install -g pnpm + +WORKDIR /app + +# Copy package manager files first for caching +COPY package.json pnpm-lock.yaml ./ + +# Install dependencies using pnpm +RUN pnpm install --frozen-lockfile + +COPY . . + +RUN pnpm build + +EXPOSE 3004 + +CMD ["pnpm", "start", "--port", "3004"] diff --git a/README.md b/README.md index e215bc4..9394d51 100644 --- a/README.md +++ b/README.md @@ -1,36 +1,3 @@ -This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app). +# Pablo Shortman Portfolio -## Getting Started - -First, run the development server: - -```bash -npm run dev -# or -yarn dev -# or -pnpm dev -# or -bun dev -``` - -Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. - -You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. - -This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel. - -## Learn More - -To learn more about Next.js, take a look at the following resources: - -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. -- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. - -You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome! - -## Deploy on Vercel - -The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. - -Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details. +My personal portfolio site built with Next.js. diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..d95cdf9 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,10 @@ +version: "3.8" +services: + nextjs: + build: . + container_name: pablo.shortman.me + environment: + - PORT=3004 + ports: + - "3004:3004" + restart: always diff --git a/src/app/(__PAGES__)/contact/page.tsx b/src/app/(PAGES)/contact/page.tsx similarity index 100% rename from src/app/(__PAGES__)/contact/page.tsx rename to src/app/(PAGES)/contact/page.tsx diff --git a/src/app/(__PAGES__)/layout.tsx b/src/app/(PAGES)/layout.tsx similarity index 100% rename from src/app/(__PAGES__)/layout.tsx rename to src/app/(PAGES)/layout.tsx diff --git a/src/app/(__PAGES__)/page.tsx b/src/app/(PAGES)/page.tsx similarity index 100% rename from src/app/(__PAGES__)/page.tsx rename to src/app/(PAGES)/page.tsx diff --git a/src/app/(__PAGES__)/projects/page.tsx b/src/app/(PAGES)/projects/page.tsx similarity index 100% rename from src/app/(__PAGES__)/projects/page.tsx rename to src/app/(PAGES)/projects/page.tsx