← All projects Shipped

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.