Volumes for app data
A named volume is a directory Docker keeps outside any container. It survives deploys, restarts and rollbacks, and is mounted into each new container at the same path. Where volumes come from:- Templates declare the volumes their apps need, such as a database’s
data directory. They’re named
mangrove-<slug>-<service>-<volume>. - Compose stacks declare their own under
volumes:in the compose file. - Dockerfile, nixpacks and image deployments you create by hand have no volumes. There’s no way to add one from the dashboard yet. If an app needs to keep files, use a template, a compose file, or keep the data in a database deployment.
Backing up a volume
Mangrove’s own backups don’t include app data. To copy a volume’s contents out:Share a drive as a NAS
Optional, owner-only, and off by default. The Storage page turns a plugged-in USB drive into a network share that Windows, macOS and Linux can open without extra software. It needs a small privileged helper,mangrove-mountd, because mounting
drives needs root and Mangrove itself deliberately doesn’t have it.
setup.sh asks whether to install it.
- Plug in the drive. It appears on the Storage page. Mangrove never lists or touches the disk the system boots from.
- Mount. The drive is mounted under
/var/lib/mangrove-drives/<uuid>. ext4, xfs, btrfs, FAT, exFAT and NTFS are supported. - Share as NAS. Choose a share name, a username and a password. Mangrove runs a Samba container with the drive mounted inside, and publishes SMB (port 445) on the box’s network interface.
- Connect from another computer:
\\<your-box>\<share>on Windows,smb://<your-box>/<share>on macOS and Linux.
- One share per drive, and you can’t unmount a drive while it’s shared.
- No redeploy, rollback or scaling for a share. To change it, delete it and share again.
- Drives aren’t mounted automatically when plugged in.
- The SMB password is stored in the share’s settings unencrypted, and is visible to owners.
- Not yet tested against real hardware. Try it with your drive and client before relying on it.