Giter Club home page Giter Club logo

sys-bibbox-arch's Introduction

Publish Docker image Build Status Node.js GitHub top language GitHub language count GitHub last commit

BIBBOX

Size Limit logo by Anton Lovchikov

The BIBBOX Framework serves as a Basic Infrastructure Building Box (BIBBOX), which provides software solutions in form of apps for biobanking and bioinformatics. It provides the possibility to install apps and serve them directly towards the End-User. In the current state we are building apps to support pathologists, bioinformaticians and biobanks in their direct work as well as in Data-Management.

Size Limit CLI

Documentation

Please refer to the online documentation at bibbox.readthedocs.io, which includes installation instructions, a user guide and a developer guide for the BIBBOX system.

How It Works

  • Apps provided in the BIBBOX-Store can be easily installed with a few clicks and without any IT-knowledge.
  • Installed instances can be managed in the Instances tab.
    • See the apps dashboard by clicking the gear symbol on the bottom left of the apps tile.
    • Logs of an app are accessed by clicking the book symbol in the bottom-middle of the apps tile.
  • In the Activities tab each event can be expanded and contains a short descriptions about the nature of the given error.
  • The log of the individual system container of the BIBBOX can be inspected in the Sys Logs tab.

Quicktstart (for development)

Please follow the install instructions on our read the docs page - Install Bibbox(Linux) - for further details.

Show short instructions
  1. Install docker and docker-compose

  2. Create the bibbox location folder

cd /opt
sudo mkdir bibbox
cd bibbox
  1. Clone the repository
sudo git clone https://github.com/bibbox/sys-bibbox.git
cd sys-bibbox
  1. Run the installation script
sudo docker network create bibbox-default-network
sudo bash INSTALL.sh
  1. Domain-Settings
  • When asked to specify domainname:
    • You have a public domain under which you BIBBOX is running
    • Add the URL you want to use locally to your /etc/hosts file (or use localhost)
    • Set up a DNS Service (e.g.:dnsmasque) to create a local domain

Debug Tools

Celery Monitor

http://127.0.0.1:5011

Adminer

http://127.0.0.1:5012

Show default access for the Postgres database
  • server: postgres
  • username: postgres
  • password: postgres
  • database: bibbox

cadvisor

http://127.0.0.1:5013

Customization

Login Theme:

In order to customize the login theme use the theme files in keycloak/themes/custom/login.

Landing Description

Simply change the html text in the frontend/src/assets/landing.html file. The changes will automatoically be loaded. After installation, this text can still be changed under the following path: /opt/bibbox/sys-bibbox/frontend/dist/sys-bibbox-client/assets/landing.html.

Structure

The BIBBOX is structured in multiple docker containers:

apacheproxy

Proxy to enable access to the individual installed app and serves the angular frontend.

backend

The backend is built with Flask. Flask is a Python web application framework based on the Web Server Gateway Interface (WSGI) toolkit.

celery

Celery is a task manager which distributes tasks to worker instances. Celery usually uses a message broker such as Redis for the distribution of tasks.

celery-monitor

Monitor to inspect celery task.

postgres

Postgres is used as database and stores activity ,and system log information, which can be accessed via the frontend.

redis

Redis is an in-memory data structure store, used as a (NoSQL) database, cache, and message broker.

adminer

Adminer can be used to access and manage databases.

cadvisor

cadvisor (Container Advisor) provides resource usage and performance characteristics of the running containers.

keycloak

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.