
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, or the Filesystem.
Required:
Run the following command to download the latest docker image:
docker pull kylehoell/mydrive:latest
You must provide enviroment variables for the docker image to work. You can supply these during the docker run command instead of creating the env file.
backend/config -> Backend Enviroment Variables
You must also provide a volume for the image if you are using a filesystem database or if you want to use the generate video thumbnails feature. Volumes should be mounted to /data/ and /temp/ For example:
-v /path/example/mydrive/data/:/data/ -v /path/example/mydrive/temp/:/temp/
/data/: This is where the encrypted files will be stored.
/temp/: Where files will temporary be stored to generate video thumbnails as a fallback.
The docker image will by default run on port 3000.
Here is an example of the full docker command:
docker run -d \
-p 3000:3000 \
-e MONGODB_URL=mongodb://127.0.0.1:27017/mydrive \
-e DB_TYPE=fs \
-e PASSWORD_ACCESS=secretaccesspassword \
-e PASSWORD_REFRESH=secretrefreshpassword \
-e PASSWORD_COOKIE=secretcookiepassword \
-e KEY=encryptionkey \
-e VIDEO_THUMBNAILS_ENABLED=true \
-e TEMP_VIDEO_THUMBNAIL_LIMIT=5000000000 \
-v /path/example/mydrive/data/:/data/ \
-v /path/example/mydrive/temp/:/temp/ \
--name mydrive \
kylehoell/mydrive:latest
Required:
Setup (Non Docker Method):
Install Node Modules
npm install
Create Environment Variables:
You can find enviroment variable examples under:
backend/config -> Backend Enviroment Variables
src/config -> Frontend Enviroment VariablesSimply remove the .example from the end of the filename, and fill in the values.
Note: In most cases you will only have to change FE enviroment variables for development purposes.Run the build command
npm run build
Start the server
npm run start
Make issue
npm error gyp ERR! stack Error: not found: make
This is because you do not have the build essentials installed which is required for Linux. You can install them by running the following command:
sudo apt-get install build-essential
Memory issue
Aborted (core dumped)
When running the npm run build command it may take more memory than node allows by default. You will get the above error in such a case. To fix this, you can run the following command instead when building:
NODE_OPTIONS="--max-old-space-size=4096" npm run build
You can read more about this issue here.
Modern and colorful design

Upload Files

Download Files

Image Viewer

Video Viewer

Media Gallery

Share Files

Search For Files/Folders

Move File/Folders

Multi-select

Custom context menu

Trash

I created a short YouTube video, showing off myDrives design and features:
Note: Creating, deleting and other features are disabled in the demo. Also the service worker is not enabled in the demo, images thumbnails are not cached because of this.
Also this is just a 512mb RAM droplet go easy on her.
Please only open issues for actual bugs, feature requests or discussions should happen in Discussions or via my email.
Contact Email: kyle.hoell@gmail.com
If you are upgrading from myDrive 3 there is some data migration and scripts you must run for myDrive 4 to work properly.
Run the migration script
Note: Make sure you have env variables set
npm run migrate-to-mydrive4
Also, if you are updating from myDrive 3, or if you did not have video thumbnails enabled and would like to enable them now you can do so by running the following command:
Note: Make sure you have video thumbnails enabled in your env variables and FFMPEG installed.
npm run create-video-thumbnails
$ claude mcp add myDrive \
-- python -m otcore.mcp_server <graph>