GuidesProduction setup
The free-disk check
Before a build, Ferry makes sure that the disk has 1 GiB free, or the deploy fails early.
Before a build or a pull, Ferry measures the free disk space.
1 / 3
The limit is --min-free-disk (FERRY_MIN_FREE_DISK, default 1G). Below it, a deploy fails with build_failed, and a new datastore gets the status failed.
10:42:07 ==> Build failed: not enough free disk space on /var/lib/ferry: 812 MiB free, Ferry needs at least 1 GiB (free some space, e.g. remove unused Docker images with `docker image prune`, or change the threshold with `ferryd --min-free-disk`, 0 = off)When Ferry checks
| Action | Check |
|---|---|
| A deploy builds or pulls an image (git, upload and image deploys) | Yes, before |
| Ferry creates a new datastore, or pulls the image of a datastore | Yes, before |
| A restart or a rollback | Never |
| A new container for a datastore that exists, when its image is still there | Never |
What runs continues to run. The reconciler can still repair it on a full disk.
Ferry measures the filesystem of the data directory. If Docker is on this machine, Ferry also measures the Docker root directory.
- The check runs before a build, not during it.
- Ferry sets no disk quotas. Volumes (datastores, service disks), the filesystems of the containers, images and the build cache can still fill the disk.
- Ferry deletes its own old images above
--keep-images(default 5). Remove the rest yourself from time to time, withdocker image pruneanddocker builder prune. - If builds need more room than 1 GiB, raise
--min-free-disk.0turns the check off.