Volumes
Volumes provide persistent block storage. Unlike service filesystems (ephemeral), volume data persists across restarts, redeployments, and rollbacks.Creating a Volume
- Add a volume to the canvas
- Set size (see plan limits below)
- Drop the volume onto a service
- Set the mount path
- Deploy
Volume Constraints
| Constraint | Details |
|---|---|
| Max size per volume | Varies by plan |
| Total storage per environment | Varies by plan |
| Volumes per environment | Limited by plan |
| Services per volume | 1 (volumes cannot be shared) |
| Replicas with volumes | 1 (required for data consistency) |
Volume and storage limits depend on your plan. Check your dashboard for current limits.
Data Persistence
Data survives:- Container restarts
- Redeployments
- Service crashes
- Rollbacks (data stays current, not rolled back)
- Volume is deleted
- Environment is deleted
Database Templates
Templates provide pre-configured databases with volumes attached.PostgreSQL
Redis
MariaDB
Connecting to Databases
Use service names as hostnames for private networking:Volume vs External Storage
Use Volumes when:- Running your own database
- Need direct filesystem access
- Storing small uploads or state
- Files exceed your plan’s storage limits
- Need to share files across services
- Require public CDN access
- Want automatic scaling
Common Questions
Can I share a volume between services?
Can I share a volume between services?
Can I resize a volume?
Can I resize a volume?
Yes. Volumes can be increased in size, however for safety they can’t be shrunk. If you need to shrink a volume create a new smaller volume and transfer the data manually.
Can I access volume data directly?
Can I access volume data directly?
You can only access volume data from within the container. Use database connections or application APIs.