Scroll down for the simple setup guide, if you need a more guided approach choose one of the guided installation links depending on your use case.

Guided Installation

Docker Installation

Guided Docker Installation

Environment Variables

Adding a Google Drive Account

Updating From a Previous Version of myDrive

Installation

Required:

  • Node.js (LTS recommended, if you run into upload issues use v12)

  • MongoDB (Unless you are using a service like atlas)

Windows users will usually need both the microsoft visual build tools, and python 2. These are required to build the sharp module:

Linux users will need to make sure they have 'build-essential' installed:

sudo apt-get install build-essential

Setup:

Install node modules

npm install

Run build

npm run build

Create Environment Variables, Users can use the built in command to easily create the needed Environment files, or view the Environment Variables section to see how to manually create the files. This will create a server that you can get into from http://localhost:3000 or using the hosts IP address. ( For example if you’re using the default ports it would be something like http://192.168.0.28:3000 )

npm run setup

Rebuild the project after creating environment variables

npm run build

(Optional) Create the MongoDB indexes, this increases performance and is recommended. MongoDB must be running for this command to work.

npm run create-indexes-database

Start the server

npm run start

WebUI for encryption key

Depending on your environment variables and if you chose to use the webUI for the encryption key, myDrive will first start up a server where you can enter the encryption key. You can access this server from http://localhost:3000 or from the hosts IP address as stated before.

I recommend using localhost since it is safer. If you're using a service like SSH or a Droplet, you can forward the localhost connection safely like so:

ssh -L localhost:3000:localhost:3000 username@ip_address

Note: You can also disable using the webUI for the encryption key by providing a key in the server environment variables (e.g. KEY=password), but this is not recommended because it greatly reduces security

After the webUI key is entered, or if you chose not to enter a webUI key the myDrive server will start up. You can now access myDrive from your browser using the IP address or URL you entered in the setup.