49 lines
1.3 KiB
Markdown
49 lines
1.3 KiB
Markdown
# Liam Pietralla Porfolio
|
|
|
|
The portfolio is built using Next.JS and Payload CMS. Payload is running directly in the Next app, and can be accessed by appending /admin to the route.
|
|
|
|
## Development
|
|
|
|
To develop the application use pnpm to install the dependencies:
|
|
|
|
```bash
|
|
pnpm install
|
|
```
|
|
|
|
Once downloaded you can use pnpm to run the project:
|
|
|
|
```bash
|
|
pnpm dev
|
|
```
|
|
|
|
### Payload CMS
|
|
|
|
Payload will require rebuilding on the types file once any changes are made:
|
|
|
|
```bash
|
|
pnpm run payload:generate:types
|
|
```
|
|
|
|
In local mode payload will apply any changes to the config to the database automatically. To generate a migration once changes are made, you can use the following command:
|
|
|
|
```bash
|
|
pnpm run payload:migrate:create
|
|
```
|
|
|
|
## Deploying
|
|
|
|
Deploying the portfolio is done as a docker container. It can be built with the following command:
|
|
|
|
```bash
|
|
docker build --add-host=host.docker.internal:host-gateway --build-arg HOST_GATEWAY=host.docker.internal -t liam-portfolio .
|
|
```
|
|
|
|
NOTE: Ensure a .env exists with the correct environment variables, including the DATABASE_URL and PAYLOAD_SECRET.
|
|
|
|
### Running the Container
|
|
|
|
Once the container is built, you can run it with the following command:
|
|
|
|
```bash
|
|
docker run -p 3000:3000 -v liam-portfolio-data:/app/portfolio-data -e PAYLOAD_SECRET=your_secret liam-portfolio
|
|
``` |