diff --git a/backend/config/.env.development.example b/backend/config/.env.development.example index 9da0edd..515ddca 100644 --- a/backend/config/.env.development.example +++ b/backend/config/.env.development.example @@ -1,6 +1,9 @@ # Either remove the .example from the end of this filename. # Or create a new file with the same name, but without the .example extension. +# NOTE: If you are using docker, you should provide these env variables during the docker run command instead. +# But you can still use this file as a guide. + # MongoDB URL: Connection string for your MongoDB database # example: mongodb://localhost:27017/mydrive MONGODB_URL= @@ -34,8 +37,7 @@ HTTP_PORT= HTTPS_PORT= # URL (optional): The URL to run the server on. -# Most likely not needed, but useful if you are running docker or such -# And need to bind to 0.0.0.0 instead. +# Most likely not needed, this changes the ip address/url express listens on. URL= # Email verifcation (optional): If you want to enable email verification configure as so. diff --git a/backend/config/.env.production.example b/backend/config/.env.production.example index 9da0edd..515ddca 100644 --- a/backend/config/.env.production.example +++ b/backend/config/.env.production.example @@ -1,6 +1,9 @@ # Either remove the .example from the end of this filename. # Or create a new file with the same name, but without the .example extension. +# NOTE: If you are using docker, you should provide these env variables during the docker run command instead. +# But you can still use this file as a guide. + # MongoDB URL: Connection string for your MongoDB database # example: mongodb://localhost:27017/mydrive MONGODB_URL= @@ -34,8 +37,7 @@ HTTP_PORT= HTTPS_PORT= # URL (optional): The URL to run the server on. -# Most likely not needed, but useful if you are running docker or such -# And need to bind to 0.0.0.0 instead. +# Most likely not needed, this changes the ip address/url express listens on. URL= # Email verifcation (optional): If you want to enable email verification configure as so. diff --git a/backend/config/.env.test.example b/backend/config/.env.test.example index 9da0edd..515ddca 100644 --- a/backend/config/.env.test.example +++ b/backend/config/.env.test.example @@ -1,6 +1,9 @@ # Either remove the .example from the end of this filename. # Or create a new file with the same name, but without the .example extension. +# NOTE: If you are using docker, you should provide these env variables during the docker run command instead. +# But you can still use this file as a guide. + # MongoDB URL: Connection string for your MongoDB database # example: mongodb://localhost:27017/mydrive MONGODB_URL= @@ -34,8 +37,7 @@ HTTP_PORT= HTTPS_PORT= # URL (optional): The URL to run the server on. -# Most likely not needed, but useful if you are running docker or such -# And need to bind to 0.0.0.0 instead. +# Most likely not needed, this changes the ip address/url express listens on. URL= # Email verifcation (optional): If you want to enable email verification configure as so. diff --git a/readme.md b/readme.md index 342e6ea..771f136 100755 --- a/readme.md +++ b/readme.md @@ -12,8 +12,8 @@ MyDrive is an Open Source cloud file storage server (Similar To Google Drive). H - [Features](#features) - [Tech stack](#tech-stack) -- [Installation (non docker)](#installation) -- [Docker installation](#docker) +- [Docker image](#docker) +- [Manual installation](#installation) - [Common installation issues](#common-installation-issues) - [Screenshots](#screenshots) - [Video](#video) @@ -56,7 +56,55 @@ MyDrive is an Open Source cloud file storage server (Similar To Google Drive). H -## 💻 Installation +## 🐳 Docker image + +Required: + +- Docker +- MongoDB (Unless using a service like Atlas) +
+ +Run the following command to download the latest docker image: + +```javascript +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/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: + +```javascript +-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: + +```bash +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 +``` + +## 💻 Manual Installation Required: @@ -136,47 +184,6 @@ You can read more about this issue [here](https://stackoverflow.com/questions/38 -## 🐳 Docker image - -Note: This is a work in progress and may have issues, please report any issues you find. - -Run the following command to download the latest docker image: - -```javascript -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/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: - -```javascript --v /path/example/mydrive/data/:/data/ -v /path/example/mydrive/temp/:/temp/ -``` - -The docker image will by default run on port 3000. - -Here is an example of the full docker command: - -```bash -docker run -d \ - -p 3000:3000 \ - -e MONGODB_URL=mongodb://127.0.0.1:27017/test \ - -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 -``` - ## 📸 Screenshots