mirror of
https://github.com/HeyPuter/puter.git
synced 2026-04-24 00:00:56 -05:00
removing storage limit for self hosters
This commit is contained in:
@@ -19,6 +19,7 @@
|
||||
"use strict"
|
||||
const deep_proto_merge = require('./config/deep_proto_merge');
|
||||
// const reserved_words = require('./config/reserved_words');
|
||||
const diskusage = require('diskusage');
|
||||
|
||||
let config = {};
|
||||
|
||||
@@ -53,6 +54,17 @@ config.max_subdomains_per_user = 2000;
|
||||
config.storage_capacity = 1*1024*1024*1024;
|
||||
config.static_hosting_domain = '-static.puter.local';
|
||||
|
||||
// Storage limiting is set to false by default
|
||||
// Storage available on the device puter is running is the storage available
|
||||
config.is_storage_limited = false;
|
||||
diskusage.check('/', (err, info) => {
|
||||
if (err) {
|
||||
config.available_device_storage = 1*1024*1024*1024;
|
||||
} else{
|
||||
config.available_device_storage = info.free;
|
||||
}
|
||||
});
|
||||
|
||||
config.thumb_width = 80;
|
||||
config.thumb_height = 80;
|
||||
config.app_max_icon_size = 5*1024*1024;
|
||||
|
||||
@@ -23,6 +23,7 @@ const { NodePathSelector, RootNodeSelector } = require("../node/selectors");
|
||||
const { HLFilesystemOperation } = require("./definitions");
|
||||
const { MkTree } = require("./hl_mkdir");
|
||||
const { HLRemove } = require("./hl_remove");
|
||||
const config = require("../../config");
|
||||
|
||||
class HLCopy extends HLFilesystemOperation {
|
||||
static DESCRIPTION = `
|
||||
@@ -141,7 +142,7 @@ class HLCopy extends HLFilesystemOperation {
|
||||
let deset_usage = await sizeService.get_usage(dest_user.id);
|
||||
|
||||
const size = await source.fetchSize(values.user);
|
||||
let capacity = (dest_user.free_storage === undefined || dest_user.free_storage === null) ? config.storage_capacity : dest_user.free_storage
|
||||
let capacity = config.is_storage_limited ? (dest_user.free_storage === undefined || dest_user.free_storage === null) ? config.storage_capacity : dest_user.free_storage : config.available_device_storage
|
||||
if(capacity - deset_usage - size < 0){
|
||||
throw APIError.create('storage_limit_reached');
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ const { HLFilesystemOperation } = require("./definitions");
|
||||
const { MkTree } = require("./hl_mkdir");
|
||||
const { HLRemove } = require("./hl_remove");
|
||||
const { TYPE_DIRECTORY } = require("../FSNodeContext");
|
||||
const config = require("../../config");
|
||||
|
||||
class HLMove extends HLFilesystemOperation {
|
||||
static MODULES = {
|
||||
@@ -105,7 +106,7 @@ class HLMove extends HLFilesystemOperation {
|
||||
dest_user = source_user;
|
||||
await source.fetchSize();
|
||||
const item_size = source.entry.size;
|
||||
let capacity = (dest_user.free_storage === undefined || dest_user.free_storage === null) ? config.storage_capacity : dest_user.free_storage
|
||||
let capacity = config.is_storage_limited ? (dest_user.free_storage === undefined || dest_user.free_storage === null) ? config.storage_capacity : dest_user.free_storage : config.available_device_storage;
|
||||
if(capacity - await df(dest_user.id) - item_size < 0){
|
||||
throw APIError.create('storage_limit_reached');
|
||||
}
|
||||
|
||||
@@ -61,8 +61,8 @@ class WriteCommonTrait {
|
||||
const { file, user } = this.values;
|
||||
|
||||
const usage = await sizeService.get_usage(user.id);
|
||||
let capacity = user.free_storage == undefined
|
||||
? config.storage_capacity : user.free_storage;
|
||||
let capacity = config.is_storage_limited ? user.free_storage == undefined
|
||||
? config.storage_capacity : user.free_storage : config.available_device_storage;
|
||||
if( capacity - usage - file.size < 0 ) {
|
||||
throw APIError.create('storage_limit_reached');
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ router.post('/df', auth, express.json(), async (req, response, next)=>{
|
||||
// auth
|
||||
response.send({
|
||||
used: parseInt(await df(req.user.id)),
|
||||
capacity: (req.user.free_storage === undefined || req.user.free_storage === null) ? config.storage_capacity : req.user.free_storage,
|
||||
capacity: config.is_storage_limited ? (req.user.free_storage === undefined || req.user.free_storage === null) ? config.storage_capacity : req.user.free_storage : config.available_device_storage,
|
||||
});
|
||||
}catch(e){
|
||||
console.log(e)
|
||||
@@ -64,7 +64,7 @@ router.get('/df', auth, express.json(), async (req, response, next)=>{
|
||||
// auth
|
||||
response.send({
|
||||
used: parseInt(await df(req.user.id)),
|
||||
capacity: (req.user.free_storage === undefined || req.user.free_storage === null) ? config.storage_capacity : req.user.free_storage,
|
||||
capacity: config.is_storage_limited ? (req.user.free_storage === undefined || req.user.free_storage === null) ? config.storage_capacity : req.user.free_storage : config.available_device_storage,
|
||||
});
|
||||
}catch(e){
|
||||
console.log(e)
|
||||
|
||||
Reference in New Issue
Block a user