Storage
Vessl provides one-click S3-compatible object storage using MinIO. Each storage instance is an isolated MinIO container with persistent volumes.
Creating a Storage Bucket
Section titled “Creating a Storage Bucket”- Navigate to Storage in the sidebar.
- Click New Storage.
- Configure:
- Name: A friendly name for the storage instance.
- Port: The S3 API port (default: 9000).
- Click Create.
Vessl provisions a MinIO container with the following defaults:
- Access Key: Auto-generated
- Secret Key: Auto-generated
- API Endpoint:
http://<service-name>:9000 - Console UI: Available on port 9001
- Data Volume: Persisted at
<data-dir>/storage/<id>/
Connection Strings
Section titled “Connection Strings”The storage credentials are automatically injected into every service in the same project:
S3_ENDPOINT=http://<service-name>:9000S3_ACCESS_KEY=<auto-generated-access-key>S3_SECRET_KEY=<auto-generated-secret-key>Using Storage
Section titled “Using Storage”Connect to your MinIO instance using any S3-compatible client:
AWS CLI
Section titled “AWS CLI”aws s3 --endpoint-url http://<service-name>:9000 lsMinIO Client (mc)
Section titled “MinIO Client (mc)”mc alias set vessl http://<service-name>:9000 <access-key> <secret-key>Node.js (AWS SDK)
Section titled “Node.js (AWS SDK)”import { S3Client } from "@aws-sdk/client-s3";
const s3 = new S3Client({ endpoint: process.env.S3_ENDPOINT, credentials: { accessKeyId: process.env.S3_ACCESS_KEY, secretAccessKey: process.env.S3_SECRET_KEY, }, region: "auto", forcePathStyle: true,});Python (boto3)
Section titled “Python (boto3)”import boto3
s3 = boto3.client('s3', endpoint_url=os.environ['S3_ENDPOINT'], aws_access_key_id=os.environ['S3_ACCESS_KEY'], aws_secret_access_key=os.environ['S3_SECRET_KEY'],)Management
Section titled “Management”Start / Stop
Section titled “Start / Stop”Storage instances can be started and stopped from the dashboard. Stopping preserves the data volume.
Console UI
Section titled “Console UI”MinIO includes a web-based console at port 9001. Access it directly or via your Vessl dashboard.
Backups
Section titled “Backups”Storage data is included in Vessl’s backup system. Configure S3-to-S3 backups for offsite replication:
- Go to Backups → S3 Destinations.
- Add an external S3-compatible destination.
- Create a backup configuration pointing to your storage instance.