Web Drive Project

Project Concluded:   May 01, 2018

DB Reference:   dc_web_drive

Last Updated:   September 26, 2023

Introduction

Collaborating with others frequently requires sharing files. In many parts of the world, this can be accomplished within a minute by utilizing the "share" button on platforms like Google Drive or Dropbox. Nonetheless, these cloud storage services typically have limited storage capacities. Thus, having a web drive that's self-hosted and offers unlimited or sufficiently large storage capacity can be extremely advantageous in such cases.

This project aims to provide a self-hosted web drive with real-time synchronized workspace across devices, one-click file sharing and downloading(no login required & password protected), complete privacy, and unlimited long-term storage.

Prerequisite & Structures

As of April 2023, the system has the following specification:

Software: Nextcloud

Webserver: Apache 2.4 + PHP

Host OS: Debian 11

Hardware: 4 Core CPU + 4G Memory Virtual Server

Reverse Proxy: Nginx

Access Point(s): HongKong 01, Beijing 01, Beijing 02

Detailed Description

It was a hard time to make everything runs smoothly. Web server & PHP config, SSL certificate, linux operation & folder permissions, and SQL databases are all new to me back to 2018. Fortunately, I managed to get everything working.

Although this project was marked as complete in 2018, the hardware and software specifications have continued to evolve over the years. It has now become an indispensable tool in my daily study and work routine. I can take notes on my laptop during class and when I return home, my workstation already has the notes synced in real-time. While only files from the current semester are synced, I can easily download any previous material by visiting the webpage if needed.

History

In 2018, this system has been housed in a virtual machine (VM) with a large hard disk drive (HDD) from Hostsolutions in Romania, which was the best option available to me at the time. However, the reliability of the system is relatively low due to the quality of service.

In 2019, the system was migrated to VM on my own hardware.

In 2020, with the launch of the genetic analysis project, a new set of storage nodes became available. As a result, the storage backend was separated from the frontend.

In 2022, with the deployment of the web load balancer and reverse proxy, the web drive was separated from the main web server and moved into its own virtual machine (VM).

Additionally, in 2022, the primary access point for the server was relocated to Hong Kong to achieve a more balanced network quality for access from both international locations and mainland China.