What is MyDrive?

MyDrive is an Open Source cloud file storage server (Similar To Google Drive). Host myDrive on your own server or trusted platform and then access myDrive through your web browser.

MyDrive uses mongoDB to store file/folder metadata, and supports multiple databases to store the file chunks, such as Amazon S3, the Filesystem, or just MongoDB. MyDrive is built using Node.js, and Typescript. The service now even supports Docker images!

Features

  1. View your files and folders in grid or a list
  2. Multiple file uploads
  3. Responsive user-friendly  interface
  4. Supports multiple databases (Amazon S3, Filesystem, or MongoDB)
  5. Supports Google Drive
  6. Supports S3 Storage
  7. Allows users to share files
  8. Download single and multiple files
  9. Users can set one-time download link
  10. Organize your files in folders
  11. Comes with a built-on image viewer
  12. A responsive video player that supports dozens of video formats
  13. Strong search options to search all of your files, folders
  14. Comes with am AES256 Encryption
  15. Automatic file thumbnails for photo and video files
  16. Easy installation using Docker and Docker-compose
  17. Access/Refresh tokens
  18. Developer-friendly documentation
  19. Filter files easily by last modified and uploaded date
  20. Rename files and folders
  21. Built-in JWT
  22. Make files public or one time links

Install MyDrive on your server

You can choose to install the app from the source, or using Docker which is easier as it requires few steps and less configuration

MyDrive has built in Docker support, there are two options when using Docker, users can either use the Docker image that has MongoDB built in, or use the Docker image that just has the MyDrive image (If you're using a service like Atlas).

Create the Docker environment variables by running the npm run setup'command as seen in the installation section. Or by manually creating the file (e.g. docker-variables.env on the root of the project, see the environment section for more information).

Docker with MongoDB image:

docker-compose build

Docker without MongoDB image:

docker-compose -f docker-compose-no-mongo.yml build

Start the Docker Image:

docker-compose up -d

Technologies

MyDrive is built using Node.js, Express, Amazon S3, MongoDB, and React. The backend of myDrive uses Typescript to ensure a better quality of code.

License

MyDrive is released under the GPL-3.0 License.

Resources