Coder Social home page Coder Social logo

mboxed's Introduction

mboxed

One-click installation of ScienceBox on a single host, based on minikube. MBoxed is a self-contained, containerized demo for cloud storage and computing services for scientific and general-purpose use:

Quick Setup

  1. Clone this repository using git clone https://github.com/sciencebox/mboxed.git
  2. Run (as sudo)
SetupInstall.sh
ScienceBox.sh
  1. Open a browser and go to https://<your_host> to access sciencebox services.

Stopping the services

In order to stop the ScienceBox service, run:

sudo bash ./ScienceBox_Stop.sh

Deleting the services

In order to delete the ScienceBox service, run:

sudo bash ./ScienceBox_Delete.sh

Limitations and known issues

  • The package name in Helm must be sciencebox. It is currently hard-coded in several configuration parameters. We are progressively cleaning this up.
  • Storage persistency is not provided in minikube at the moment. Data stored in ScienceBox will be lost when containers are removed // restarted.
  • Software packages required by SWAN are fetched on demand via CVMFS. In case of slow Internet connection, starting a SWAN session may timeout and fail. Retrying immediately after helps in spawning the session successfully.
  • The login page shows an ownCloud UI theme. We are working to align the login page theme to the CERNBox theme.
  • When creating a public share in CERNBox, it return only the URL path but not the domain name. If in the need of using such functionality, please prepend the domain name where ScienceBox is reachable.

Since Minikube is configured to run with the none driver, one needs to have the root privileges to access the services deployed as a part of ScienceBox. More information about the none driver can be found here.

Since, we need to root privilege to run ScienceBox, the user might run into following error when running sudo ./ScienceBox.sh or sudo ./ScienceBox_Delete.sh:

โŒ  Exiting due to HOST_JUJU_LOCK_PERMISSION: writing kubeconfig: Error writing file /root/.kube/config: failed to acquire lock for /root/.kube/config: {Name:mk72a1487fd2da23da9e8181e16f352a6105bd56 Clock:{} Delay:500ms Timeout:1m0s Cancel:<nil>}: unable to open /tmp/juju-mk72a1487fd2da23da9e8181e16f352a6105bd56: permission denied

In order to fix the above issue, user can run sudo sysctl fs.protected_regular=0.

Default users

Several default users are pre-configured in the Identity Provider. You can use these to access ScienceBox services.

  • admin:admin
  • reva:reva
  • einstein:relativity
  • marie:radioactivity
  • moss:vista
  • richard:superfluidity

Requirements

  • 4 GB memory
  • 40 GB of free space on disk
  • CentOS 7, 8 or Ubuntu 20.04

Tested (and developed) on

  • OS: CentOS 7.9 (kernel version: 3.10), Ubuntu 20.04 (kernel version: 5.13.0-35-generic)
  • Docker: 20.10.12
  • Kubectl: 1.20.15
  • minikube: 1.25.2
  • Helm: 3.8.0

Feedback, contributions, and issues

Feedback is welcome on ScienceBox and mboxed!

  • For bug reports and suggestions for improvments, please open a GitHub Issue
  • For contributing to the project and providing fixes, please send a Pull Request

mboxed's People

Contributors

ebocchi avatar jimil749 avatar omazapa avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.