MyDrive is an open-source self-hosted Google Drive alternative and DMS
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
- View your files and folders in grid or a list
- Multiple file uploads
- Responsive user-friendly interface
- Supports multiple databases (Amazon S3, Filesystem, or MongoDB)
- Supports Google Drive
- Supports S3 Storage
- Allows users to share files
- Download single and multiple files
- Users can set one-time download link
- Organize your files in folders
- Comes with a built-on image viewer
- A responsive video player that supports dozens of video formats
- Strong search options to search all of your files, folders
- Comes with am AES256 Encryption
- Automatic file thumbnails for photo and video files
- Easy installation using Docker and Docker-compose
- Access/Refresh tokens
- Developer-friendly documentation
- Filter files easily by last modified and uploaded date
- Rename files and folders
- Built-in JWT
- 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.