Source code for the personal website kappes.space, built with SvelteKit and Tailwind CSS.
| Technology | Purpose |
|---|---|
| SvelteKit | Application framework |
| Svelte | UI component model |
| Tailwind CSS | Styling |
| TypeScript | Type checking |
| Vite | Build tooling |
| tsparticles | Particle animations |
The site is compiled to a fully static build using @sveltejs/adapter-static and served via nginx in a Docker container.
kappes-space/
├── src/ # SvelteKit application source
├── static/ # Static assets (fonts, images, etc.)
├── docker/
│ └── nginx.conf # nginx configuration for the production container
├── .github/workflows/ # GitHub Actions CI/CD pipelines
├── Dockerfile # Multi-stage build (deps, builder, nginx server)
├── svelte.config.js # SvelteKit configuration (static adapter)
├── tailwind.config.cjs # Tailwind CSS configuration
└── vite.config.ts # Vite configuration
Install dependencies:
npm install
Start the development server:
npm run dev
# or open the app directly in a browser tab
npm run dev -- --open
Run type checks:
npm run check
Create a production build:
npm run build
Preview the production build locally:
npm run preview
The Dockerfile uses a three-stage build:
node:22-alpinenpm run build to produce the static outputnginx:alpine image for servingBuild and run the container locally:
docker build -t kappes-space .
docker run -p 8080:80 kappes-space
The site is deployed on Kubernetes. The GitHub Actions workflow builds and pushes the Docker image on each release. The Helm chart used for the Kubernetes deployment is maintained in the separate helm-charts repository.