/drive

[pre-alpha] An easy to use, document sharing and management solution.

Primary LanguageVueGNU Affero General Public License v3.0AGPL-3.0

Frappe Drive logo

An easy to use, document sharing and management solution.

home

More screenshots

 

search

 

upload

 

share

 

file-preview

Features

  • Upload and store files across multiple platforms.
  • View files and folders in List or Grid view and sort them by preference.
  • Preview files such as images, videos, PDFs, etc.
  • Share files or folders with others and manage their permissions.
  • Post comments on files shared with you.
  • Add files or folders to favourites to make them easily accessible.
  • Use the Search Bar to search for any file or folder in your Drive.

Installation

Local

To setup the repository locally follow the steps mentioned below:

  1. Install bench and set up a frappe-bench directory by following the installation steps.

  2. Move into your frappe-bench directory and get the Drive app

    bench get-app https://github.com/frappe/drive
  3. Create a new site

    bench new-site drive.site
  4. Map your site to localhost

    bench --site drive.site add-to-hosts
  5. Install the app onto your site

    bench --site drive.site install-app drive
  6. Start the bench server

    bench start
  7. Start the frontend development server

    cd apps/drive && yarn dev
  8. Finally, open the URL http://drive.site:8000/drive in your browser to see the app running.

Docker

This guide provides step-by-step instructions to install the project using Docker via VSCode Remote Containers extension.

Prerequisites

Before you begin, make sure you have the following prerequisites installed on your system:

  1. Docker
  2. Docker Compose
  3. User added to docker group
    sudo usermod -aG docker $USER
  4. VSCode Remote - Containers extension

Step 1: Cloning frappe_docker repo

git clone https://github.com/frappe/frappe_docker.git
cd frappe_docker

Step 2: Copy example devcontainer config from devcontainer-example to .devcontainer

Note:

Feel free to expore the files within devcontainer-example and make changes to the same, be that exposing DB ports or mount desired additonal volumes.

cp -R devcontainer-example .devcontainer

Step 3: Copy example vscode config for devcontainer from development/vscode-example to development/.vscode.

This will setup basic configuration for debugging.

cp -R development/vscode-example development/.vscode

Step 4: Open frappe_docker folder in VS Code(After the extensions are installed).

code .

Note:

The development directory is ignored by git. It is mounted and available inside the container. Create all your benches (installations of bench, the tool that manages frappe) inside this directory.

Step 5: Setup Bench

Run the following commands in the terminal inside the container. You might need to create a new terminal in VSCode.

# Use default environments
bench init --skip-redis-config-generation --frappe-branch version-14 frappe-bench
# Or set environment versions explicitly
nvm use v16
PYENV_VERSION=3.10.5 bench init --skip-redis-config-generation --frappe-branch version-14 frappe-bench

cd frappe-bench

Step 6: Setup hosts

We need to tell bench to use the right containers instead of localhost. Run the following commands inside the container:

bench set-config -g db_host mariadb
bench set-config -g redis_cache redis://redis-cache:6379
bench set-config -g redis_queue redis://redis-queue:6379
bench set-config -g redis_socketio redis://redis-socketio:6379

For any reason the above commands fail, set the values in common_site_config.json manually.

{
  "db_host": "mariadb",
  "redis_cache": "redis://redis-cache:6379",
  "redis_queue": "redis://redis-queue:6379",
  "redis_socketio": "redis://redis-socketio:6379"
}

Step 7: Create a new site

Note: Sitename must end with .localhost for trying deployments locally.

for example:

bench new-site mydrive.localhost --no-mariadb-socket

The same command can be run non-interactively as well:

bench new-site mydrive.localhost --mariadb-root-password 123 --admin-password admin --no-mariadb-socket

Step 8: Set bench in developer mode on the new site

bench --site mydrive.localhost set-config developer_mode 1
bench --site mydrive.localhost clear-cache

Step 9: Set current site

bench use mydrive.localhost

Step 10: Install the Drive app onto the site created

bench get-app https://github.com/frappe/drive

bench --site mydrive.localhost install-app drive

Step 11: Start Bench

Execute following command from the frappe-bench directory.

bench start

Step 12: Start the frontend development server

You are all set now :)

cd apps/drive && yarn dev

Finally, open the URL http://mydrive.localhost:8000/drive in your browser to see the app running.

Contributions and Community

There are many ways you can contribute even if you don't code:

  1. You can start by giving a star to this repository!
  2. If you find any issues, even if it is a typo, you can raise an issue to inform us.

If you want to contribute code then you can fork this repo, make changes and raise a PR. (see how to)

License

GNU Affero General Public License v3.0

Warning

Frappe drive is currently marked as pre-alpha expect breaking changes between versions.