Storage & Volumes

Persistent storage for your deployments.

Volume Types

Uploads Volume

Enables file upload via dashboard. Files stored on orchestrator, synced to provider volume.

params:
  storage:
    html:
      mount: /usr/share/nginx/html
      source: uploads           # Enables upload feature

Persistent Volume

Standard Docker volume, persists data across container restarts. Not uploadable from dashboard.

profiles:
  compute:
    db:
      resources:
        storage:
          - size: 20Gi      # Allocates 20GB volume

Volume Lifecycle

1

Creation

Volume created when deployment starts

2

Persistence

Data persists across container restarts

3

Durability

Survives even if provider node restarts

4

Cleanup

Remains after deployment closes (manual cleanup required)

Complete Storage Example

services:
  app:
    image: node:20-alpine
    params:
      storage:
        # Uploadable static files
        public:
          mount: /app/public
          source: uploads
        # Application data (not uploadable)
        data:
          mount: /app/data

profiles:
  compute:
    app:
      resources:
        cpu:
          units: 1
        memory:
          size: 1Gi
        storage:
          - size: 10Gi    # Total storage allocation

deployment:
  app:
    anywhere:
      profile: app
      count: 1

Best Practice

Use source: uploads for static content you want to edit via the dashboard (HTML, CSS, JS). Use regular storage for application data that should only be modified by your app.