Getting Started¶
Blöbbu is a secure, resumable file upload service for Azure Blob Storage. It uses the tus protocol and JWT-based authorization to provide a stateless and scalable upload experience.
1. Run the Blöbbu Server¶
The easiest way to run Blöbbu is using Docker. It requires access to an Azure Blob Storage account.
Docker
Coming soon: how to run Blöbbu with Docker
Alternatively, you can use a blobbu.yaml configuration file. See the Server Configuration section
for all available options.
2. Configure your App Server¶
Your App Server is responsible for authorizing uploads. It needs to generate a JWT signed with a private key. The corresponding public key must be provided to the Blöbbu server.
For details regarding the JWT, see Blöbbu Server.
Provide an endpoint for your frontend to request these tokens:
{
"file-1": { "fileId": "urn:uuid:...", "token": "eyJhb..." }
}
For more details, see App Server Integration.
3. Integrate a Client¶
Since Blöbbu uses the tus protocol, you can use any compatible client.
Additionally, include the JWT you generated in the previous step as an authorization header in your requests using the Bearer scheme:
JavaScript example using the tus-js-client:
new tus.Upload(file, {
endpoint: 'https://your-blobbu-server.com/files/',
headers: {
"Authorization": `Bearer ${jwtToken}`
}
metadata: {
filename: file.name,
filetype: file.type,
},
onError: function (error) {
console.log('Upload failed: ' + error);
},
onSuccess: function () {
console.log('Upload successful');
},
}).start();
For web applications, we recommend using Uppy.
It's a powerful, modular JavaScript file uploader that supports tus out of the box.
See the Frontend Integration guide for more details and examples using Uppy.