Stack Sizer
Size a self-hosted stack from official sources.
Load and options
Ghost
v1.0.0Load
Up to 5 staff users, ~1,000 posts, ~40 new posts a month, ~20,000 page views a day without a cache, ~5,000 members and a weekly newsletter.
Options
No options change this app's resources.
Recommended resources
App requirements + system baseline + safety headroom. Nothing else is added, and nothing is rounded to a machine size.
vCPU 1.92, RAM 3.9 GiB, Disk 37.03 GiB
vCPU1.92
RAM3.9GiB
Disk37.03GiB
Breakdown
| Line | From | vCPU | RAM (GiB) | Disk (GiB) | Sources |
|---|---|---|---|---|---|
| Ghost | Ghost (web, Admin and APIs) · Medium load | 1 | 1 | 21 | 1234567 |
| Ghost | MySQL · Medium load | 0.5 | 1 | 3 | 8910116 |
| System baseline | Operating system, Container runtime (Docker Engine, containerd), System logs (journald), plus logs for 2 containers | 0.1 | 1.25 | 8.2 | 121314151617 |
| Safety headroom | vCPU 20%, RAM 20%, disk 15% of apps + baseline | 0.32 | 0.65 | 4.83 | 1813191620 |
| Recommended total | 1.92 | 3.9 | 37.03 |
Sources
- Ghost Docs: Hosting Ghost (supported stack: Node.js 22, MySQL 8.0 or 8.4, at least 1 GB memory; admin must run over HTTPS; separate admin domain; scale with a cache, no clustering) (Ghost, read 14 Oct 2026)
- Ghost Docs: How to install Ghost (a server with at least 1 GB of memory recommended) (Ghost, read 14 Oct 2026)
- Ghost Docs: How to install Ghost with Docker (preview: Ghost, Caddy, MySQL; SMTP required; hosted ActivityPub, 2,000 followers and 100 interactions a day; pull and up -d) (Ghost, read 14 Oct 2026)
- Ghost Docs: Clustering, sharding, HA and other multi-server setups (one Ghost instance per site; put a cache or CDN in front) (Ghost, read 14 Oct 2026)
- Docker Hub: ghost tag 6.70.0-alpine (linux/amd64 209,530,515 B compressed, pushed 2026-10-13) (Ghost, read 14 Oct 2026)
- Ghost Docs: Configuration (env vars with __ for nesting; url, database and mail required in production; pool 2 to 10; images resized to 2,000 px, original kept with _o) (Ghost, read 14 Oct 2026)
- TryGhost/docker-library-ghost 6/alpine3.23 Dockerfile at f3d7eab (node:22-alpine3.23, GHOST_VERSION 6.70.0, content in /var/lib/ghost/content, EXPOSE 2368, no HEALTHCHECK, no USER) (Ghost, read 14 Oct 2026)
- MySQL 8.4 Reference Manual: How MySQL uses memory (defaults start on a ~512 MB VM; buffer pool 50 to 75% of memory recommended) (Ghost, read 14 Oct 2026)
- MySQL 8.4 Reference Manual: InnoDB startup options (innodb_buffer_pool_size default 128 MB; innodb_redo_log_capacity default 100 MB) (Ghost, read 14 Oct 2026)
- MySQL 8.4 Reference Manual: Binary logging options (on by default; binlog_expire_logs_seconds default 2,592,000 = 30 days) (Ghost, read 14 Oct 2026)
- Docker Hub: mysql tag 8.4.11 (linux/amd64 238,271,431 B compressed, pushed 2026-10-12) (Ghost, read 14 Oct 2026)
- Ubuntu Server: System requirements (Sizing policy, read 10 Oct 2026)
- Google Kubernetes Engine: About GKE node sizing (Sizing policy, read 10 Oct 2026)
- ANAROQ measurement: dockerd and containerd at rest (Ubuntu 24.04, Docker 29.8.2) (Sizing policy, read 10 Oct 2026)
- Docker Community Forums: Docker resource usage & overhead (Sizing policy, read 10 Oct 2026)
- journald.conf(5), Ubuntu Manpages (Sizing policy, read 10 Oct 2026)
- Docker Docs: Local file logging driver (Sizing policy, read 10 Oct 2026)
- AWS Compute Optimizer: Rightsizing recommendation preferences (Sizing policy, read 10 Oct 2026)
- Kubernetes: Node-pressure Eviction (Sizing policy, read 10 Oct 2026)
- mke2fs(8), Ubuntu Manpages (Sizing policy, read 10 Oct 2026)
Deployment Spec
Turn this result into a link you can keep or share. Everything is in the link; nothing is sent to us.
A short lowercase image id, for example ubuntu-24.04.