Skip to content

An intelligent on demand, prompt based, UI driven containerized cloud platform for flexible and scalable deployment of virtual desktops and labs.

License

Notifications You must be signed in to change notification settings

arunmathaisk/flashdesk

Repository files navigation

Flashdesk

FlashDesk Logo

FlashDesk Screen

FlashDesk Screen

FlashDesk Screen

FlashDesk Screen

FlashDesk Screen

FlashDesk Screen

FlashDesk Screen

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 FlashDesk app

    bench get-app https://github.com/arunmathaisk/flashdesk
  3. Create a new site

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

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

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

    bench start
  7. Start the frontend development server

    cd apps/flashdesk && yarn dev
  8. Finally, open the URL http://flashdesk.site:8000/frontend 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 flashdesk.localhost --no-mariadb-socket

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

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

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

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

Step 9: Set current site

bench use flashdesk.localhost

Step 10: Install the FlashDesk app onto the site created

bench get-app https://github.com/arunmathaisk/flashdesk

bench --site flashdesk.localhost install-app flashdesk

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/flashdesk && yarn dev

Finally, open the URL http://flashdesk.localhost:8000/frontend 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

FlashDesk is currently marked as noob-phase expect breaking changes between versions.

About

An intelligent on demand, prompt based, UI driven containerized cloud platform for flexible and scalable deployment of virtual desktops and labs.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published