# Portfolio hosting

Source: https://www.fortrabbit.com/use-cases/portfolio-hosting
Created: 2026-07-20
Reviewed: 2026-07-27

> Host a portfolio site on fortrabbit — a designer, developer, photographer, or audio engineer showing their own work, or a freelancer or agency building one for a creative client. Media-heavy, low traffic, long-lived.


**One visitor matters more than the other thousand: the one deciding whether to hire.**

A portfolio shows the work and wins the next job. Sometimes it belongs to the person who made the work — a photographer, illustrator, audio engineer, developer. Just as often a freelancer or agency builds it for a creative client and keeps it in the same account as the rest of their work. Either way the shape is the same: a body of work a stranger can take in quickly, and a way to make contact.

## Very little logic, a great deal of media

PHP renders a handful of templates and stops; the weight is in the media. Every environment books storage as a required component — a persistent file system with SSH and SFTP access, so uploads survive deploys instead of living inside a build. Media committed to the repository ships with each git push, which suits a site that changes twice a year.

## Quiet for months, then vertical for two days

A portfolio gets a trickle until a project is picked up somewhere. Almost all of that traffic is anonymous reads, so the CMS's page cache absorbs most of it before PHP does real work — and the PHP component can be scaled up for a few days and back down, each day billed at 1/30th of the monthly rate.

Months pass between updates, which is its own risk: a site nobody touches is a site nobody patches. A flat-file CMS keeps content in the repository, so there is no database component to book and the whole site restores from a Git clone plus one rsync of the uploads.

## Why fortrabbit?

Because we ran a web agency before we ran a hosting company, and the portfolio was always the same job: no budget, no traffic, and more riding on it than anything else in the account. A flat-file build that ships with the repository, storage that survives every deploy, and per-day billing that stays near the floor between bursts. When it is client work, ownership [hands over](/benefits/hand-over) without the site changing address — an administrative act, not a migration.

## FAQ

### Does a portfolio need a CMS at all?

**Not always** — Plenty of good portfolios are a handful of templates and a folder of images with no database anywhere. A flat-file CMS like Kirby sits in between: content lives in files, there is no database component to book, and the site is reproducible from a Git clone.

### Where do large images, audio, and video files belong?

**On web storage** — Uploads land on the environment's storage component — a persistent file system, reachable over SSH and SFTP, that deploys don't overwrite. Media committed to the repository ships with each git push. Long video is still better served from a dedicated video host and embedded.

### What happens when a project gets picked up and traffic spikes?

**Cache, then scale** — A portfolio is almost entirely anonymous reads, so the CMS's page cache and sensible Cache-Control headers absorb most of a spike before PHP is involved. For the rest, the PHP component scales up in the dashboard and back down days later — each day billed at 1/30th of the monthly rate.

### Is this overkill for a site that changes twice a year?

**Only with PHP** — A portfolio with no PHP in it at all is well served by a static host. fortrabbit fits when the site runs a CMS, a contact form, or an image pipeline — and when the same account already holds client work next to it.

### What does a quiet year cost?

**The smallest plans** — Components stay booked and billed whether or not anyone visits. For a small portfolio that means the three required components — PHP, storage, and traffic — on their smallest plans, post-paid, with no minimum term to renegotiate when it gets busy again.

---

- [Free certificates](/features/free-certificates)
- [Relax](/benefits/relax)
- [Agent ready](/workflows/agentic-engineering)
