Fixed and updated README

This commit is contained in:
GeorgeWebberley 2026-02-03 16:09:31 +01:00
parent 4771990d3c
commit 1e94089b24

View file

@ -1,36 +1,47 @@
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). # SYSTEM_LAB // Portfolio & The_Forge
## Getting Started A high-performance, containerized professional portfolio and R&D lab built with **Next.js 15**, **Tailwind CSS**, and **TypeScript**. This project serves as both a public showcase and a dynamic bridge to a private **Forgejo** instance for real-time development tracking.
First, run the development server: ## 🏗️ Architecture Summary
- **Infrastructure**: Hosted on a **Hetzner** cloud node.
- **Containerization**: Fully Dockerized for **linux/amd64** architectures.
- **CI/CD**: Automated build and deployment via **Woodpecker CI**.
- **CDN**: Assets and media served via **Bunny CDN** for global performance.
- **Data Layer**: Dynamic changelog fetching from private repositories via **Forgejo API**.
## 🛠️ Technical Stack
- **Framework**: Next.js 15 (App Router).
- **Styling**: Tailwind CSS with a monospace "Technical Lab" aesthetic.
- **Icons**: Lucide React.
- **Deployment**: Docker Compose with `force-dynamic` runtime environment injection.
## 🚀 Deployment & Build
The project utilizes a specialized build process to ensure compatibility with the production Hetzner node environment:
### Manual Build
```bash ```bash
npm run dev docker buildx build --platform linux/amd64 -t portfolio:latest .
# or
yarn dev
# or
pnpm dev
# or
bun dev
``` ```
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. ### Automated Pipeline
You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. Deployments are triggered via Git Releases. The Woodpecker pipeline executes the following steps:
-Build: Compiles the Next.js application for linux/amd64.
-Push: Uploads the image to a private container registry.
-Deploy: Re-creates the container on the Hetzner node, injecting the FORGEJO_TOKEN from a secure .env file at runtime.
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. ## 🧪 The_Forge Integration
## Learn More "The Forge" is a dynamic project log system that provides a glimpse into active R&D cycles.
-Metadata: Configured via data/forge.ts for project-specific details.
-Real-time Logs: Fetched server-side from private changelog.md files.
-Status: Includes a conditional ACTIVE_STREAM pulse based on commit recency.
-Performance: Utilizes Next.js data caching with a 1-hour revalidation window.
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. Built for performance and technical transparency.
- [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.