First published 2026-07-25

On my laptop I have built a docker image that includes mathlib

$ docker images
REPOSITORY                           TAG                IMAGE ID       CREATED          SIZE
ui_v8-flask-webserver                latest-arm64       c6582def02be   23 minutes ago   18GB
ui_v8-nginx                          latest             95de67be28ab   2 weeks ago      49.7MB
neo4j                                4.4.45-community   3531ea1808be   11 months ago    530MB

On my Hetzner VPS I have

$ docker images
IMAGE                                             ID             DISK USAGE   CONTENT SIZE   EXTRA
neo4j:4.4.45-community                            4322925e2e86        892MB          330MB        
ui_v8-flask-webserver:latest-amd64                24398b56a54c       6.08GB         1.58GB        
ui_v8-nginx:latest                                f2038444665c       73.6MB           21MB        

and not much available storage capacity:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           382M  900K  382M   1% /run
/dev/sda1        38G   32G  4.6G  88% /
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
/dev/sda15      253M  146K  252M   1% /boot/efi
tmpfs           382M   12K  382M   1% /run/user/1000

I'm currently paying $6.50/month for CX23: 2 CPUs, 4GB of RAM, and 40GB of SSD.

The next step up (CX33 for $9/month with 4 CPUs, 8GB of RAM, and 80GB of SSD) isn't available, so I'd have to get CPX12 for $13.50/month to get 40GB of storage.

Whether the container is an 18GB monolith or is split into separate containers won't change the overall size. On the VPS

$ hostname
ubuntu-4gb-hel1-4

$ hostnamectl
 Static hostname: ubuntu-4gb-hel1-4
       Icon name: computer-vm
         Chassis: vm 🖴
      Machine ID: cdf884da1b9c41d6a20aa35665b485c4
         Boot ID: b752e553d7874b1c91f9a8e8a6ff5cbd
  Virtualization: kvm
Operating System: Ubuntu 24.04.4 LTS              
          Kernel: Linux 6.8.0-134-generic
    Architecture: x86-64
 Hardware Vendor: Hetzner
  Hardware Model: vServer
Firmware Version: 20171111
   Firmware Date: Sat 2017-11-11
    Firmware Age: 8y 8month 1w 6d                 

pdg@ubuntu-4gb-hel1-4:~/ui_v8_website_flask_neo4j$ hostnamectl | grep -i vendor
 Hardware Vendor: Hetzner
On my laptop
$ hostname
Mac

$ hostnamectl
-bash: hostnamectl: command not found

So I could split mathlib and development infrastructure like playwright to separate containers and then only build them on my Mac (and not the VPS).