Podcast Title

Author Name

0:00
0:00
Album Art

Build Your Own Cloud: A Guide to Replacing Dropbox and Google Drive

By 10xdev team July 11, 2025

This is all you need to replace Dropbox and Google Drive. You're going to use this to make your own cloud. In this article, I just might convince you to stop using Google Drive, OneDrive, Dropbox, whatever it is, even if you're a business.

Most of us pay Dropbox, Google Drive, and OneDrive to host and keep our data in the cloud, giving them control of our data. We do get a little bit of convenience in return; we can easily share all these files and we have the peace of mind that it's always going to be there and accessible—until a provider decides it shouldn't be. Or they change their prices, or they go down, or they get hacked. All of these things have happened.

The solution is to create your own, host your own stuff. This is actually crazy simple. All you're going to need is a computer. It could be a spare laptop with a little external hard drive. It could be a virtual machine or a Docker container. It can even be in the cloud, which sounds weird, but you're hosting it yourself. It's different.

You're going to find that Google Drive, Dropbox, and OneDrive haven't been giving us all the features we deserve. Right now, I'm going to show you a couple of self-hosting solutions that are kind of going to blow your mind. They have way more features than Dropbox and Google Drive.

We're going to give you a cloud experience on your own hardware, which just sounds cool, right? You're building your own cloud, in a way, and you're going to learn a ton along the way.

What Do You Need?

First of all, you don't need the big cloud providers anymore. Before we talk about what we need, there are two options I mentioned. Why two? Well, let's cover that. But first, I just want you to know they're both free, completely free. But they do target different audiences.

For example, our first one we're talking about is File Cloud. They do have a free community edition, but their target audience is large companies and enterprises. This is something I love, by the way, because I get to use the same tool that large companies use.

The second option is Nextcloud. Nextcloud is pretty cool, but it's more for a home lab. You probably won't see an enterprise company using this, and that's fine.

Both of these have a ton of amazing features. I'm not going to tell you what you want to pick. You're going to have to figure that out. I'm just going to show you what they do.

Deployment Options

Now let's talk about what you need to deploy either of these. You have a couple of options. Just know it's going to be pretty easy, but you're going to learn a lot.

On-Premise Hosting

Many of you will want to host this on-prem, in your house, or in your business. And that's kind of the main selling point, right? Your data doesn't leave your house unless you share it securely. For that, you can have a spare laptop collecting dust in your closet. You can install it on your Windows machine you're using right now, or a Windows server. Or it can go on any Linux server. File Cloud loves Ubuntu 20.04 Server LTS. It can also be a Docker container. They even have an image for VirtualBox and ESXi. Whichever option you choose, it's really simple to get installed.

Cloud Hosting

The other option I think is more fun, and you're going to learn a ton, is in the cloud. I know it sounds weird—we're leaving the cloud, but you're going to put me back in the cloud. You have more control though. We're going to put the sucker in AWS, Amazon's cloud, which means we're going to get to learn a few things about how to do things in the cloud, like EC2 and S3. I'm going to walk you through the entire thing, but you're going to end up hosting your own drive in the cloud. Your own cloud, in the cloud.

My advice, if you want to play around and have fun and learn a ton, do pick both options. Play with it. Now keep in mind that on-prem is going to be completely free as long as you have the hardware. AWS does charge for hosting because you're not just using your hardware anymore; you're using someone else's hardware, and you've got to rent.

Getting Started with File Cloud

One of the main reasons I love File Cloud is because they're enterprise-focused. The reason I build my home lab is so I can pretend to be a company, right? Because I want to get hands-on skills and experience with stuff companies might use. So any chance I can get to host something in my lab that's enterprise, that companies really actually might use, I'm going to take it.

And I love that you can install it on Windows. I think it's probably one of the only host-your-own-cloud solutions out there that installs on Windows, which is why companies love it. It supports Windows 10 and up, and Windows Server 2019 or newer.

File Cloud is known as an EFS, or an Enterprise File Sharing solution. Their goal is to help you make your own private cloud as a person or as a business. It's really powerful and really secure. That's why they're big in government, finance, and education. Nowadays, data is the name of the game: keeping your data safe and secure, making sure you're not sharing it with someone you shouldn't.

Community Edition Features

Before we install it, let me tell you a few things I love about the community edition and why you might want to install it right now. - Of course, you get remote access to your files from anywhere, and it's free. - You also have full control of your stuff, of your data, and it's private. - They have hyper-secure file sharing. What that means is when you share a file, you can password-protect it, limit the time it's allowed to be downloaded, and limit the amount of downloads that can occur. Create a file, say you can only download it until next week, and you can only download it one time. That's killer. - Most solutions let you download an application that'll sync your files back and forth, but you can also mount your drive as a network share. It's so cool.

Enterprise Features

Beyond the community edition, there are some things that they do for enterprise that are just crazy. A big thing that File Cloud cares about is data governance: putting retention policies on your data, having smart DLP (Data Leak Prevention). They even have zero-trust file sharing and antivirus scanning.

Setting Up File Cloud on AWS

I'm going to start with AWS because honestly, it's the most fun. If you don't care about AWS and want to host this on your own, you can jump forward.

First, you need to set up a File Cloud account and get your community edition license. It used to be a paid license, but now it's free.

  1. Create a File Cloud Account: Navigate to ce.filecloud.com. Scroll down and click on "Download Now," which will prompt you to create an account.
  2. Log into AWS: If you've never used AWS before, you can sign up for a free tier account at aws.amazon.com. This will give you a ton of stuff for free.
  3. Launch an EC2 Instance: In the AWS console, navigate to Services > Compute > EC2.
    • Click on Launch Instance.
    • Give it a name, like "FileCloud-Server".
    • In the "Amazon Machine Image (AMI)" search box, search for "File Cloud".
    • Click on the "AWS Marketplace AMIs" tab. Select the File Cloud image.
    • The recommended instance type is t2.medium. For the free tier, you can select t2.micro to try it out without being charged.
    • For the "Key pair (login)," create a new key pair. Name it and create it. This will download a .pem file. Keep it safe.
    • Click Launch instance.
  4. Access Your Instance: Click on the instance ID to see the details. Once the "Instance state" is "running," find the "Public IPv4 DNS" name. Copy it.

Initial File Cloud Configuration

  1. Installation Check: Open a new browser tab and paste the DNS name, followed by /install. This will run some checks to ensure everything is installed correctly.
  2. Admin Login: Now, navigate to the DNS name followed by /admin.
    • The default login is admin.
    • The password is your Instance ID from the AWS console (e.g., i-0123456789abcdef).
  3. Apply License: You'll see an "Invalid License File" error.
    • Go back to your File Cloud portal. On Step 2, click "Get Your License." This will download a license.xml file.
    • Back in the File Cloud admin interface, click "Choose File," select the license file, and click "Apply."

Configuring Storage with Amazon S3

Currently, the instance has limited storage. We can use Amazon S3 for cheap, scalable storage.

  1. Create an S3 Bucket:
    • In AWS, go to Services > Storage > S3.
    • Click Create bucket.
    • Give it a unique name (e.g., my-filecloud-bucket).
    • Select the same region as your EC2 instance.
    • Keep all default settings and create the bucket.
  2. Create an IAM User:
    • In AWS, search for IAM.
    • Go to Users and click Add users.
    • Give the user a name (e.g., filecloud-s3-user).
    • Click Next until you can Create user.
  3. Add Permissions to IAM User:
    • Click on the user you just created.
    • Under "Permissions policies," click Add permissions > Create inline policy.
    • Go to the JSON tab.
    • In the File Cloud setup guide (the document that opened when you chose the AWS option), find the section "Setting up FileCloud Managed S3 Storage."
    • Under "Configure Credentials," you'll find a JSON policy. Copy it.
    • Paste the JSON into the policy editor in AWS.
    • Review and create the policy.

Connecting File Cloud to S3

This part requires using the command line.

  1. Connect to your EC2 instance via SSH:
    • In the EC2 console, select your instance, click Connect.
    • It will provide an example SSH command. Copy it.
    • Open your terminal, navigate to your Downloads folder (where the .pem key is), and paste the command to connect.
  2. Edit the Config File:
    • Once connected, run this command: bash sudo nano /var/www/html/config/cloudconfig.php
    • Scroll down to define('TONIDOCLOUD_STORAGE_IMPLEMENTATION', 'local');
    • Change local to AmazonS3.
    • Save and exit (Ctrl+X, Y, Enter).
  3. Copy the Sample Config:
    • Run this command: bash sudo cp /var/www/html/config/amazons3storage_config-sample.php /var/www/html/config/amazons3storage_config.php
  4. Configure S3 in File Cloud:
    • Back in the File Cloud admin dashboard, go to Settings > Storage. You should now see S3 options.
    • We need an S3 Key and Secret. Go back to the IAM user in AWS.
    • Under the Security credentials tab, click Create access key.
    • Select "Third-party service," acknowledge the recommendation, and create the key.
    • Copy the Access key and Secret access key.
    • Paste them into the S3 Key and S3 Secret fields in File Cloud.
    • Enter your S3 Bucket Name.
    • Click Save.
  5. Enable Encryption:
    • In the same storage settings, find the S3 Encryption section and enable it for better security.

You are now using Amazon S3 for your File Cloud storage!

Hosting On-Premise

If you prefer to host it yourself, here are a few options.

Docker Install

This is a quick way to get started on a Linux system.

  1. Install Docker: bash sudo apt update sudo apt install docker.io docker-compose -y
  2. Get the Docker Compose file: bash wget https://www.filecloud.com/docker/docker-compose-ce.yml
  3. Pull the required images: bash sudo docker-compose -f docker-compose-ce.yml pull filecloud-ce mongodb
  4. Start the containers: bash sudo docker-compose -f docker-compose-ce.yml up -d
  5. Access and configure: Navigate to your server's IP address followed by /admin. The default login is admin / password. Apply your license file as before.

Linux Install (Ubuntu)

This installs File Cloud directly on an Ubuntu 20.04 LTS server.

  1. Add the repository and keys: bash sudo sh -c 'echo "deb [arch=amd64] http://p.n-1.eu/filecloud/filecloud-ce/ focal main" > /etc/apt/sources.list.d/filecloud-ce.list' sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8B3294DE7F319944 sudo apt-get update
  2. Install the packages: bash sudo DEBIAN_FRONTEND=noninteractive apt-get -y install filecloud-ce
  3. Access and configure: Navigate to your server's IP address and follow the same setup steps.

Using an External Hard Drive (Linux)

If you're hosting on-prem, you'll want more storage.

  1. Connect your drive and identify it using lsblk.
  2. Format the drive (this will erase all data): bash sudo mkfs -t ext4 /dev/sdX1 (Replace sdX1 with your drive identifier).
  3. Create a mount point: bash sudo mkdir /mnt/filecloud
  4. Mount the drive: bash sudo mount /dev/sdX1 /mnt/filecloud
  5. Set permissions: bash sudo chown -R www-data:www-data /mnt/filecloud sudo chmod -R 775 /mnt/filecloud
  6. Update the storage path in the File Cloud admin settings under Settings > Storage to /mnt/filecloud.

Final Touches: Domain Name and SSL

To make your cloud professional, you need a domain name and SSL. This example uses Cloudflare.

  1. Point your domain to your server: In Cloudflare, create an 'A' record for a subdomain (e.g., files.yourdomain.com) pointing to your server's public IP address.
  2. Generate a Certificate Signing Request (CSR) on your server: bash openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr Fill out the prompts. For "Common Name," use your full domain (files.yourdomain.com).
  3. Create a certificate in Cloudflare:
    • Go to SSL/TLS > Origin Server.
    • Click Create Certificate.
    • Choose "Use my private key and CSR."
    • Paste the content of your server.csr file.
    • Click Create. Cloudflare will give you an Origin Certificate.
  4. Install the certificate on your server (Apache):
    • Enable SSL: sudo a2enmod ssl
    • Create a new file server.crt and paste the Origin Certificate text into it.
    • Move the server.crt and server.key files to a secure location like /etc/ssl/certs/ and /etc/ssl/private/.
    • Configure your Apache virtual host file for port 443 to use the new certificate and key.
    • Restart Apache: sudo systemctl restart apache2
  5. Update Server URL in File Cloud: In Settings, change the "Server URL" to your new https:// address.

The Power of Mapped Drives

One of the coolest features is the File Cloud Drive app. It mounts your cloud storage as a network drive on your computer (e.g., L: drive). This means you can interact with your files directly through your file explorer without syncing everything locally. You can even right-click to generate secure share links directly from your desktop.

What About Nextcloud?

Nextcloud is a popular open-source alternative, great for home labs.

  • Installation: The easiest way is via Docker. They provide a simple docker run command on their website.
  • Features: Nextcloud is packed with features and apps, turning it into a full collaboration suite with contacts, calendars, notes, and more.
  • Limitations: Unlike File Cloud's community edition (limited to 5 users), Nextcloud allows unlimited users. However, the sharing options are slightly less advanced (e.g., you can't limit the number of downloads).

Conclusion

Kicking the big cloud providers to the curb is entirely possible. For personal use, you might use a bit of everything for maximum backup. But for personal data or business-critical files, having full control is invaluable.

  • File Cloud is a fantastic, secure solution, especially if you want enterprise-grade features or need to comply with regulations.
  • Nextcloud is a fun, feature-rich, open-source project perfect for tinkerers and home lab enthusiasts.

Both options require a bit of IT knowledge and tinkering, but as we've covered in this article, the process is manageable and rewarding.

Join the 10xdev Community

Subscribe and get 8+ free PDFs that contain detailed roadmaps with recommended learning periods for each programming language or field, along with links to free resources such as books, YouTube tutorials, and courses with certificates.

Recommended For You

Up Next