PerseusFS

A lightweight, simplified, self-hosted file storage solution

in a single file.

Hero Image
Username: demoPassword: demodemo
Powered by Bun
Dashboard
Lightweight
Self-hosted
Open source

Available for Linux, MacOS and Windows.

Upload file
Upload a file to a public bucket
Download file
Download a file from a public bucket
Javascript client
Use the Javascript client to interact with your PerseusFS server
import fs from 'fs/promises';

// using node/bun to read a file
// you can also read a file using an input element in the browser
const file = await fs.readFile('test.txt');

const response = await fetch('https://perseusfs-instance.com/upload', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/octet-stream',
    'X-Filename': 'test.txt',
    'X-Bucket-Id': '1'
  },
  body: file
});

if (!response.ok) {
  throw new Error('Failed to upload file');
}

const { fileName, fileId, currentPath } = await response.json();
// fileName: 'test.txt'
// fileId: 1
// currentPath: 'my-bucket/test.txt'