Scary Monkey portfolio
A 3D art portfolio with an interactive Three.js background, packaged in Docker and deployed to a home server by a self-hosted GitHub Actions runner.
What it is
A portfolio site for my 3D modeling work under the name Scary Monkey Inc. The page sits on top of a full-screen Three.js scene, with light and dark themes.
How it’s deployed
This project was as much about hosting as about the page itself.
- Vite and Tailwind build the front end. A multi-stage Dockerfile builds it and serves the result with Nginx.
- Docker Compose runs the container on my home NAS, with an override file for local development.
- A self-hosted GitHub Actions runner on the NAS rebuilds and restarts the containers on every push to
main. - After a successful deploy, the workflow calls the Cloudflare API to purge the cached stylesheet, so visitors see changes right away.
What I learned
This section is coming soon.