Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

Cloudron Forum

Apps | Demo | Docs | Install

Storage limits per-app

Scheduled Pinned Locked Moved Feature Requests
21 Posts 8 Posters 985 Views
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • ? Offline
    ? Offline
    A Former User
    wrote on last edited by
    #1

    Is this something that is possible? The use case here is providing testing environments to clients for apps that allow user generated content. This can be useful to make sure a single app does not fill a drive.

    murgeroM 1 Reply Last reply
    13
  • robiR Offline
    robiR Offline
    robi
    wrote on last edited by
    #2

    Sounds like tying it into a quota system.

    Life of sky tech

    ? 1 Reply Last reply
    0
  • ? Offline
    ? Offline
    A Former User
    replied to robi on last edited by
    #3

    @robi Precisely. I could see it in the same resources section. Default could be dynamic (unrestricted) and a user could set it to a discrete value.

    1 Reply Last reply
    0
  • murgeroM Offline
    murgeroM Offline
    murgero App Dev
    replied to A Former User on last edited by
    #4

    @atrilahiji Interesting request and interesting use case - I think it's a neat idea but only for certain apps (mail, lamp, surfer, nextcloud (especially!), and social networks like Mastodon and pixelfed)

    Not sure how the implementation would be though

    --
    https://urgero.org
    ~ Professional Nerd. Freelance Programmer. ~
    Matrix: @murgero:urgero.org

    jdaviescoatesJ ? 2 Replies Last reply
    0
  • jdaviescoatesJ Online
    jdaviescoatesJ Online
    jdaviescoates
    replied to murgero on last edited by
    #5

    @murgero @atrilahiji one way I guess this could be done right now would be create an external volume (e.g. a Hetzner Cloud Volume) and use that as the data folder for the app you don't want filling up the primary disk. You can also check the usage of this disk volume in System info.

    I use Cloudron with Gandi & Hetzner

    1 Reply Last reply
    0
  • ? Offline
    ? Offline
    A Former User
    replied to murgero on last edited by
    #6

    @murgero Exactly, I was thinking for stuff like Nextcloud or Moodle specifically.

    1 Reply Last reply
    1
  • girishG Do not disturb
    girishG Do not disturb
    girish Staff
    wrote on last edited by
    #7

    If anyone knows how this can be done on linux, I am open to investigating this. As in how does mount a storage directory into a docker container that has a specific size? I can only think of some (sparse) file based loopback filesystem. I don't like that approach and would prefer some other alternative. I haven't looked into recent developments in linux quota system.

    M MooCloud_MattM 2 Replies Last reply
    0
  • M Online
    M Online
    msbt App Dev
    replied to girish on last edited by
    #8

    @girish what about https://docs.docker.com/engine/reference/commandline/run/#set-storage-driver-options-per-container (from https://stackoverflow.com/questions/38542426/docker-container-specific-disk-quota)

    girishG 1 Reply Last reply
    1
  • robiR Offline
    robiR Offline
    robi
    wrote on last edited by
    #9

    If storage for Apps was integrated with container attached storage from MayaData.com, this would be an easier option.

    This will also help Apps be more distributed and clustered, among other benefits.

    Life of sky tech

    MooCloud_MattM 1 Reply Last reply
    0
  • MooCloud_MattM Offline
    MooCloud_MattM Offline
    MooCloud_Matt
    replied to girish on last edited by
    #10

    @girish
    it can be done with LVM, btrfs or ZFS.
    And their relative Docker driver, can be an option with an installation on ubuntu + one of those FS.

    Matteo. R.
    Founder and Tech-Support Manager.
    MooCloud MSP
    Swiss Managed Service Provider

    1 Reply Last reply
    0
  • MooCloud_MattM Offline
    MooCloud_MattM Offline
    MooCloud_Matt
    replied to robi on last edited by
    #11

    @robi said in Storage limits per-app:

    MayaData.com

    I think they use OpenEBS, and as all the distributed storage solutions are complicated to set up, we use Ceph and need a dedicated port on the cluster server for the sync job, not as a requirement but as a need for reasonable performance to be able to use there features.

    Matteo. R.
    Founder and Tech-Support Manager.
    MooCloud MSP
    Swiss Managed Service Provider

    robiR 1 Reply Last reply
    0
  • girishG Do not disturb
    girishG Do not disturb
    girish Staff
    replied to msbt on last edited by
    #12

    @msbt Interesting link, thanks. I wonder if it works for volumes also. It says it depends on the "volume plugin". Have to investigate. On Cloudron, the data directory is just a normal volume and doesn't use any plugin and it's unclear if that standard thing supports storage-opt.

    1 Reply Last reply
    0
  • robiR Offline
    robiR Offline
    robi
    replied to MooCloud_Matt on last edited by
    #13

    @moocloud_matt said in Storage limits per-app:

    OpenEBS

    Yes, but there is a more advanced version at MayaData.

    @staff and I have spoken with them before.

    Life of sky tech

    robiR 1 Reply Last reply
    0
  • robiR robi referenced this topic on
  • girishG girish referenced this topic on
  • AizatA Offline
    AizatA Offline
    Aizat
    wrote on last edited by
    #14

    Any news about this? This is very useful especially if we're giving access to our clients who may overuse the storage in some of the apps on Cloudron.

    girishG 1 Reply Last reply
    3
  • girishG Do not disturb
    girishG Do not disturb
    girish Staff
    replied to Aizat on last edited by
    #15

    @Aizat Still looking for suggestions to my comment https://forum.cloudron.io/topic/5103/storage-limits-per-app/7

    1 Reply Last reply
    0
  • girishG girish referenced this topic on
  • girishG Do not disturb
    girishG Do not disturb
    girish Staff
    wrote on last edited by
    #16

    Maybe we have use usrquota - https://www.digitalocean.com/community/tutorials/how-to-set-filesystem-quotas-on-ubuntu-18-04 . I guess this involves creating a user per app.

    XFS has pquota - https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_file_systems/assembly_limiting-storage-space-usage-on-xfs-with-quotas_managing-file-systems . EXT4 has prjquota - https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_file_systems/assembly_limiting-storage-space-usage-on-ext4-with-quotas_managing-file-systems

    Also, found that there is a --storage-size when using XFS in Docker - https://docs.docker.com/engine/reference/commandline/run/#set-storage-driver-options-per-container

    1 Reply Last reply
    1
  • robiR Offline
    robiR Offline
    robi
    replied to robi on last edited by
    #17

    This was also addressed in OpenEBS - https://github.com/openebs/dynamic-localpv-provisioner/issues/13

    Life of sky tech

    girishG 1 Reply Last reply
    0
  • girishG Do not disturb
    girishG Do not disturb
    girish Staff
    replied to robi on last edited by
    #18

    @robi Nice find, looks like they implemented this as XFS only. Most VPS providers use EXT4 by default afaik.

    robiR 1 Reply Last reply
    0
  • robiR Offline
    robiR Offline
    robi
    replied to girish on last edited by
    #19

    @girish It does not matter that VPS providers use as you control what happens inside containers.

    If you choose to attach container volumes they can be XFS layers with all the nice tools XFS comes with, which EXT4 lacks.

    Similarly for attaching external volumes of additional space apart from the default FS the OS is installed on.

    Life of sky tech

    girishG 1 Reply Last reply
    0
  • girishG Do not disturb
    girishG Do not disturb
    girish Staff
    replied to robi on last edited by
    #20

    @robi the volumes can be XFS, but it requires a backing device. On a standard VPS, this means that we have to create a (big enough) file on EXT4 file system and then format it as XFS. This setup has the usual issues of loopback devices - what size this initial file should be, how to resize it live to increase/decrease storage etc. Not sure how well this performs either.

    robiR 1 Reply Last reply
    0

  • Login

  • Don't have an account? Register

  • Login or register to search.
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Login

  • Don't have an account? Register

  • Login or register to search.