Archived
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eb70cc728d | ||
|
|
0d853e695f | ||
|
|
93d94616b5 | ||
|
|
6f68f2069d | ||
|
|
bbd466e050 | ||
|
|
2fa30e0ed1 | ||
|
|
247ada2b0e | ||
|
|
5132ab81b7 | ||
|
|
85f6efc82c | ||
|
|
13904c9992 | ||
|
|
f8a10a8ff0 | ||
|
|
eab07b849c | ||
|
|
b3477bb980 | ||
|
|
fb90fb637a | ||
|
|
d3cb564e1e | ||
|
|
16d874cf54 | ||
|
|
71e705f7c1 |
@@ -0,0 +1,5 @@
|
|||||||
|
node_modules
|
||||||
|
.pnpm-store
|
||||||
|
.next
|
||||||
|
.env
|
||||||
|
.DS_Store
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
name: Deploy Next.js App
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
deploy:
|
||||||
|
runs-on: linux
|
||||||
|
steps:
|
||||||
|
- name: Setup SSH Key
|
||||||
|
run: |
|
||||||
|
mkdir -p ~/.ssh
|
||||||
|
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519
|
||||||
|
chmod 600 ~/.ssh/id_ed25519
|
||||||
|
ssh-keyscan -H "${{ secrets.SSH_HOST }}" >> ~/.ssh/known_hosts
|
||||||
|
- name: Deploy via SSH
|
||||||
|
run: ssh ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} "bash ~/deploy.sh ${{ secrets.PROJECT_DEPLOYMENT_PATH }}"
|
||||||
+15
@@ -0,0 +1,15 @@
|
|||||||
|
FROM node:18-alpine
|
||||||
|
|
||||||
|
RUN npm install -g pnpm
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY package.json pnpm-lock.yaml ./
|
||||||
|
|
||||||
|
RUN pnpm install --frozen-lockfile
|
||||||
|
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
RUN pnpm build
|
||||||
|
|
||||||
|
CMD ["pnpm", "start"]
|
||||||
@@ -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
|
My personal portfolio site built with Next.js.
|
||||||
|
|
||||||
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.
|
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ -z "$1" ]; then
|
||||||
|
echo "Usage: $0 <project_path>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
PROJECT_PATH=$1
|
||||||
|
|
||||||
|
echo "Deploying project..."
|
||||||
|
cd "$PROJECT_PATH" || { echo "Directory not found: $PROJECT_PATH"; exit 1; }
|
||||||
|
git pull origin main
|
||||||
|
docker-compose up -d --build
|
||||||
|
echo "Deployment finished!"
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
version: "3.8"
|
||||||
|
services:
|
||||||
|
nextjs:
|
||||||
|
build: .
|
||||||
|
deploy:
|
||||||
|
update_config:
|
||||||
|
parallelism: 1
|
||||||
|
delay: 5s
|
||||||
|
order: start-first
|
||||||
|
container_name: pablo.shortman.me
|
||||||
|
restart: always
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.pablo-shortman-me.rule=Host(`pablo.shortman.me`)"
|
||||||
|
- "traefik.http.routers.pablo-shortman-me.entrypoints=websecure"
|
||||||
|
- "traefik.http.services.pablo-shortman-me.loadbalancer.server.port=3000"
|
||||||
|
- "traefik.http.routers.pablo-shortman-me.tls.certresolver=myresolver"
|
||||||
|
expose:
|
||||||
|
- "3000"
|
||||||
|
networks:
|
||||||
|
- webproxy
|
||||||
|
networks:
|
||||||
|
webproxy:
|
||||||
|
external: true
|
||||||
Reference in New Issue
Block a user