By alexdo
I’ve recently got asked how to mount a space on a droplet and I would like to create a separate question here in the community where everyone can share their ideas and valuable information.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Accepted Answer
Hello, @TsungyingChen
You can mount a DigitalOcean space on your droplet and use it for storage of some of you data. In general, object storage solutions like Spaces are not meant to be accessed like a file system. They are API driven and most often used programmatically. You can check out this tutorial to learn more about object storage and if it’s right for your use case:
I’ve recently posted a question in the community on how to manage DigitalOcean Spaces using s3cmd:
https://www.digitalocean.com/community/questions/how-to-manage-digitalocean-spaces-using-s3cmd
You can use s3cmd in order to mount the Space to your droplet and from there you can transfer files directly to your Spaces. s3cmd also have a feature to sync directories. In this way you can always make sure that you have all of your latest project files uploaded to your bucket:
You can also use other tools like s3fs in order to mount the space. Also you can mount the Space on multiple droplets, there is no issue in doing that.
You need to do few steps:
1 First is to install s3fs:
sudo apt-get update
sudo apt-get install s3fs
2 Once that is done you need to setup your DigitalOcean Space credentials:
echo <space_key>:<space_token> > ~/.passwd-s3fs
chmod 600 ~/.passwd-s3fs
3 You need to sort the user permissions:
By default, DigitalOcean Space is mounted for root user. Because of that, any files or folders that are created via the web control panel is not accessible by non-root users after it’s mounted, which is not ideal. To make sure that we can access it via a non-root user, we need to update the config file:
sudo nano /etc/fuse.conf
Uncomment the part that says:
user_allow_other
Next, find out your user’s details by typing the following command:
id
You’ll see an output like this:
uid=1000(sammy) gid=1000(sammy) groups=1000(forge)…
In this case, the user is sammy, so you need to note down the uid and gid of the user for the next step.
4 Mount DigitalOcean Space
First, make a mounting folder:
mkdir <folder>
e.g replace the <folder> with the actual folder you would like to use, the command will be: mkdir space-storage
Then, let’s mount the Space to our new folder:
s3fs <space_name> <folder> -o url=https://sgp1.digitaloceanspaces.com -o use_cache=/tmp -o allow_other -o use_path_request_style -o uid=1000 -o gid=1000
Note: replace the space_name , folder and the uid , gid with your actual space name, created folder and the user IDs received from the id command in step 3
If you want to unmount the space you need to execute this command:
fusermount -u <folder>
That’s all for using s3fs with DigitalOcean’s Spaces.
Thanks to Jian Jye for sharing this article originally on
https://jianjye.medium.com/how-to-mount-digitalocean-spaces-to-droplets-on-ubuntu-dcba4cc16c78
Hope this helps! Regards, Alex
check this link it worked for me.
Hi, @pflynn02
You need to alter the /etc/fstab file in order to make the space loaded into the operating system’s file system table.
You can open the file in your favourite file editor and enter the following line:
s3fs#SPACE_NAME /path_to_moint_point fuse allow_other,_netdev,nosuid,nodev,url=https://nyc3.digitaloceanspaces.com 0 0`
an alternative one is:
s3fs SPACE_NAME /path_to_mount_point -o url=https://nyc3.digitaloceanspaces.com -o allow_other
Note: Make sure to change SPACE_NAME with the actual Space name and path_to_moint_point with the correct path to the mount point.
Hope that this helps! Regards, Alex
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Full documentation for every DigitalOcean product.
The Wave has everything you need to know about building a business, from raising funding to marketing your product.
Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.
New accounts only. By submitting your email you agree to our Privacy Policy
Scale up as you grow — whether you're running one virtual machine or ten thousand.
Sign up and get $200 in credit for your first 60 days with DigitalOcean.*
*This promotional offer applies to new accounts only.