Files, limits and environment
Persistent folders
Section titled “Persistent folders”A HivePod keeps two folders on its own volumes:
| Folder | Use it for |
|---|---|
/home/hivepod/projects |
Your code and repositories. |
/home/hivepod/data |
Data, caches, databases, keys, anything else to keep. |
Everything else (the operating system, packages you install with apt-get, dnf or apk, files in /root, /etc or /usr) belongs to the pod itself. It survives stops and restarts, but it’s reset when the pod is re-created.
Backups contain the two persistent folders.
Applying settings re-creates the pod
Section titled “Applying settings re-creates the pod”Changes to environment variables or the startup command take effect when you apply them, and applying re-creates the pod from its OS image:
/home/hivepod/dataand/home/hivepod/projectsare kept.- Root’s
~/.sshis kept: it’s a link to/home/hivepod/data/.ssh, so deploy keys andknown_hostssurvive. Pods created before October 2026 get the link on their next restart. - Installed packages and every other file are reset to the image.
The CLI warns you before applying. A setup script makes reinstalling easy. Keep one in /home/hivepod/data, for example setup.sh with your apt-get install … line, and run it after an apply:
hivepod exec --detach --follow web1 "sh /home/hivepod/data/setup.sh"Temporary files
Section titled “Temporary files”/tmp is a small (1 GB) area that doesn’t allow running programs from it, for safety. Some installs unpack helpers there and run them, so pip, npm and native builds can fail with Permission denied.
So every terminal, hivepod exec and background job gets:
| Variable | Value |
|---|---|
TMPDIR |
/home/hivepod/data/.tmp |
npm_config_cache |
/home/hivepod/data/.cache/npm |
PIP_CACHE_DIR |
/home/hivepod/data/.cache/pip |
These are on the data volume, so they count toward your pod’s disk. Files in .tmp that haven’t been touched for two days are removed when the pod starts. If you set TMPDIR yourself in the pod’s environment variables, yours wins.
Real limits: hivepod-info
Section titled “Real limits: hivepod-info”Inside a pod, free, top, nproc and df show the whole machine’s memory, CPUs and disk, not your pod’s. To see your pod’s own limits, run:
hivepod-infoHivePod limits (free, top and df show the node's totals, not these): CPU 2.00 vCPU Memory 412 MiB used of 2048 MiB Disk 12345 MiB used of 60G (measured 2026-10-05T14:00Z; run hivepod-info --measure for now)The same values are in the variables HIVEPOD_CPU_LIMIT, HIVEPOD_MEMORY_LIMIT and HIVEPOD_DISK_LIMIT, for scripts that size worker counts or caches.
A pod’s CPU and memory limits are enforced. A process that goes over the memory limit is stopped. Tools that read the machine’s totals may plan for more than your pod has, so set worker counts from HIVEPOD_CPU_LIMIT or hivepod-info.
Disk usage
Section titled “Disk usage”Your pod’s size is its disk limit. In regions where the filesystem supports it, the pod’s folders are created with that size and writing past it fails with No space left on device. Everywhere else, DockHive measures each running pod’s disk use about every 10 minutes. That covers the two persistent folders plus everything installed in the pod. You can see it with:
hivepod status web1: for exampledisk 12.3 GB of 60.0 GB (21%), with a warning from 90%,hivepod-infoinside the pod.
Keep your pod within its size. Free space by cleaning /home/hivepod/data/.cache and old builds, or move to a bigger size.
- Over its size: the pod can’t start new background jobs.
hivepod execand the terminal keep working, so you can clean up. - More than 10% over its size: the pod is stopped, and
hivepod statussays why. Start it again and free space within 30 minutes. If it’s still well over its size after that, it’s stopped again.