bibbox / sys-bibbox

Sys repository of the new bibbox
MIT License
1 stars 3 forks source link

Publish Docker image Build Status Node.js

GitHub top language GitHub language count GitHub last commit

BIBBOX

<img src="./frontend/src/assets/silicolab_logo.png" align="right" alt="Size Limit logo by Anton Lovchikov" width="100" height="100">

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.

The frontend is built automatically. If you want to make some changes you can rebuild it with the following command:

docker compose -f docker-compose_frontend_builder.yml up --build -d

How It Works

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 ```sh cd /opt sudo mkdir bibbox cd bibbox ``` 3. Clone the repository ```sh sudo git clone https://github.com/bibbox/sys-bibbox.git cd sys-bibbox ``` 4. Run the installation script ```sh sudo docker network create bibbox-default-network sudo bash INSTALL.sh ``` 5. 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

Initial Login

After the first installation please login in as tempadmin --> switch to the Users tab and create a propper admin user. Logout and login as the newly created admin user so that you can delete the tempadmin, this ensures no one else can access your bibbox using the default tempadmin login. Please note that the tempadmin user is not a fully functional user.

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