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


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
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
Brand Logo

Cloudron Forum

Apps | Demo | Docs | Install
  1. Cloudron Forum
  2. Mastodon
  3. Running a federated Mastodon instance will take up ALOT of space and RAM - be prepared!

Running a federated Mastodon instance will take up ALOT of space and RAM - be prepared!

Scheduled Pinned Locked Moved Mastodon
34 Posts 11 Posters 5.7k Views 12 Watching
  • 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.
    • nebulonN nebulon

      @MikeHuntington currently the package runs that purging as a cronjob: https://git.cloudron.io/cloudron/mastodon-app/-/blob/master/cleanup.sh

      Is that the trigger you had in mind?

      MikeHuntingtonM Offline
      MikeHuntingtonM Offline
      MikeHuntington
      wrote on last edited by
      #9

      @nebulon Yup that's it! Good to see it was already a scheduled task.

      By the way, today my database filled up and I was no longer able to access my Mastodon app. (using Digital Ocean) I increased my droplet size, but that didn't seem to help as the database is in a docker image(?). Seems there wasn't a way to resize that image to use more space.

      So my app is stuck is a state of database failing to connect because space is maxed out.

      nebulonN 1 Reply Last reply
      0
      • MikeHuntingtonM MikeHuntington

        @nebulon Yup that's it! Good to see it was already a scheduled task.

        By the way, today my database filled up and I was no longer able to access my Mastodon app. (using Digital Ocean) I increased my droplet size, but that didn't seem to help as the database is in a docker image(?). Seems there wasn't a way to resize that image to use more space.

        So my app is stuck is a state of database failing to connect because space is maxed out.

        nebulonN Offline
        nebulonN Offline
        nebulon
        Staff
        wrote on last edited by
        #10

        @MikeHuntington databases are provided as services to the apps on Cloudron. They run in their own container. Did the database run out of disk space (by default those are stored in /home/yellowtent/...) or did it run out of memory? For the latter you can adjust the memory limit in the services view.

        MikeHuntingtonM 1 Reply Last reply
        0
        • nebulonN nebulon

          @MikeHuntington databases are provided as services to the apps on Cloudron. They run in their own container. Did the database run out of disk space (by default those are stored in /home/yellowtent/...) or did it run out of memory? For the latter you can adjust the memory limit in the services view.

          MikeHuntingtonM Offline
          MikeHuntingtonM Offline
          MikeHuntington
          wrote on last edited by
          #11

          @nebulon It ran out of diskspace after running mastodon for about 24 hours (with federation relays added)

          nebulonN 1 Reply Last reply
          0
          • MikeHuntingtonM MikeHuntington

            @nebulon It ran out of diskspace after running mastodon for about 24 hours (with federation relays added)

            nebulonN Offline
            nebulonN Offline
            nebulon
            Staff
            wrote on last edited by
            #12

            @MikeHuntington in such cases go through the checklist at https://docs.cloudron.io/troubleshooting/#recovery-after-disk-full

            MikeHuntingtonM 1 Reply Last reply
            1
            • nebulonN nebulon

              @MikeHuntington in such cases go through the checklist at https://docs.cloudron.io/troubleshooting/#recovery-after-disk-full

              MikeHuntingtonM Offline
              MikeHuntingtonM Offline
              MikeHuntington
              wrote on last edited by
              #13

              @nebulon Thank you for that link! Is if possible to have my database run on a different server than the one cloudron is running on? Also is AWS S3 an option?

              I know I can edit Mastodon's .env file directly but will Cloudron support that?

              I think that'll help with diskspace a ton as well.

              scookeS 1 Reply Last reply
              0
              • MikeHuntingtonM MikeHuntington

                @nebulon Thank you for that link! Is if possible to have my database run on a different server than the one cloudron is running on? Also is AWS S3 an option?

                I know I can edit Mastodon's .env file directly but will Cloudron support that?

                I think that'll help with diskspace a ton as well.

                scookeS Offline
                scookeS Offline
                scooke
                wrote on last edited by scooke
                #14

                @MikeHuntington If you check out Cloudron's Mastodon forum there are a few discussions about how to use software like S3, Minio, Object Storage. It will def work.
                EDIT: I just restarted my Owncast instance and set it up to use my Minio instance in just a few minutes. Once you get your head around how it all works, it's super smooth and do-able.

                A life lived in fear is a life half-lived

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

                  rclone is a swiss army tool for connecting/mounting to remote storage and more.

                  So if you have a deep store in GDrive, B2, Scaleway, Dropbox, etc you can connect them to your apps data/cache dirs.

                  Conscious tech

                  L 1 Reply Last reply
                  2
                  • scookeS Offline
                    scookeS Offline
                    scooke
                    wrote on last edited by
                    #16

                    @MikeHuntington True, and eventually I'll implement those commands to run automatically, but I imagine that someone who is surprised and frustrated by a rapidly-filling-up server won't have the tech skills, inclination or time to run those regularly anyway.

                    A win for Cloudron would be to offer a combined federation app - Mastodon + Scaleway, where the Mastodon instance also generates a user, Access Key ID and Secret Access Key which the user could then plug into a Scaleway Object Storage bucket (or there could be a drop-own menu offering S3, Scaleway or Minio), and also set the .env.production settings correctly. I realize doing that is relatively simple if you've done it before, but otherwise it could prove to be a barrier.

                    A life lived in fear is a life half-lived

                    doodlemania2D L jdaviescoatesJ 3 Replies Last reply
                    1
                    • scookeS scooke

                      @MikeHuntington True, and eventually I'll implement those commands to run automatically, but I imagine that someone who is surprised and frustrated by a rapidly-filling-up server won't have the tech skills, inclination or time to run those regularly anyway.

                      A win for Cloudron would be to offer a combined federation app - Mastodon + Scaleway, where the Mastodon instance also generates a user, Access Key ID and Secret Access Key which the user could then plug into a Scaleway Object Storage bucket (or there could be a drop-own menu offering S3, Scaleway or Minio), and also set the .env.production settings correctly. I realize doing that is relatively simple if you've done it before, but otherwise it could prove to be a barrier.

                      doodlemania2D Offline
                      doodlemania2D Offline
                      doodlemania2
                      App Dev
                      wrote on last edited by
                      #17

                      @scooke That's a fun idea!

                      1 Reply Last reply
                      1
                      • robiR robi

                        rclone is a swiss army tool for connecting/mounting to remote storage and more.

                        So if you have a deep store in GDrive, B2, Scaleway, Dropbox, etc you can connect them to your apps data/cache dirs.

                        L Offline
                        L Offline
                        LoudLemur
                        wrote on last edited by
                        #18

                        @robi said in Running a federated Mastodon instance will take up ALOT of space and RAM - be prepared!:

                        rclone is a swiss army tool for connecting/mounting to remote storage and more.

                        So if you have a deep store in GDrive, B2, Scaleway, Dropbox, etc you can connect them to your apps data/cache dirs.

                        Thanks for this very sweet knowledge! rclone has a (currently experimental) GUI (Graphical User Interface) which appears in the web browser. If Cloudron try supporting this, I hope they make use of it.

                        https://rclone.org/gui/

                        There are some lovely things rclone can interact with, apparently. I notice that rclone can help with internet archive:

                        #https://rclone.org/internetarchive/

                        1 Reply Last reply
                        0
                        • scookeS scooke

                          @MikeHuntington True, and eventually I'll implement those commands to run automatically, but I imagine that someone who is surprised and frustrated by a rapidly-filling-up server won't have the tech skills, inclination or time to run those regularly anyway.

                          A win for Cloudron would be to offer a combined federation app - Mastodon + Scaleway, where the Mastodon instance also generates a user, Access Key ID and Secret Access Key which the user could then plug into a Scaleway Object Storage bucket (or there could be a drop-own menu offering S3, Scaleway or Minio), and also set the .env.production settings correctly. I realize doing that is relatively simple if you've done it before, but otherwise it could prove to be a barrier.

                          L Offline
                          L Offline
                          LoudLemur
                          wrote on last edited by
                          #19

                          @scooke said in Running a federated Mastodon instance will take up ALOT of space and RAM - be prepared!:

                          @MikeHuntington True, and eventually I'll implement those commands to run automatically, but I imagine that someone who is surprised and frustrated by a rapidly-filling-up server won't have the tech skills, inclination or time to run those regularly anyway.

                          A win for Cloudron would be to offer a combined federation app - Mastodon + Scaleway, where the Mastodon instance also generates a user, Access Key ID and Secret Access Key which the user could then plug into a Scaleway Object Storage bucket (or there could be a drop-own menu offering S3, Scaleway or Minio), and also set the .env.production settings correctly. I realize doing that is relatively simple if you've done it before, but otherwise it could prove to be a barrier.

                          This is a great idea and could remove a lot of friction for people wanting to self-host in the Fediverse.

                          Sam_ukS 1 Reply Last reply
                          0
                          • L LoudLemur

                            @scooke said in Running a federated Mastodon instance will take up ALOT of space and RAM - be prepared!:

                            @MikeHuntington True, and eventually I'll implement those commands to run automatically, but I imagine that someone who is surprised and frustrated by a rapidly-filling-up server won't have the tech skills, inclination or time to run those regularly anyway.

                            A win for Cloudron would be to offer a combined federation app - Mastodon + Scaleway, where the Mastodon instance also generates a user, Access Key ID and Secret Access Key which the user could then plug into a Scaleway Object Storage bucket (or there could be a drop-own menu offering S3, Scaleway or Minio), and also set the .env.production settings correctly. I realize doing that is relatively simple if you've done it before, but otherwise it could prove to be a barrier.

                            This is a great idea and could remove a lot of friction for people wanting to self-host in the Fediverse.

                            Sam_ukS Offline
                            Sam_ukS Offline
                            Sam_uk
                            wrote on last edited by
                            #20

                            @LoudLemur said in Running a federated Mastodon instance will take up ALOT of space and RAM - be prepared!:

                            A win for Cloudron would be to offer a combined federation app - Mastodon + Scaleway, where the Mastodon instance also generates a user, Access Key ID and Secret Access Key which the user could then plug into a Scaleway Object Storage bucket

                            +1 I'm too scared to run Mastodon on my server due to it eating all the disk. This would help.

                            jdaviescoatesJ 1 Reply Last reply
                            0
                            • Sam_ukS Sam_uk

                              @LoudLemur said in Running a federated Mastodon instance will take up ALOT of space and RAM - be prepared!:

                              A win for Cloudron would be to offer a combined federation app - Mastodon + Scaleway, where the Mastodon instance also generates a user, Access Key ID and Secret Access Key which the user could then plug into a Scaleway Object Storage bucket

                              +1 I'm too scared to run Mastodon on my server due to it eating all the disk. This would help.

                              jdaviescoatesJ Offline
                              jdaviescoatesJ Offline
                              jdaviescoates
                              wrote on last edited by
                              #21

                              @Sam_uk said in Running a federated Mastodon instance will take up ALOT of space and RAM - be prepared!:

                              I'm too scared to run Mastodon on my server due to it eating all the disk. This would help.

                              Could just spin up a new VPS for it (that's what I did, and switfly ran out of space! But then increased the size...)

                              And/ or just immediately go an set-up some storage elsewhere as a Volume and set-up the app to use that volume as the data storage directory as per https://docs.cloudron.io/apps/#data-directory

                              I use Cloudron with Gandi & Hetzner

                              L 1 Reply Last reply
                              1
                              • jdaviescoatesJ jdaviescoates

                                @Sam_uk said in Running a federated Mastodon instance will take up ALOT of space and RAM - be prepared!:

                                I'm too scared to run Mastodon on my server due to it eating all the disk. This would help.

                                Could just spin up a new VPS for it (that's what I did, and switfly ran out of space! But then increased the size...)

                                And/ or just immediately go an set-up some storage elsewhere as a Volume and set-up the app to use that volume as the data storage directory as per https://docs.cloudron.io/apps/#data-directory

                                L Offline
                                L Offline
                                LoudLemur
                                wrote on last edited by
                                #22

                                @jdaviescoates said in Running a federated Mastodon instance will take up ALOT of space and RAM - be prepared!:

                                @Sam_uk said in Running a federated Mastodon instance will take up ALOT of space and RAM - be prepared!:

                                I'm too scared to run Mastodon on my server due to it eating all the disk. This would help.

                                Could just spin up a new VPS for it (that's what I did, and switfly ran out of space! But then increased the size...)

                                And/ or just immediately go an set-up some storage elsewhere as a Volume and set-up the app to use that volume as the data storage directory as per https://docs.cloudron.io/apps/#data-directory

                                People like you make this place the brilliant community it is! Thanks.

                                1 Reply Last reply
                                2
                                • scookeS scooke

                                  @MikeHuntington True, and eventually I'll implement those commands to run automatically, but I imagine that someone who is surprised and frustrated by a rapidly-filling-up server won't have the tech skills, inclination or time to run those regularly anyway.

                                  A win for Cloudron would be to offer a combined federation app - Mastodon + Scaleway, where the Mastodon instance also generates a user, Access Key ID and Secret Access Key which the user could then plug into a Scaleway Object Storage bucket (or there could be a drop-own menu offering S3, Scaleway or Minio), and also set the .env.production settings correctly. I realize doing that is relatively simple if you've done it before, but otherwise it could prove to be a barrier.

                                  jdaviescoatesJ Offline
                                  jdaviescoatesJ Offline
                                  jdaviescoates
                                  wrote on last edited by
                                  #23

                                  @scooke said in Running a federated Mastodon instance will take up ALOT of space and RAM - be prepared!:

                                  A win for Cloudron would be to offer a combined federation app - Mastodon + Scaleway, where the Mastodon instance also generates a user, Access Key ID and Secret Access Key which the user could then plug into a Scaleway Object Storage bucket (or there could be a drop-own menu offering S3, Scaleway or Minio), and also set the .env.production settings correctly. I realize doing that is relatively simple if you've done it before, but otherwise it could prove to be a barrier.

                                  +1 something like that would be great because I've just gone to create a bucket on Scaleway (easy enough), but now I'm at a loss as to how I actually connect that to a volume. Which type of mount point should I use for the Volume?

                                  I use Cloudron with Gandi & Hetzner

                                  robiR 1 Reply Last reply
                                  0
                                  • jdaviescoatesJ jdaviescoates

                                    @scooke said in Running a federated Mastodon instance will take up ALOT of space and RAM - be prepared!:

                                    A win for Cloudron would be to offer a combined federation app - Mastodon + Scaleway, where the Mastodon instance also generates a user, Access Key ID and Secret Access Key which the user could then plug into a Scaleway Object Storage bucket (or there could be a drop-own menu offering S3, Scaleway or Minio), and also set the .env.production settings correctly. I realize doing that is relatively simple if you've done it before, but otherwise it could prove to be a barrier.

                                    +1 something like that would be great because I've just gone to create a bucket on Scaleway (easy enough), but now I'm at a loss as to how I actually connect that to a volume. Which type of mount point should I use for the Volume?

                                    robiR Offline
                                    robiR Offline
                                    robi
                                    wrote on last edited by
                                    #24

                                    @jdaviescoates you'd have to do that through rclone manually. Cloudron only supports S3 as a backup target, not App volumes.

                                    Conscious tech

                                    jdaviescoatesJ 1 Reply Last reply
                                    1
                                    • robiR robi

                                      @jdaviescoates you'd have to do that through rclone manually. Cloudron only supports S3 as a backup target, not App volumes.

                                      jdaviescoatesJ Offline
                                      jdaviescoatesJ Offline
                                      jdaviescoates
                                      wrote on last edited by
                                      #25

                                      @robi sounds like maybe @scooke has managed it previously?

                                      I use Cloudron with Gandi & Hetzner

                                      1 Reply Last reply
                                      0
                                      • girishG girish referenced this topic on
                                      • chetbakerC chetbaker referenced this topic on
                                      • dxciBelD Offline
                                        dxciBelD Offline
                                        dxciBel
                                        wrote on last edited by
                                        #26

                                        So I've been running into this exact issue really soon after hosting an instance with ~30 users for a few weeks. I'm now trying to migrate media files to an S3 storage, in my case it's a Linode Object Storage.

                                        I've found this awesome guide which makes things pretty clear, but there's a question that came up when I read through it. In the section about configuring the bucket it says:

                                        Also, these instructions are specific to manual deployments, you may need to modify paths slightly for docker or other automatic deployments.

                                        Just to make sure, and please excuse if this question seems kinda inane, but: How exactly do I migrate my media files via Cloudron? Do I do it via the server console (Linode) or the Cloudron terminal? Is there anything extra I need to be aware of, any instructions that differ from this GitHub page?

                                        Just trying to make sure I don't break everything while trying to migrate to external media storage. Please be patient. 🙏

                                        scookeS 1 Reply Last reply
                                        2
                                        • dxciBelD dxciBel

                                          So I've been running into this exact issue really soon after hosting an instance with ~30 users for a few weeks. I'm now trying to migrate media files to an S3 storage, in my case it's a Linode Object Storage.

                                          I've found this awesome guide which makes things pretty clear, but there's a question that came up when I read through it. In the section about configuring the bucket it says:

                                          Also, these instructions are specific to manual deployments, you may need to modify paths slightly for docker or other automatic deployments.

                                          Just to make sure, and please excuse if this question seems kinda inane, but: How exactly do I migrate my media files via Cloudron? Do I do it via the server console (Linode) or the Cloudron terminal? Is there anything extra I need to be aware of, any instructions that differ from this GitHub page?

                                          Just trying to make sure I don't break everything while trying to migrate to external media storage. Please be patient. 🙏

                                          scookeS Offline
                                          scookeS Offline
                                          scooke
                                          wrote on last edited by scooke
                                          #27

                                          @dxciBel I might be wrong, and I hope I am for your sake, but when you change storage systems I think you will basically be starting over. There is a way to move buckets if origin and destination are both already S3. For me, even though I was one user on my own instance, at the time the amount of data I had stored was huge, so I just called it a loss, changed to Minio, and let the instance slowly repopulate all the data it needed. The one thing I did do was SAVE all my own images, headers, icons, etc., for my instance.

                                          In the process of writing this I did find these:

                                          https://stanislas.blog/2018/05/moving-mastodon-media-files-to-wasabi-object-storage/
                                          - the author recommends AGAINST Wasabi, but you want to read about the tools to move data from a regular storage to S3 using aws-cli. Almost halfway down there is this command which is what you want, and which you'll (obviously) have to adjust for your use-case: aws s3 sync public/system/ s3://my-bucket/ --endpoint-url=https://s3.wasabisys.com. "aws" is the command, "s3" is an option, "public/system" refers to where the data currently is, in your cloudron image, and "s3://my-bucket" is your Minio instance. I guess the last bit you need to include; if it doesn't work initially tweak the endpoint a few times, like remove the https...not sure how that it will go, but, it looks straightforward.

                                          Here are a few more. I suggest reading all of them before embarking on your journey:
                                          https://github.com/cybrespace/cybrespace-meta/blob/master/s3.md
                                          https://chrishubbs.com/2022/11/19/hosting-a-mastodon-instance-moving-asset-storage-to-s3/

                                          A life lived in fear is a life half-lived

                                          jdaviescoatesJ dxciBelD 2 Replies Last reply
                                          4
                                          • scookeS scooke

                                            @dxciBel I might be wrong, and I hope I am for your sake, but when you change storage systems I think you will basically be starting over. There is a way to move buckets if origin and destination are both already S3. For me, even though I was one user on my own instance, at the time the amount of data I had stored was huge, so I just called it a loss, changed to Minio, and let the instance slowly repopulate all the data it needed. The one thing I did do was SAVE all my own images, headers, icons, etc., for my instance.

                                            In the process of writing this I did find these:

                                            https://stanislas.blog/2018/05/moving-mastodon-media-files-to-wasabi-object-storage/
                                            - the author recommends AGAINST Wasabi, but you want to read about the tools to move data from a regular storage to S3 using aws-cli. Almost halfway down there is this command which is what you want, and which you'll (obviously) have to adjust for your use-case: aws s3 sync public/system/ s3://my-bucket/ --endpoint-url=https://s3.wasabisys.com. "aws" is the command, "s3" is an option, "public/system" refers to where the data currently is, in your cloudron image, and "s3://my-bucket" is your Minio instance. I guess the last bit you need to include; if it doesn't work initially tweak the endpoint a few times, like remove the https...not sure how that it will go, but, it looks straightforward.

                                            Here are a few more. I suggest reading all of them before embarking on your journey:
                                            https://github.com/cybrespace/cybrespace-meta/blob/master/s3.md
                                            https://chrishubbs.com/2022/11/19/hosting-a-mastodon-instance-moving-asset-storage-to-s3/

                                            jdaviescoatesJ Offline
                                            jdaviescoatesJ Offline
                                            jdaviescoates
                                            wrote on last edited by jdaviescoates
                                            #28

                                            @scooke said in Running a federated Mastodon instance will take up ALOT of space and RAM - be prepared!:

                                            Almost halfway down there is this command which is what you want, and which you'll (obviously) have to adjust for your use-case: aws s3 sync public/system/ s3://my-bucket/ --endpoint-url=https://s3.wasabisys.com. "aws" is the command, "s3" is an option, "public/system" refers to where the data currently is, in your cloudron image, and "s3://my-bucket" is your Minio instance. I guess the last bit you need to include; if it doesn't work initially tweak the endpoint a few times, like remove the https...not sure how that it will go, but, it looks straightforward.

                                            Yeah, I've not attempted moving files but it's obviously possible.

                                            She also this guide that has similar command to above.

                                            https://thomas-leister.de/en/mastodon-s3-media-storage/

                                            Indeed in their set-up they not only move stuff over but also do some clever nginx stuff to serve files locally if they exist and if not to fetch from S3 and cache locally.

                                            I use Cloudron with Gandi & Hetzner

                                            doodlemania2D shanelord01S 2 Replies Last reply
                                            0
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes


                                              • Login

                                              • Don't have an account? Register

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