Installation Steps: BioTuring BioStudio
¶Software to tackle biomedical challenges:
Colaboratory
, or BioStudio
for short, is a product from Bioturing.BioStudio
has a variety of features and pre-built notebooks , for user to download and use. We are providing all types of user friendly tools that helps, users to post their data and analyze the reports. Our product can be used to write and execute arbitrary python, R code, Golang, Julia, RStudio, VS Code and many more through the browser, and is especially well suited to data analysis and education. More technically, BioStudio is a hosted Jupyter notebook service that requires no setup to use. Users can build their own notebook based on their requirements.
We are keep adding new features and functionalities to BioStudio.
Before installing the BioStudio, some pre-installation steps are required:
Basic recommendation | Optional | |
---|---|---|
CPU | 16 core | This is basic requirement to start BioStudio and based on requirement, Resources as well as machine can be added. |
RAM | 64 GB Minimum | As above |
HDD | / partition can be 100 GB | As above. |
Data Volume : 1TB | As above. | |
OS | Any OS. Ubuntu 20.04 and above. | BioStudio is more supportive with Linux OS. For better performance linux OS is recommended. |
AWS Instance | Support any type of instance type. Depend on needs | AWS g5.4xlarge in case using GPU. |
Platform | Docker / Kubernetes |
Note | |
---|---|
In case we want to use GPU based Notebooks with BioStudio. We need to install NVIDIA and below would be a requirement. | |
The system has one or multiple NVIDIA GPU(s) (at least 16 GB memory per GPU) - with Turing architecture or above. | |
BioStudio supports any Linux OS. We are recommending Ubuntu 20.04 or above. | |
SSL can be configured later also. | |
Please contact support@bioturing.com to get the token for your company. | |
Security | |
The BioStudio platform uses HTTPS protocol to securely communicate over the network. | |
All of the users need to be authenticated using a BioTuring account or the company’s SSO to access the platform. | |
We highly recommend setting up a private VPC network for IP restriction. | |
The data stays behind the company firewall. | |
The BioStudio platform does not track any usage logs. | |
Data visibility | |
Data can be uploaded to Personal Workspace or Data Sharing group. | |
In the Personal Workspace, only the owner can able to see and manipulate the data she/he uploaded. | |
In the Data Sharing group, only people in the group can able to see the data. | |
In the Data Sharing group, only people with sufficient permissions can able to manipulate the data. |
Domain | Explain |
---|---|
*.bioturing.com | We need to retrieve data from the BioTuring ecosystem server. |
*.anaconda.org | We need to retrieve packages from the Anaconda server. |
*repo.anaconda.com | We need to retrieve packages from the Anaconda repo server. |
Amazon S3 | We need to retrieve resources from the BioTuring ecosystem server. |
github.com | We need to retrieve packages from the Github. |
cdn-eu-west-1.s3.eu-west-1.amazonaws.com (euro -west1) | We need to retrieve packages from the CDN. |
s3.us-west-2.amazonaws.com/cdn.bioturing.com (us -west2) | We need to retrieve packages from the CDN. |
cdn.bioturing.com (us -west2) | We need to retrieve packages from the CDN. |
talk2dataupdate.s3.us-west-2.amazonaws.com | We need to retrieve packages from here. |
openapi.bioturing.com | We need to retrieve packages from here. |
portal.bioturing.com | We need to retrieve packages from here. |
update.bioturing.com | We need to retrieve packages from here. |
talk2data.bioturing.com | We need to retrieve packages from here. |
ml.bioturing.com | We need to retrieve packages from here. |
authenticate.bioturing.com | We need to retrieve packages from here. |
colab.bioturing.com | We need to retrieve packages from here. |
cdn.bioturing.com | We need to retrieve packages from here. |
studio.bioturing.com | We need to retrieve packages from here. |
👉 Please contact 📧 support@bioturing.com to get the token for your company.
🔔 Note: Our software can be installed with minimum capacity of instance / server. The ideal system that we recommend for most companies is AWS c5a.8xlarge for CPU based. Instance can be chosen based on requirement. If the notebook is based on GPU, we can select GPU based instance. Our Product is containerized based applications. Kindly select the machine based on your requirements. BioStudio can be run on Docker using Docker engine and Kubernetes.
✨ Important note ✨: We can install BBrowserX talk2data (Bioturing ecosystem) 🔗 BBrowserX and BioStudio on the same server. Installation process is the same to run our installation script for BioStudio. Step by step Instructions to install BioStudio are given below. Only changes on domain name for BioStudio. Kindly do not use BBrowserX talk2data domain name during this installation, In case you are planing to install BBrowserX and BioStudio on same machine.
💫 BioStudio token can be updated later, after installation.
💫 Contact point to get BioStudio token is 📧 support@bioturing.com
💫 SSL certificate can be installed later, If BioStudio planned to install on separate instance.
User can access BioStudio application using two ways, In case installed BBrowserx and BioStudio on the same machine.
1️⃣ Browse the BioStudio application https://<BioStudio Domain name>
, If you have SSL certificate for BioStudio domain and configured with Nginx else use http protocol.
2️⃣ Use BioStudio Desktop application - using IP address.
Bioturing Launcher 🔗 Desktop Application
🔔If BioStudio will install on separate server. BioStudio can be accessed using any browser by IP address or Domain name.
Note: We suggest starting from scratch to avoid package/driver conflicts. For Tag naming conversion, kindly select based on your architecture.
🔶 Login to AWS console with admin user account to launch an EC2 instance.
Note: It’s up to the client. How they are going to manage infrastructure, Load, Network, Access and traffic …etc.
🔶 Search VPC on the search box.
🔶 Select the appropriate region for VPC.
🔶 Click on *Create VPC.
🔶 Fill-out Name tag , IPv4 CIDR block details.
🔶 Mentioned Tags and select Create VPC push button.
🔶 Verify VPC creation successfully completed.
🔶 Time to create Subnet. Click on Create subnet.
🔶 Select VPC ID and type Subnet name.
🔶 Fill CIDR block, type Tag Key and Value then Click on Create subnet.
🔶 Subnet created successfully.
🔶 Check Subnet detail.
Note: As noticed. During Subnet creation 🔃 Router table was automatically created.
⭕ Time to create Internet Gateway.
🔶 Router Table.
🔶 Select Internet gateway and Click on Create internet gateway.
🔶 Fill Name Tag, Key and Value then Click Create internet gateway.
🔶 Internet gateway created successfully.
🔶 In Internet gateway Click on Action and select Attached to VPC.
🔶 Internet Gateway attached to VPC completed.
🔶 Now Update Route Table for Subnet association and add Route to use Internet gateway to router table.
🔶 Update Route Table for Subnet association.
🔶 Select Subnet associations from Route tables ▶️ Second tab.
🔶 Click on Edit subnet associations and select Subnet name, which you would like to associate then Click on Save associations button.
🔶 Subnet association completed.
🔶 Select Routes from Route tables ▶️ First tab.
🔶 Click on Edit routes.
🔶 Fill the value 0.0.0.0/0 and select Internet gateway name as showing on below screenshot.
🔶 Click on Save change.
🔶 Router table updated.
🔶 Click on Search Bar and type ec2.
🔶 Click on instances (running).
🔶 Click on Launch instances.
🔶 Type name of instance.
🔶 Select Operating System. Here, We are selecting ubuntu.
🔶 Select g5.8xlarge instance.
🔍 Select instance type based on your requirements.
🔶 Create a Keypair to connect to ec2 instance. Type Key pair name and Click on Create key pair.
🔶 Key pair will download.
🔶 On the Network settings select correct VPC and Subnet ID
🔶 On the firewall (Security groups) section. Create new security group by giving appropriate name.
🔶 Allow SSH , HTTP and HTTPS. Source will be 0.0.0.0/0.
⭕ Configure Storage
🔶 Root Volume is 100GB
🔶 EBS Volume is 1000GB ~ 1TB
🔶 Click on Launch instance.
🔶 Instance creation will be in progress.
🔶 Click on Elastic IPs and Click on Allocate Elastic IP address.
🔶 Select Network Boarder Group and take Elastic IP address.
🔶 Click on Associate Elastic IP address.
🔶 Select Instance and Private IP address.
🔶 Click on Associate.
🔶 Elastic IP address associated successfully.
🔶 Take connection string and SSH to ec2 Instnace.
# Copy the connection string. Use SSH key pair and connect to ec2 instance.
ssh -i "lalit-biocolab-keypair.pem" ubuntu@3.98.231.253
# Before start installation. Kindly create below path.
Item | Note | Size |
---|---|---|
BioStudio Token | To access our product. | |
Application Domain | Access BioStudio on Browser. | |
META_DATA Volume | This will use by Bioproxy to store database. [/biocolab/metadata] | 50GB |
SSL Volume | Using by BioProxy. [/biocolab/configs] | 1GB or above |
Data Volume | Using to store user data. [/biocolab/userdata] | 500GB or above |
Application data Volume | Used to store application binary data.[/biocolab/appdata] | 150GB or above |
Ethernet IP Address | Use to pass IP address during installation (eth0) |
Run the install.biocolab.docker.sh script for docker environment and install require software.
# Create required folder structure before execution.
mkdir -p /biocolab/metadata
mkdir -p /biocolab/configs
mkdir -p /biocolab/userdata
mkdir -p /biocolab/appdata
# Switch to /biocolab folder.
cd /biocolab
# Download script:
# Note: Installation script version would be changed based on updates.
# Our Team will get you updates and keep in touch with you during installation.
wget https://github.com/bioturing/installation/archive/refs/tags/v2.1.11.tar.gz
# uncompressed .gz
tar xvf v2.1.11.tar.gz
# Switch to installation folder
cd installation-2.1.11/
# Execute installation script
bash install.biocolab.docker.sh
# Verify both container up and running.
docker ps -a
# Configure SSO login
http://<Your Domain>/dashboard/
🔶 Download v2.1.11.tar.gz, which content script to install BioStudio.
🔔 During execution of this script, It will prompt for input credential. Kindly note that user name is admin and keep store the password safely, which you are going to input. It needed to be performed admin activities.
🔶 Execute script.
🔶 Follow execution script’s instructions and input values accordingly.
🔶 Change the IP, If we have many.
BioProxy version : 1.0.26
BioColab version : 2.0.50
# Please provide the version based on Bioturing instruction.
# It would be vary based on updates.
🔶 Verify both container status - UP and running.
🔶 Browser BioStudio.
# https://<Domain name>
⌚ Kindly wait for a while. BioStudio software will take time to download packages and install.
https://<your domain>/dashboard
# It will prompt for Admin Login.
# Select Account Registration.
# Create admin account.
# Root Password is the one, we provided during installation.
# Login with the Dashboard using that account you registered earlier.
🔶 Account Registration.
🔶 Crearte Admin Account.
🔶 Login to dashboard.
https://<your domain>/dashboard
Workspace
It is essential to create a machine and mount the volume before using the workspace.
# Login with Dashboard using admin credential.
# Select Machines Tab form left-side menu.
# Select + Add New Machine.
Name: You can select any name to this machine. This is a private IP of your machine, That can be find in /etc/hosts file on BioStudio pods.
I already added a machine, so I will go with the update machine.
🔶 Please fill out Update machine metadata.
🔶 Please add volume - Update machine Metadata.
# Machines --> Click on + sign to add volume.
# You can use any name for volume, but the volume path will always be /home.
# Workspace is now ready for use.
SSO Set up
¶We are supporting three types of protocol below:
PROTOCOLS |
---|
SAML |
OPENID |
OAUTH2 |
🔔 Please contact 📧 support@bioturing.com to add ➕ more protocols and types , If you are not able to find in the list based on your choice. 😊 We are always happy to add more variety of protocols and types.
SAML : Identity and Access Management |
---|
Aliyun IDaaS |
Keycloak |
Default |
OPENID : Identity and Access Management |
---|
Default |
OAUTH2 : Identity and Access Management |
---|
Adfs |
Amazon |
Apple |
Auth0 |
AzureAD |
BattleNet |
Bilibili |
Bitbucket |
Box |
Casdoor |
CloudFoundry |
Custom |
Dailymotion |
Deezer |
DigitalOcean |
Discord |
Douyin |
Dropbox |
EveOnline |
Fitbit |
Gitea |
Heroku |
InfluxCloud |
Infoflow |
Intercom |
Kakao |
Lastfm |
Line |
Mailru |
Meetup |
MicrosoftOnline |
Naver |
Nextcloud |
Okta |
OneDrive |
Oura |
Patreon |
Paypal |
SalesForce |
Shopify |
Slack |
Soundcloud |
Spotify |
Steam |
Strava |
Stripe |
TikTok |
Tumblr |
Twitch |
Typetalk |
Uber |
VK |
Wepay |
Xero |
Yahoo |
Yammer |
Yandex |
Zoom |
SSO configuration
¶🔆 Login to Dashboard using admin credential.
🔗 https://<Domain Name>/dashboard
🔗 http://<Domain Name>/dashboard
🔆 Select SSO on ⬅️ left side menu.
🔆 Click on ➡️ + Add New SSO push button.
🔶 New SSO configuration.
Option | Description |
---|---|
Protocol | Rules that you would like to select for SSO configuration. It could be SAML, OPENID or OAUTH2. |
Default | If you are configuring - multiple SSO service providers. You can mark one of them to use as a default by enabling Default option. |
App name | Specified application name. You can provide any name. |
Display Name | Name that you would like to use for SSO configuration. You can provide any name. |
Allow SSO Domains | This option allow you to restrict access to an application. Only selected domain are allow to access this application. Kindly provide your domain name, if you wish to allow to access user’s belongs to your domain. |
Callback HTTPS URL | We must use this URL to configure SSO, if BioStudio configured with SSL access. So that once Authentication Successful. User will allow to access BioStudio application. |
Callback HTTP URL | We must use this URL to configure SSO, If BioStudio configured without SSL. So that once Authentication Successful. User will allow to access BioStudio application. |
Type | Select what type of IDP service provider you are going to use. value will be changed based on selected Protocol. |
Subtype | If you have more type of IDP. Type vlaue in Subtype. |
Disable SSL | By default SSL is disabled. If you would like to auth. with server’s keys. Enable it and you can have public and private key to configure SSO. |
Configuration by | You can select to provide value by manual, Ready from XML content or Ready from XML file URL. |
IDP SSO URL | Identity Provider SSO URL that you can get it from IDP. |
IDP Issuer URL | Identity Provider Issuer URL that you can get it from IDP. |
IDP x509 Public Cert | Identity Provider certificate. That you can download or copy the content and provide it here. |
🔔 Note: Callback HTTPS URL, Callback HTTP URL is not static and will change each time for new SSO configuration for the same potocol.
🔐 Solution: We can provide dummy values to mendatory fields and click on Submit button to 💾 save. Once saved, We can provide Callback URL to SSO IT department for further configuration. Collect all required values after configuring Callback URL from IDP and configure it further by update SSO.
🔶 SAML Protocol
SAML is an XML-based authentication protocol in which Identity Providers (IdP) -- entities that manage and store user credentials -- exchange digitally signed XML documents (SAML Assertions) allowing an end-user to access a **Service Provider **(SP).
Here IDP could be Aliyum IDaas, KeyCloak, auth0, or any of IDP service provider, which come under default.
BioStudio is comes under service provider.
🔷 SAML Protocol Configured.
🔷 SAML Protocol view metadata.
# Once clicked on Submit button. You can view metadata by clicking + ( Plus sign)
🔷 SAML metadata.
🔷 SAML Protocol update / delete method.
You can update the values of an existing SSO configuration whenever you want by selecting the update option for SSO.
# In Order to update or delete existing SSO configuration. Please follow steps are given below.
1. Login to the dashboard using Admin credential.
2. Select SSO option available on left side menu.
3. Select SSO Application -- Action three DOTS to select your choice to update or delete.
# option - Action.
# option - Update.
# option - Delete.
🔶 OPENID Protocol.
OpenID Connect is an interoperable authentication protocol based on the OAuth 2.0 framework of specifications (IETF RFC 6749 and 6750). It simplifies the way to verify the identity of users based on the authentication performed by an Authorization Server and to obtain user profile information in an interoperable and REST-like manner.
🔷 OPENID configured.
🔶 OAUTH2 Protocol.
The OAuth 2.0 is the industry protocol for authorization. It allows a user to grant limited access to its protected resources. Designed to work specifically with Hypertext Transfer Protocol (HTTP), OAuth separates the role of the client from the resource owner. The client requests access to the resources controlled by the resource owner and hosted by the resource server. The resource server issues access tokens with the approval of the resource owner. The client uses the access tokens to access the protected resources hosted by the resource server.
We are providing all type of IDP’s to configure SSO using OAUTH2. List is given above.
🔷 OAUTH2 configured with Google.
🔷 OAUTH2 configured with Azure.
In above explanation, We configured four types of SSO. It will appears to users during login to decide login method.
⭕ Login to Okta Account for SAML / OPENID.
⭕ We are illustrating for SAML.
⭕ Click on admin account push button and login to your Okta admin account.
NOTE: Kindly follow the instructions and steps based on your infrastructure / IT department team.
🔶 Click on Create App Integration.
🔶 Select SAML 2.0
🔶 Write App name
🔶 Upload application logo ( If you wish ).
🔶 On BioStudio dashboard login. Select SSO ➡️ Add New SSO.
🔶 Copy callback URL from New SSO login and update on Okta.
🔶 Scroll down and click on Next
🔶 Follow Step3: I’m an Okta customer adding an internal app.
🔶 Click on Finish.
🔶 SAML config data is ready.
🔶 View SAML setup instructions.
🔶 Get the value from Okta and fill on SSO BioStudio. Click on Submit.
🔶 User assignment to Application.
🔶 Assign User to Application.
🔶 Login to BioStudio.
🔶 Login Succeed.
🔶 Before access WORKSPACE. It is necessary to access dashboard and create machine and well as create volume to be mounted.
🔗 Machine Creation and volume addition
🔶 Access BioStudio services.
🔶 Add an application to PingID
🔶 Select SAML Application method and click on Configure
🔶 Login to BioColab Admin Dashboard
# https://<Domain name>/dashboard
It will prompt for Admin credentials. Please provide Admin credentials to login.
🔶 Select SSO setting from left side menu and click on + Add New SSO. If you are going to
set up SSO at the same time.
🔔 Note: If we are going to provide a Callback URL to another team to configure with IDP. Then we must provide dummy values to the mandatory field and click on submit button to save. Later we can update.
🔶 Copy Callback HTTPS URL that needs to be configured with IDP.
🔶 Select Manually Enter and fill callback URL to ACS URLs and Entity ID would be the last value of that URL.
🔶 Fill the value based on over instruction.
🔶 Click on Save button.
🔶 Select Configuration Tab and get all required values.
1️⃣ Issuer ID = IDP Issuer URL
2️⃣ Initiate Single Sign-On URL = IDP SSO URL
3️⃣ Download singing certificate = IDP x509 Public Cert
🔶 login to Biocolab dashboard admin and fill those values to required fields by updating SSO settings.
🔶 I created two users but on the existing set up you might have a user’s list already on the portal with a specified group to assign applications.
🔶 Now I created one Group and assigned those user’s to that Group
🔶 There are many ways to assign users to the group. Like User → Group → Edit – assign. Assign a group to the application.
🔶 Now all set and time to test SSO login with those users.
🔶 Provide PingID username and password, which we configured with Ping ID.
🔶 User is able to login successfully.
# Login to the dashboard admin
# https://<domain name>/dashboard
# provide admin credential, if already registered.
# If admin not yet registered, Kindly follow the instruction and registered first.
# NOTE: Make sure root password handy that you passed during BioStudio installation.
Dashboard login.
It will prompt for Admin credentials. Please provide Admin credentials to login.
🔶 Select SSO setting from left side menu and click on + Add New SSO. If you are going to
set up SSO at the same time.
🔔 Note: If we are going to provide a callback URL to another team to configure with IDP, Then we must provide dummy values to the mandatory field and click on the submit button to save. Later, we can update.
🔶 Copy Callback HTTPS URL that needs to be configured with IDP.
🔔 I am following to save the existing callback URL. Later, we will configure this.
🔶 Login to Azure Cloud.
🔶 Open Microsoft Entra ID ( Azure Active Directory )
🔶 Click on Enterprise applications.
🔶 Click + New application.
🔶 Click + Create your own application.
🔶 Input your application name. Click on Create
🔶 Application has been added.
🔶 Click on Single sign-on.
🔶 Click on SAML.
🔶 Click on Edit – Basic SAML Configuration
1️⃣ Identifier (Entity ID) : Callback URL
2️⃣ Reply URL (Assertion Consumer Service URL) : Callback URL
🔶 Login to BioStudio dashboard and click on three dot to select Update SSO setting
🔶 Click on Save button.
✏️ Certificate (Base64) = IDP x509 Public Cert
✏️ Login URL = IDP SSO URL
✏️ Microsoft Entra ID Identifier = IDP Issuer URL
🔶 Login to BioStudio dashboard and click on three dot to select Update SSO setting
🔶 Create user and assign application to the user
🔶 Click on Users and groups
🔶 Click on + Add user/group
🔶 Click on Add user and click on Select
🔶 Click on Assign
🔶 User has been Assign to this application.
🔶 Login succeed.
SSL Setup :
Kindly get X.509 Provate and Public key.
I] Upload SSL file using web-ui.
# Just need tu put right value on write box and update.
# Or upload files as required.
# System will auto detect those updates.
II] Login to server and follow below steps.
# Copy tls.crt and tls.key file to /biocolab/configs.
# It was auto detected by our software and update the certificates.
🔶 SSL using WebUI
🔶 SSL direct upload on server location.
helm search repo bioturing
NAME CHART VERSION APP VERSION DESCRIPTION
bioturing/biocolab 2.0.52 2.0.52 BioColab offers curated, ready-to-run notebooks...
bioturing/ecosystem 1.0.34 1.0.34 BioTuring System is a GPU-accelerated single-ce...
Helm chart version : 1.0.70
# Before installing the BioTuring System on Linux/K8S, some pre-installation steps are required:
# System: K8s
# A token obtained from BioTuring for BioStudio.
# BioStudio supporting GPU and CPU type of instance / Machine.
# Kindly select GPU, If you wish to use Prebuilt GPU based notebook or wish to generate GPU based note book.
Patch container engines (Docker, Containerd)
Install NVidia container toolkit on each node following the guide:
🔗 nvidia toolkit install guide
🔶 Check container engines (Docker, Containerd)
# For microk8s :
microk8s kubectl describe no | grep Runtime
# For vanilla :
kubectl describe no | grep Runtime
▶️ If container engine is Containerd, add these lines to : /etc/containerd/config.toml
privileged_without_host_devices = false
base_runtime_spec = ""
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
SystemdCgroup = true
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.nvidia]
privileged_without_host_devices = false
runtime_engine = ""
runtime_root = ""
runtime_type = "io.containerd.runc.v1"
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.nvidia.options]
BinaryName = "/usr/bin/nvidia-container-runtime"
SystemdCgroup = true
[plugins."io.containerd.grpc.v1.cri".cni]
bin_dir = "/opt/cni/bin"
conf_dir = "/etc/cni/net.d"
▶️ After that, restart containerd
sudo systemctl restart containerd
sudo nvidia-container-cli --load-kmods info
If container engine is Docker, add these lines to: /etc/docker/daemon.json
{
"default-runtime": "nvidia",
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
}
}
▶️ After that, restart docker
sudo systemctl restart docker
sudo nvidia-container-cli --load-kmods info
We support all k8s engines: GKE (Google Kubernetes Engine), EKS (Amazon Elastic Kubernetes Service), AKS (Azure Kubernetes Service), MicroK8s, and vanilla K8S …etc.
Ensure that helm (version 3) is installed.
▶️ First, check the Helm version.
# Example :
microk8s enable helm3
microk8s helm3 version
Helm command tips:
# Add repo charts
helm repo add bioturing https://bioturing.github.io/charts/apps/
helm repo update
helm search repo bioturing
# Login BioTuring registry
helm registry login -u admin registry.bioturing.com
# Show information of helm chart name
helm show all bioturing/<helm chart name> --version <helm chart version>
# Action into helm chart name
helm template bioturing bioturing/<helm chart name> --version <helm chart version>
helm install bioturing bioturing/<helm chart name> --version <helm chart version>
helm upgrade bioturing bioturing/<helm chart name> --version <helm chart version>
⭕ Add BioTuring Helm charts
# Example:
For Vanilla K8s:
helm repo add bioturing https://bioturing.github.io/charts/apps/
For Microk8s:
microk8s helm3 repo add bioturing https://bioturing.github.io/charts/apps/
Key | Type | Default | Description |
---|---|---|---|
image.biocolab.repository | string | bioturing/biocolab | biocolab repository |
image.biocolab.tag | int | 2.0.50 | biocolab image tag |
image.bioproxy.repository | string | bioturing/biocolab | bioproxy repository |
image.bioproxy.tag | int | 1.0.26 | bioproxy image tag |
imagePullSecrets | object | {} | secrets |
secret.data.allowips | string | "" | allow ip |
secret.data.cbtoken | string | "" | Colab token |
secret.data.domain | string | "" | domain name |
secret.admin.username | string | admin | admin user name |
secret.admin.password | string | passwdadmin12 | admin password |
secret.postgresql.dbcolab | string | "" | postgres DB name |
secret.postgresql.dbhub | string | "" | postgres hub DB name |
secret.postgresql.username | string | "" | postgres user name |
secret.postgresql.password | string | "" | postgres password |
secret.server.aria2c_list_ips | object | {} | |
secret.server.certificate | string | "" | Server certificate |
secret.server.key | string | "" | Server Key |
secret.server.collaborative_mode | bool | false | |
secret.server.debug_mode | bool | false | |
secret.server.enable_https | bool | false | |
secret.server.memcached_list | string | "" | |
secret.server.mqtt_list_ips | string | "" | |
secret.server.redis_list | string | "" | |
secret.server.redis_password | string | "" | |
secret.server.tracing_mode | bool | false | |
secret.server.trakfik_proxy_mode | bool | false | |
secret.server.use_letsencrypt | bool | false | |
secret.server.use_redis_cache | bool | false | |
service.ports.biocolab.aria2c.port | int | 6800 | |
service.ports.biocolab.http.port | int | 11123 | application port |
service.ports.biocolab.jobqueue.port | int | 11300 | |
service.ports.biocolab.mqtttcp.port | int | 1883 | |
service.ports.biocolab.mqttweb.port | int | 9001 | |
service.ports.biocolab.notebook.port | int | 18000 | |
service.ports.bioproxy.http.port | int | 80 | http port |
service.ports.bioproxy.https.port | int | 443 | https port |
service.ports.bioproxy.memcached.port | int | 11211 | |
service.ports.bioproxy.ntfsp1.port | int | 111 | |
service.ports.bioproxy.ntfsp2.port | int | 2049 | |
service.ports.bioproxy.ntfsp3.port | int | 32767 | |
service.ports.bioproxy.ntfsp4.port | int | 32765 | |
service.ports.bioproxy.postgresql.port | int | 5432 | |
service.ports.bioproxy.redis.port | int | 6379 | redis port |
persistence.dirs.app.size | String | 150Gi | application data |
persistence.dirs.app.storageClass | string | "" | |
persistence.dirs.metadata.size | String | 5Gi | metadata |
persistence.dirs.metadata.storageClass | string | "" | |
persistence.dirs.user.size | String | 500Gi | user data |
persistence.dirs.user.storageClass | string | "" | |
ingress.annotations | object | {} | |
ingress.className | string | "" | |
ingress.classNginxName | string | nginx | |
ingress.enabled | bool | true | |
ingress.tls | bool | true | |
ingress.tls.enabled | bool | true | |
ingress.useNginx | bool | false | |
nodeSelector | object | {} | |
podAnnotations | object | {} | |
podSecurityContext | object | {} | |
replicaCount | int | 1 | |
resources | object | {} | |
service.type | string | ClusterIP | |
serviceAccount.annotations | object | {} | |
serviceAccount.name | string | "" | |
tolerations | object | {} | |
host_ip | int | 0.0.0.0 | |
affinity | object | {} | |
autoscaling | object | {} | |
autoscaling.enabled | bool | false | |
autoscaling.maxReplicas | int | 100 | |
autoscaling.minReplicas | int | 2 | |
autoscaling.targetCPUUtilizationPercentage | int | 80 | |
gpu.runtimeClassName | string | "" |
🔶 Select helm chart version.
⭕Kindly select latest version of Helm Chart. Support team will get in touch with you and share latest version tag.
# Click on install.
🔶 Select namespace and type name of Statefulset.
🔶 Click on Next
🔶 Verify Tag and repository
🔶 Update values:
# Change volume size according to your data.
# Update domain name and Colab token.
# Update credentials based on your choice.
# Click on install.
🔶 BioStudio will start installation based on helm chart.
🔶 Verify statefulset.
🔶 Verify ingress.
🔶 Browse your domain.
🔸 Before access WORKSPACE. It is necessary to access dashboard and create machine and well as create volume to be mounted.
# Note: Kindly follow to create Machine and volume creation process in order to utilize our product.
# It is a necessary step.
# For any support and enquiry. Drop a mail to us support@bioturing.com
BioStudio Deployments on Kubernetes
¶Introduction
¶
BioStudio on K8s
BioStudio software is compatible and easy to install on all kind of Operating System as well as on Docker, Kubernetes, Standalone machine, Cloud, On-premises, VM and all type of infrastructure platform. We are happy to inform that we are a leading brands company to provide all of our Softwares as a Service (SaaS). It is directly ready to use for end users.
🔔 Please contact 📧 [support@bioturing.com] in case you need any support or have any inquiry for us.
We are supporting all kind of service provider including on-premise.
BioStudio on K8s. Install Software on Kubernetes Clusters with the Helm.
🛂 Login to AWS console.
⭕ Serach for EKS in serach bar.
⭕ select create on Add Cluster.
⭕ Configure Cluster.
⭕ Create Cluster Service role.
role --> Create role
⭕ Select AWS service and EKS on use case.
⭕ Select EKS -Cluster.
⭕ Add permission.
AmzonEKSClusterPolicy
➡️ click on next.
⭕ Fill Role detail.
➡️ Create role.
⭕ Role created .
⭕ Select appropriate role that we created earlier..
⭕ provide appropriate tag.
➡️ click on next.
⭕ Specify networking. VPC and Networking.
🔗 Amazon EKS VPC and subnet requirements and considerations
⭕ Select Security Group.
➡️ click on next.
⭕ Select Configuring logging.
⭕ Select Add-ons.
➡️ click on next.
➡️ Select Version of Add-ons and click on next.
⭕ Click on Create.
😊 You are done to create cluster. Wait for a while to setup this.
🎁 Kubernetes Cluster is Active now.
🔗 AWS CLI
Kindly select the OS version installation according to your Operating System.
⭕ Test AWS cli
⭕ Installing Kubectl command utility.
There are many ways to install Kubectl command utility too. Here we are using window machine, So just to prefer Choco.
⭕ Adding worker node to Kubernete cluster.
EKS --> Compute --> Add node group.
In order to add node to the cluster. We need to add node group. Each node group can content different kind of node ( compute resources ). We can add many node group based on requirements.
⭕ Configure node group.
In node group configuration, We need to provide node name as well as must create Node IAM role. to handle worker node. Once click on IAM console. A new window will open to create new IAM role.
⭕ Click on Create role.
⭕ Select AWS service.
Use cases for other AWS services. EC2
Add three tick mark policy that role.
⭕ Click on Create role.
Once role is ready. Now time to assign this role to node group.
You have two option to create Ec2 instance.
1. Launch from EKS node configuration wizard.
2. Using Template
1️⃣ Launch from EKS node configuration wizard.
⭕ Click on Next.
⭕ Click on Next.
⭕ Click on Next.
⭕ Click on Create.
🔄 Wait for a while to add node to the Cluster.
2️⃣ Add node group using template wizard.
⭕ Click on Create Launch template.
▶️ Follow the instruction based on Template creation steps.
⭕ Once followed to provide all the value. Click on create launch template.
⭕ Once template ready. Add to the node group.
⭕ In order to use PVC creation. We must have driver installed with cluster.
⭕ Click on Add-ons tab.
⭕ Click on Get more Add-ons.
⭕ Select Amazon EBS CSI Driver.
⭕ Click on next.
⭕ Click on Create.
✴️ We need to create IAM OIDC provider for your cluster.
🔗 OIDC
⭕ Copy the OpenID Connect provider URL.
➡️ Search IAM and click on role
➡️ Select Identity provider on Access management.
➡️ Click on Add provider.
➡️ Click on OpenID Connect.
➡️ Paste Provider URL tht we copied earlier from Cluster.
➡️ Click on Get thumbprint.
➡️ Audience, enter sts.amazonaws.com and choose Add provider.
⭕ Create Amazon EBS CSI driver IAM role.
IAM --> Roles --> Create role
➡️ Edit trust relationship policy.
➡️ Click on Edit trust policy. Add the following line after comma
🔔 Change the value based on your OpenID
"oidc.eks.ca-central-1.amazonaws.com/id/7B6A410BCEF7466327A6CE441E164591:sub": "system:serviceaccount:kube-system:ebs-csi-controller-sa"
➡️ Click on Update policy.
🔔 Make sure user should have permissions “AmazonEC2FullAccess”.
⭕ Update EBS CSI Driver fro IAM Role.
➡️ Test.
aws eks --region ca-central-1 describe-cluster --name BioColab-EKS --query cluster.status --profile lalitshaktawat
aws eks update-kubeconfig --region ca-central-1 --name BioColab-EKS --profile lalitshaktawat
eksctl utils associate-iam-oidc-provider --region=ca-central-1 --cluster=BioColab-EKS --approve --region ca-central-1 --profile lalitshaktawat
kubectl config current-context
➡️ Troubleshoot.
We might face an issue related to PVC. Pod will not start and it will be on pending status. We just need to recreate ebs-csi-controller to resolve this issue.
kubectl delete pods -n kube-system -l=app=ebs-csi-controller
========
pvc.yaml
========
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: ebs-claim1
spec:
accessModes:
- ReadWriteOnce
storageClassName: gp2
resources:
requests:
storage: 1Gi
========
pod.yaml
========
apiVersion: v1
kind: Pod
metadata:
name: app
spec:
containers:
- name: app
image: centos
command: ["/bin/sh"]
args: ["-c", "while true; do echo $(date -u) >> /data/out.txt; sleep 5; done"]
volumeMounts:
- name: persistent-storage
mountPath: /data
volumes:
- name: persistent-storage
persistentVolumeClaim:
claimName: ebs-claim1
Create resources for testing. It is just a test. You can skip this step.
========================================================================
kubectl apply -f .\pvc.yaml
kubectl apply -f .\pod.yaml
kubectl get pods
kubectl get pvc
Delete resources.
=================
kubectl delete po/<pod name> -n <namespace name>
⭕ Installing Helm.
➡️ Please follow link below to install Helm.
helm repo add bioturing https://bioturing.github.io/charts/apps/
helm repo update
helm search repo bioturing
🔔 I downloaded latest version of BioStudio and adjusted values accordingly.
⭕ Kindly setup Load balancer (ALB) with your DNS.
⭕ Please contact 📧 [support@bioturing.com] for any inquiry.
Machine name on K8S
¶# We must use local DNS service name to add machine.
<Service Name>.<Namespace>.svc.cluster.local
# bioc-test-release-biocolab-colab.bioc-test.svc.cluster.local
# biocolab-preprod-biocolab-colab.bioturing-preprod.svc.cluster.local
🔔 Note: Ensure that the BioProxy container doesn’t have HTTP_PROXY, HTTPS_PROXY, and NO_PROXY settings configured
1] Process running with host.
ps -ef
netstat -nltup
2] Process running with Bioproxy container
ps -ef
netstat -nltup
3] Process running with BioColab container
ps -ef
netstat -nltup
4] Check application up and running and connectivity.
curl command testing
curl <localhost>
curl <localhost>:<http port>
curl <localhost>:<application port>
curl <localhost>:<nginx port>
5] check whiltelist of domain with Host and both containers.
# curl https://colab.biotruing.com
Should show contents
# curl https://cdn.biotruing.com
# wget https://cdn.bioturing.com/documentation/adm.png
# curl https://cdn-eu-west-1.s3.eu-west-1.amazonaws.com
# wget https://cdn-eu-west-1.s3.eu-west-1.amazonaws.com/colab/apps/0w-byh0iNCWigGEjbZybU.92ae1dec-6bf9-4041-9d06-330e0fe7b564.zip
# curl https://s3.us-west-2.amazonaws.com/cdn.bioturing.com
# wget https://s3.us-west-2.amazonaws.com/cdn.bioturing.com/documentation/adm.png
# curl https://studio.bioturing.com
Should show contents
6] Check application varification processes
with Host machine
# ps -ef | grep 'docker'
# ps -ef | grep 'miniconda'
# ps -ef | grep nginx
# ps -ef | grep postgres
7] Check dashboard setting
8] Check websocket
9] Check to download notebook and running
10] Guide for SSO login
Before start installation below is the status:
root@ip-172-31-39-182:/biocolab/installation-2.1.11# netstat -nltup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 2892/systemd-resolv
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2820/sshd: /usr/sbi
tcp6 0 0 :::22 :::* LISTEN 2820/sshd: /usr/sbi
udp 0 0 127.0.0.53:53 0.0.0.0:* 2892/systemd-resolv
udp 0 0 172.31.39.182:68 0.0.0.0:* 2882/systemd-networ
udp 0 0 127.0.0.1:323 0.0.0.0:* 2808/chronyd
udp6 0 0 ::1:323 :::* 2808/chronyd
root@ip-172-31-39-182:/biocolab/installation-2.1.11# env
SHELL=/bin/bash
PWD=/biocolab/installation-2.1.11
LOGNAME=root
HOME=/root
LANG=C.UTF-8
XDG_DATA_DIRS=/usr/local/share:/usr/share:/var/lib/snapd/desktop
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
MAIL=/var/mail/root
_=/usr/bin/env
OLDPWD=/biocolab
After installation
⭕ HTTP port : 80 and HTTPS port : 443
Application port : 11123
Below are the port should be in as status.
1️⃣ Check netstat -nltup
with Host and inside the container.
netstat -nltup # from host
root@ip-172-31-39-182:/biocolab/installation-2.1.11# netstat -nltup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 2892/systemd-resolv
tcp 0 0 0.0.0.0:1883 0.0.0.0:* LISTEN 10842/docker-proxy
tcp 0 0 0.0.0.0:18000 0.0.0.0:* LISTEN 10736/docker-proxy
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 10059/docker-proxy
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 10081/docker-proxy
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2820/sshd: /usr/sbi
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 10009/docker-proxy
tcp 0 0 0.0.0.0:6800 0.0.0.0:* LISTEN 10821/docker-proxy
tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN 9982/docker-proxy
tcp 0 0 0.0.0.0:9091 0.0.0.0:* LISTEN 9958/docker-proxy
tcp 0 0 0.0.0.0:9001 0.0.0.0:* LISTEN 10802/docker-proxy
tcp 0 0 0.0.0.0:11300 0.0.0.0:* LISTEN 10757/docker-proxy
tcp 0 0 0.0.0.0:11211 0.0.0.0:* LISTEN 9937/docker-proxy
tcp 0 0 0.0.0.0:11123 0.0.0.0:* LISTEN 10778/docker-proxy
tcp 0 0 0.0.0.0:32767 0.0.0.0:* LISTEN 9893/docker-proxy
tcp 0 0 0.0.0.0:32765 0.0.0.0:* LISTEN 9915/docker-proxy
tcp6 0 0 :::1883 :::* LISTEN 10849/docker-proxy
tcp6 0 0 :::18000 :::* LISTEN 10744/docker-proxy
tcp6 0 0 :::443 :::* LISTEN 10066/docker-proxy
tcp6 0 0 :::80 :::* LISTEN 10088/docker-proxy
tcp6 0 0 :::22 :::* LISTEN 2820/sshd: /usr/sbi
tcp6 0 0 :::5432 :::* LISTEN 10030/docker-proxy
tcp6 0 0 :::6800 :::* LISTEN 10829/docker-proxy
tcp6 0 0 :::6379 :::* LISTEN 9988/docker-proxy
tcp6 0 0 :::9091 :::* LISTEN 9965/docker-proxy
tcp6 0 0 :::9001 :::* LISTEN 10809/docker-proxy
tcp6 0 0 :::11300 :::* LISTEN 10764/docker-proxy
tcp6 0 0 :::11211 :::* LISTEN 9943/docker-proxy
tcp6 0 0 :::11123 :::* LISTEN 10786/docker-proxy
tcp6 0 0 :::32767 :::* LISTEN 9900/docker-proxy
tcp6 0 0 :::32765 :::* LISTEN 9921/docker-proxy
udp 0 0 127.0.0.53:53 0.0.0.0:* 2892/systemd-resolv
udp 0 0 172.31.39.182:68 0.0.0.0:* 2882/systemd-networ
udp 0 0 127.0.0.1:323 0.0.0.0:* 2808/chronyd
udp6 0 0 ::1:323 :::* 2808/chronyd
netstat -nltup # inside the container
root@ip-172-31-39-182:/biocolab/installation-2.1.11# docker exec -it bioproxy /bin/bash
root@6c1fca69acf1:/home# netstat -nltup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:11211 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:8886 0.0.0.0:* LISTEN 183/node
tcp 0 0 127.0.0.1:9005 0.0.0.0:* LISTEN 167/python3
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:8077 0.0.0.0:* LISTEN 182/nginx: master p
tcp 0 0 127.0.0.1:5555 0.0.0.0:* LISTEN 298/dataplaneapi
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN -
tcp6 0 0 :::11211 :::* LISTEN -
tcp6 0 0 :::5432 :::* LISTEN -
tcp6 0 0 :::8077 :::* LISTEN 182/nginx: master p
udp 0 0 0.0.0.0:58951 0.0.0.0:* -
udp 0 0 0.0.0.0:36226 0.0.0.0:* -
root@6c1fca69acf1:/home#
-------
root@ip-172-31-39-182:/biocolab/installation-2.1.11# docker exec -it bioproxy /bin/bash
root@6c1fca69acf1:/home# netstat -nltup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:11211 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:8886 0.0.0.0:* LISTEN 183/node
tcp 0 0 127.0.0.1:9005 0.0.0.0:* LISTEN 167/python3
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:8077 0.0.0.0:* LISTEN 182/nginx: master p
tcp 0 0 127.0.0.1:5555 0.0.0.0:* LISTEN 298/dataplaneapi
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN -
tcp6 0 0 :::11211 :::* LISTEN -
tcp6 0 0 :::5432 :::* LISTEN -
tcp6 0 0 :::8077 :::* LISTEN 182/nginx: master p
udp 0 0 0.0.0.0:58951 0.0.0.0:* -
udp 0 0 0.0.0.0:36226 0.0.0.0:* -
root@6c1fca69acf1:/home#
-------
root@ip-172-31-39-182:/biocolab/installation-2.1.11# docker exec -it biocolab /bin/bash
root@5fc5db8bc5cf:/home# netstat -nltup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:9001 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:18001 0.0.0.0:* LISTEN 513/node
tcp 0 0 0.0.0.0:11123 0.0.0.0:* LISTEN 148/t2d_dsc_tool
tcp 0 0 0.0.0.0:11300 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:18081 0.0.0.0:* LISTEN 360/python3.10
tcp 0 0 0.0.0.0:18000 0.0.0.0:* LISTEN 513/node
tcp 0 0 0.0.0.0:1883 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:2223 0.0.0.0:* LISTEN 149/sshd: /usr/sbin
tcp 0 0 127.0.0.1:11113 0.0.0.0:* LISTEN 147/t2d_blc_tool
tcp 0 0 0.0.0.0:6800 0.0.0.0:* LISTEN 144/aria2c
tcp6 0 0 :::9001 :::* LISTEN -
tcp6 0 0 :::1883 :::* LISTEN -
tcp6 0 0 :::2222 :::* LISTEN 148/t2d_dsc_tool
tcp6 0 0 :::2223 :::* LISTEN 149/sshd: /usr/sbin
root@5fc5db8bc5cf:/home#
Bioproxy : environmental variable
# docker exec -it bioproxy /bin/bash
root@507cd2637a97:/home# env
NFS_T2_PORT=2049
SHELL=/bin/bash
POSTGRESQL_CLIENT_MIN_MESSAGES=error
DEBUG_MODE=false
HTTPS_SERVER_PORT=443
POSTGRESQL_USERNAME=XXXXXXXXXXXXXX
REDIS_PASSWORD=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
root@507cd2637a97:/home#
root@507cd2637a97:/home# cat /etc/environment
root@507cd2637a97:/home#
root@507cd2637a97:/home# exit
BioColab : environmental variable
# docker exec -it biocolab /bin/bash
# env
root@c355340b52ce:/home# cat /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
no_proxy="kubernetes,.svc,.default,localhost,0.0.0.0,.cluster.local,100.10.0.0/16,fe80::/10,.local,100.10.0.3,fc00::/7,::1/128,182.168.10.0/24,10.0.0.0/8,10.82.0.90,127.0.0.1"
Process running with Bioproxy container
root@ip-172-31-39-123:/biocolab/installation-2.1.11/biocolab# docker exec -it bioproxy /bin/bash
root@507cd2637a97:/home# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 03:50 pts/0 00:00:00 /bin/bash /super.sh
root 204 1 0 03:50 pts/0 00:00:02 /usr/bin/python3 /usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf
root 205 204 0 03:50 pts/0 00:00:00 /usr/sbin/cron -f
memcach+ 206 204 0 03:50 pts/0 00:00:00 /usr/bin/memcached -p 11211 -u memcached -m 128 -c 1024000 -P /memcached/program.pid
postgres 207 204 0 03:50 pts/0 00:00:00 /opt/bitnami/postgresql/bin/postgres -D /bitnami/postgresql/data --config-file=/opt/bitnami/postgresql/conf/po
redis 208 204 0 03:50 pts/0 00:00:11 /usr/bin/redis-server 0.0.0.0:6379
root 219 204 0 03:50 pts/0 00:00:00 nginx: master process /usr/sbin/nginx -g daemon off;
root 220 204 0 03:50 pts/0 00:00:00 /usr/bin/node /server.js
www-data 221 204 0 03:50 pts/0 00:00:04 /usr/local/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /var/run/haproxy.pid
www-data 253 219 0 03:50 pts/0 00:00:00 nginx: worker process
www-data 254 219 0 03:50 pts/0 00:00:00 nginx: worker process
www-data 255 219 0 03:50 pts/0 00:00:00 nginx: worker process
www-data 257 219 0 03:50 pts/0 00:00:00 nginx: worker process
postgres 308 207 0 03:50 ? 00:00:00 postgres: checkpointer
postgres 309 207 0 03:50 ? 00:00:00 postgres: background writer
postgres 311 207 0 03:50 ? 00:00:00 postgres: walwriter
postgres 312 207 0 03:50 ? 00:00:00 postgres: autovacuum launcher
postgres 313 207 0 03:50 ? 00:00:00 postgres: logical replication launcher
root 336 204 0 03:50 pts/0 00:00:02 /usr/local/bin/dataplaneapi --port 5555 -b /usr/local/sbin/haproxy -c /etc/haproxy/haproxy.cfg -d 5 -r /usr/bi
postgres 705 207 0 03:58 ? 00:00:00 postgres: postgres postgres 172.17.0.1(37132) idle
postgres 706 207 0 03:58 ? 00:00:00 postgres: postgres biocolab 172.17.0.1(37140) idle
postgres 707 207 0 03:58 ? 00:00:00 postgres: postgres biocolab 172.17.0.1(37156) idle
postgres 1036 207 0 04:08 ? 00:00:00 postgres: postgres biocohub 172.17.0.1(57498) idle
root 4206 0 1 05:33 pts/1 00:00:00 /bin/bash
root 4212 4206 0 05:33 pts/1 00:00:00 ps -ef
root@507cd2637a97:/home#
Process running with BioColab container
root@ip-172-31-39-123:/biocolab/installation-2.1.11/biocolab# docker exec -it biocolab /bin/bash
root@b1a226ccc20a:/home# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 03:56 pts/0 00:00:00 /bin/bash /super.sh
root 110 1 0 03:56 pts/0 00:00:09 /usr/bin/python3 /usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf
mosquit+ 112 110 0 03:56 pts/0 00:00:02 /usr/local/sbin/mosquitto -c /mosquitto/config/mosquitto.conf
beansta+ 113 110 0 03:56 pts/0 00:00:00 /usr/local/bin/beanstalkd -b /appdata/beanstalkd -f 1000 -u beanstalkd
root 115 110 0 03:56 pts/0 00:00:00 /usr/bin/Xvfb :0.0 -screen 0 800x600x16 -dpi 75 -nolisten tcp -audit 4 -ac -auth /root/.Xauthority
root 125 110 0 03:56 pts/0 00:00:00 /usr/bin/aria2c --enable-rpc --rpc-listen-all --rpc-allow-origin-all --rpc-secret=************ --rpc-listen-po
root 128 110 0 03:56 pts/0 00:00:00 sshd: /usr/sbin/sshd -p 2223 -D [listener] 0 of 10-100 startups
root 129 110 0 03:56 pts/0 00:00:00 /usr/sbin/cron -f
root 462 110 1 03:58 pts/0 00:01:43 /appdata/apps/t2d_dsc_tool
root 484 110 0 03:58 pts/0 00:00:10 /appdata/apps/t2d_blc_tool
root 1846 110 0 04:06 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 1858 110 0 04:06 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 1867 110 0 04:06 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 1880 110 0 04:06 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 1881 110 0 04:06 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 1882 110 0 04:06 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 1883 110 0 04:06 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 1884 110 0 04:06 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 1885 110 0 04:06 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 1886 110 0 04:06 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 1887 110 0 04:06 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 1888 110 0 04:06 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 1889 110 0 04:06 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 1890 110 0 04:06 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 1891 110 0 04:06 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 1957 110 0 04:08 pts/0 00:00:00 /bin/bash /start.sh
root 1958 1957 0 04:08 pts/0 00:00:04 /miniconda/user/bin/python3.10 /miniconda/user/bin/jupyterhub --config /configs/hub/etc/config.py --ip 0.0.0.0
root 1965 1958 0 04:08 ? 00:00:01 node /miniconda/user/bin/configurable-http-proxy --ip 0.0.0.0 --port 18000 --api-ip 127.0.0.1 --api-port 18001
root 1975 1958 0 04:08 ? 00:00:00 /miniconda/user/bin/python3.10 -m jupyterhub_idle_culler --timeout=36000
root 2021 110 0 04:08 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 2022 110 0 04:08 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 2023 110 0 04:08 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 2024 110 0 04:08 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 2025 110 0 04:08 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 2026 110 0 04:08 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 2027 110 0 04:08 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 2028 110 0 04:08 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 2029 110 0 04:08 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 2030 110 0 04:08 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 2031 110 0 04:08 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 2032 110 0 04:08 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 2033 110 0 04:08 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 2034 110 0 04:08 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 2035 110 0 04:08 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 2036 110 0 04:08 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 2037 110 0 04:08 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 2038 110 0 04:08 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 2039 110 0 04:08 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 2040 110 0 04:08 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 2094 110 0 04:08 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-pack-notebook-worker
root 2095 110 0 04:08 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-pack-notebook-worker
root 2107 110 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 2108 110 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 2109 110 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 2110 110 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 2111 110 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 2112 110 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 2113 110 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 2114 110 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 2115 110 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 2116 110 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 2117 110 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 2118 110 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 2119 110 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 2120 110 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 2121 110 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 2122 110 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 2123 110 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 2124 110 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 2125 110 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 2126 110 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 2127 110 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 2128 110 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 2129 110 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 2130 110 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 2131 110 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 5607 0 1 05:34 pts/1 00:00:00 /bin/bash
root 5619 5607 0 05:34 pts/1 00:00:00 ps -ef
root@b1a226ccc20a:/home#
curl <localhost>
curl <localhost>:<http port>
curl <localhost>:<application port>
curl <localhost>:<nginx port>
🔔 NOTE : BioStudio is running on http (80) and https (443)
Curl with host
root@ip-172-31-39-182:/biocolab/installation-2.1.11# curl localhost
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="og:type" content="article" />
<meta property="og:url" content="https://studio.bioturing.com/" />
<meta property="og:description" content="BioStudio is the complete
-------
-------
root@ip-172-31-39-182:/biocolab/installation-2.1.11# curl localhost:80
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="og:type" content="article" />
<meta property="og:url" content="https://studio.bioturing.com/" />
<meta property="og:description" content="BioStudio is the complete
-------
-------
root@ip-172-31-39-182:/biocolab/installation-2.1.11# curl localhost:11123
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="og:type" content="article" />
<meta property="og:url" content="https://studio.bioturing.com/" />
<meta property="og:description" content="BioStudio is the complete
Curl inside the container
# BioProxy container
root@ip-172-31-39-182:/biocolab/installation-2.1.11# docker exec -it bioproxy /bin/bash
root@6c1fca69acf1:/home# curl localhost
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="og:type" content="article" />
<meta property="og:url" content="https://studio.bioturing.com/" />
<meta property="og:description" content="BioStudio is the complete analytics platform that empowers scientists to expand their research
horizons without technical complexities." />
-------
-------
# BioColab Container
NOTE: Here we can only curl with application port.
root@5fc5db8bc5cf:/home# curl localhost:11123
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
37 168k 37 65219 <!DOCTYPE html> 0 --:--:-- --:--:-- --:--:-- 0
0 <html lang="en">
<head>
0 159k <meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
nslookup <Domain name>
root@ip-172-31-39-182:/biocolab/installation-2.1.11# nslookup <Client BioStudio Domain>
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: <Client BioStudio Domain>
Address: 54.203.5.109
root@ip-172-31-39-182:/biocolab/installation-2.1.11#
Check with host
# curl https://colab.biotruing.com
-- Should show contents
# curl https://cdn.biotruing.com
# wget https://cdn.bioturing.com/documentation/adm.png
# curl https://cdn-eu-west-1.s3.eu-west-1.amazonaws.com
# wget https://cdn-eu-west-1.s3.eu-west-1.amazonaws.com/colab/apps/0w-byh0iNCWigGEjbZybU.92ae1dec-6bf9-4041-9d06-330e0fe7b564.zip
# curl https://s3.us-west-2.amazonaws.com/cdn.bioturing.com
# wget https://s3.us-west-2.amazonaws.com/cdn.bioturing.com/documentation/adm.png
# curl https://studio.bioturing.com
-- Should show contents
Check inside the both containers
# Both container should show the same output and all would have the result.
# curl https://colab.biotruing.com
-- Should show contents
# curl https://cdn.biotruing.com
# wget https://cdn.bioturing.com/documentation/adm.png
# curl https://cdn-eu-west-1.s3.eu-west-1.amazonaws.com
# wget https://cdn-eu-west-1.s3.eu-west-1.amazonaws.com/colab/apps/0w-byh0iNCWigGEjbZybU.92ae1dec-6bf9-4041-9d06-330e0fe7b564.zip
# curl https://s3.us-west-2.amazonaws.com/cdn.bioturing.com
# wget https://s3.us-west-2.amazonaws.com/cdn.bioturing.com/documentation/adm.png
# curl https://studio.bioturing.com
-- Should show contents
with Host machine
# ps -ef | grep 'docker'
# ps -ef | grep 'miniconda'
# ps -ef | grep nginx
# ps -ef | grep postgres
root@ip-172-31-39-182:/biocolab/installation-2.1.11/test# ps -ef | grep 'docker'
root 4243 1 1 03:24 ? 00:02:54 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
root 9893 4243 0 04:04 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 32767 -container-ip 172.17.0.2 -container-port 32767
root 9900 4243 0 04:04 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 32767 -container-ip 172.17.0.2 -container-port 32767
root 9915 4243 0 04:04 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 32765 -container-ip 172.17.0.2 -container-port 32765
root 9921 4243 0 04:04 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 32765 -container-ip 172.17.0.2 -container-port 32765
root 9937 4243 0 04:04 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 11211 -container-ip 172.17.0.2 -container-port 11211
root 9943 4243 0 04:04 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 11211 -container-ip 172.17.0.2 -container-port 11211
root 9958 4243 0 04:04 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 9091 -container-ip 172.17.0.2 -container-port 9091
root 9965 4243 0 04:04 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 9091 -container-ip 172.17.0.2 -container-port 9091
root 9982 4243 0 04:04 ? 00:00:06 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 6379 -container-ip 172.17.0.2 -container-port 6379
root 9988 4243 0 04:04 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 6379 -container-ip 172.17.0.2 -container-port 6379
root 10009 4243 0 04:04 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 5432 -container-ip 172.17.0.2 -container-port 5432
root 10030 4243 0 04:04 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 5432 -container-ip 172.17.0.2 -container-port 5432
root 10059 4243 0 04:04 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 443 -container-ip 172.17.0.2 -container-port 443
root 10066 4243 0 04:04 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 443 -container-ip 172.17.0.2 -container-port 443
root 10081 4243 0 04:04 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 80 -container-ip 172.17.0.2 -container-port 80
root 10088 4243 0 04:04 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 80 -container-ip 172.17.0.2 -container-port 80
root 10736 4243 0 04:08 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 18000 -container-ip 172.17.0.3 -container-port 18000
root 10744 4243 0 04:08 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 18000 -container-ip 172.17.0.3 -container-port 18000
root 10757 4243 0 04:08 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 11300 -container-ip 172.17.0.3 -container-port 11300
root 10764 4243 0 04:08 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 11300 -container-ip 172.17.0.3 -container-port 11300
root 10778 4243 0 04:08 ? 00:00:05 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 11123 -container-ip 172.17.0.3 -container-port 11123
root 10786 4243 0 04:08 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 11123 -container-ip 172.17.0.3 -container-port 11123
root 10802 4243 0 04:08 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 9001 -container-ip 172.17.0.3 -container-port 9001
root 10809 4243 0 04:08 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 9001 -container-ip 172.17.0.3 -container-port 9001
root 10821 4243 0 04:08 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 6800 -container-ip 172.17.0.3 -container-port 6800
root 10829 4243 0 04:08 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 6800 -container-ip 172.17.0.3 -container-port 6800
root 10842 4243 0 04:08 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 1883 -container-ip 172.17.0.3 -container-port 1883
root 10849 4243 0 04:08 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 1883 -container-ip 172.17.0.3 -container-port 1883
root 46489 1507 0 07:54 pts/1 00:00:00 grep --color=auto docker
root@ip-172-31-39-182:/biocolab/installation-2.1.11/test#
-------
-------
root@ip-172-31-39-182:/biocolab/installation-2.1.11/test# ps -ef | grep 'miniconda'
root 11186 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 11187 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 11188 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 11189 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 11190 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 11191 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 11192 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 11193 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 11194 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 11195 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 11196 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 11197 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 11199 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 11200 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 11201 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 11202 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 11203 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 11204 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 11205 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 11206 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 11218 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-pack-notebook-worker
root 11219 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-pack-notebook-worker
root 11220 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 11221 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 11222 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 11223 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 11224 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 11225 11035 0 04:08 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 11226 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 11229 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 11230 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 11231 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 11232 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 11234 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 11235 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 11236 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 11237 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 11238 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 11239 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 11240 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 11241 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 11242 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 11243 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 11244 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 11245 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 11246 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 11247 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 11248 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 11249 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 11250 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 11251 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 11252 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 11253 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 11254 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 11255 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 11256 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 11257 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 11258 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 11259 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 11260 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 11261 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 11262 11035 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 11264 11263 0 04:08 pts/0 00:00:10 /miniconda/user/bin/python3.10 /miniconda/user/bin/jupyterhub --config /configs/hub/etc/config.py --ip 0.0.0.0 --port 18000 --no-ssl
root 11422 11264 0 04:08 ? 00:00:02 node /miniconda/user/bin/configurable-http-proxy --ip 0.0.0.0 --port 18000 --api-ip 127.0.0.1 --api-port 18001 --error-target http://5fc5db8bc5cf:18081/hub/error --log-level info
root 11436 11264 0 04:08 ? 00:00:00 /miniconda/user/bin/python3.10 -m jupyterhub_idle_culler --timeout=36000
root 46573 1507 0 07:54 pts/1 00:00:00 grep --color=auto miniconda
root@ip-172-31-39-182:/biocolab/installation-2.1.11/test#
-------
-------
root@ip-172-31-39-182:/biocolab/installation-2.1.11/test# ps -ef | grep nginx
root 10327 10312 0 04:04 pts/0 00:00:00 nginx: master process /usr/sbin/nginx -g daemon off;
www-data 10374 10327 0 04:04 pts/0 00:00:00 nginx: worker process
www-data 10375 10327 0 04:04 pts/0 00:00:00 nginx: worker process
www-data 10376 10327 0 04:04 pts/0 00:00:00 nginx: worker process
www-data 10377 10327 0 04:04 pts/0 00:00:00 nginx: worker process
root 46627 1507 0 07:54 pts/1 00:00:00 grep --color=auto nginx
root@ip-172-31-39-182:/biocolab/installation-2.1.11/test#
-------
-------
root@ip-172-31-39-182:/biocolab/installation-2.1.11/test# ps -ef | grep postgres
ubuntu 10315 10312 0 04:04 pts/0 00:00:00 /opt/bitnami/postgresql/bin/postgres -D /bitnami/postgresql/data --config-file=/opt/bitnami/postgresql/conf/postgresql.conf --external_pid_file=/opt/bitnami/postgresql/tmp/postgresql.pid --hba_file=/opt/bitnami/postgresql/conf/pg_hba.conf
ubuntu 10384 10315 0 04:04 ? 00:00:00 postgres: checkpointer
ubuntu 10385 10315 0 04:04 ? 00:00:00 postgres: background writer
ubuntu 10388 10315 0 04:04 ? 00:00:00 postgres: walwriter
ubuntu 10389 10315 0 04:04 ? 00:00:00 postgres: autovacuum launcher
ubuntu 10390 10315 0 04:04 ? 00:00:00 postgres: logical replication launcher
ubuntu 11335 10315 0 04:08 ? 00:00:00 postgres: postgres postgres 172.17.0.1(38918) idle
ubuntu 11336 10315 0 04:08 ? 00:00:00 postgres: postgres biocolab 172.17.0.1(38924) idle
ubuntu 11421 10315 0 04:08 ? 00:00:00 postgres: postgres biocohub 172.17.0.1(38936) idle
ubuntu 11516 10315 0 04:09 ? 00:00:00 postgres: postgres biocolab 172.17.0.1(55506) idle
root 46638 1507 0 07:55 pts/1 00:00:00 grep --color=auto postgres
root@ip-172-31-39-182:/biocolab/installation-2.1.11/test#
Check process with BioProxy container
root@ip-172-31-39-182:/biocolab/installation-2.1.11/test# docker exec -it bioproxy /bin/bash
root@6c1fca69acf1:/home# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 04:04 pts/0 00:00:00 /bin/bash /super.sh
root 167 1 0 04:04 pts/0 00:00:06 /usr/bin/python3 /usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf
root 168 167 0 04:04 pts/0 00:00:00 /usr/sbin/cron -f
memcach+ 169 167 0 04:04 pts/0 00:00:02 /usr/bin/memcached -p 11211 -u memcached -m 128 -c 1024000 -P /memcached/program.pid
postgres 170 167 0 04:04 pts/0 00:00:00 /opt/bitnami/postgresql/bin/postgres -D /bitnami/postgresql/data --config-file=/opt/bit
redis 171 167 0 04:04 pts/0 00:00:25 /usr/bin/redis-server 0.0.0.0:6379
root 182 167 0 04:04 pts/0 00:00:00 nginx: master process /usr/sbin/nginx -g daemon off;
root 183 167 0 04:04 pts/0 00:00:00 /usr/bin/node /server.js
www-data 184 167 0 04:04 pts/0 00:00:10 /usr/local/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /var/run/haproxy.pid
www-data 229 182 0 04:04 pts/0 00:00:00 nginx: worker process
www-data 230 182 0 04:04 pts/0 00:00:00 nginx: worker process
www-data 231 182 0 04:04 pts/0 00:00:00 nginx: worker process
www-data 232 182 0 04:04 pts/0 00:00:00 nginx: worker process
postgres 239 170 0 04:04 ? 00:00:00 postgres: checkpointer
postgres 240 170 0 04:04 ? 00:00:00 postgres: background writer
postgres 243 170 0 04:04 ? 00:00:00 postgres: walwriter
postgres 244 170 0 04:04 ? 00:00:00 postgres: autovacuum launcher
postgres 245 170 0 04:04 ? 00:00:00 postgres: logical replication launcher
root 298 167 0 04:04 pts/0 00:00:05 /usr/local/bin/dataplaneapi --port 5555 -b /usr/local/sbin/haproxy -c /etc/haproxy/hapr
postgres 467 170 0 04:08 ? 00:00:00 postgres: postgres postgres 172.17.0.1(38918) idle
postgres 468 170 0 04:08 ? 00:00:00 postgres: postgres biocolab 172.17.0.1(38924) idle
postgres 469 170 0 04:08 ? 00:00:00 postgres: postgres biocohub 172.17.0.1(38936) idle
postgres 473 170 0 04:09 ? 00:00:00 postgres: postgres biocolab 172.17.0.1(55506) idle
root 9008 0 0 07:57 pts/1 00:00:00 /bin/bash
root 9014 9008 0 07:57 pts/1 00:00:00 ps -ef
root@6c1fca69acf1:/home#
Check process with BioColab container
root@5fc5db8bc5cf:/home# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 04:08 pts/0 00:00:00 /bin/bash /super.sh
root 131 1 0 04:08 pts/0 00:00:10 /usr/bin/python3 /usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf
mosquit+ 133 131 0 04:08 pts/0 00:00:06 /usr/local/sbin/mosquitto -c /mosquitto/config/mosquitto.conf
beansta+ 134 131 0 04:08 pts/0 00:00:00 /usr/local/bin/beanstalkd -b /appdata/beanstalkd -f 1000 -u beanstalkd
root 136 131 0 04:08 pts/0 00:00:00 /usr/bin/Xvfb :0.0 -screen 0 800x600x16 -dpi 75 -nolisten tcp -audit 4 -ac -auth /root/
root 144 131 0 04:08 pts/0 00:00:00 /usr/bin/aria2c --enable-rpc --rpc-listen-all --rpc-allow-origin-all --rpc-secret=*****
root 147 131 0 04:08 pts/0 00:00:22 /appdata/apps/t2d_blc_tool
root 148 131 0 04:08 pts/0 00:01:50 /appdata/apps/t2d_dsc_tool
root 149 131 0 04:08 pts/0 00:00:00 sshd: /usr/sbin/sshd -p 2223 -D [listener] 0 of 10-100 startups
root 150 131 0 04:08 pts/0 00:00:00 /usr/sbin/cron -f
root 282 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 283 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 284 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 285 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 286 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 287 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 288 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 289 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 290 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 291 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 292 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 293 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 295 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 296 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 297 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 298 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 299 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 300 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 301 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 302 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-custom-task-worker
root 314 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-pack-notebook-worker
root 315 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-pack-notebook-worker
root 316 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 317 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 318 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 319 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 320 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 321 131 0 04:08 pts/0 00:00:00 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 322 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 325 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 326 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 327 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 328 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 330 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 331 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 332 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 333 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 334 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 335 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 336 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 337 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 338 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 339 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 340 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 341 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 342 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 343 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-setup-notebook-worker
root 344 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 345 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 346 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 347 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 348 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 349 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 350 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 351 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 352 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 353 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 354 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 355 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 356 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 357 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 358 131 0 04:08 pts/0 00:00:01 /miniconda/user/bin/python3.10 /miniconda/user/bin/bhub-create-kernel-worker
root 359 131 0 04:08 pts/0 00:00:00 /bin/bash /start.sh
root 360 359 0 04:08 pts/0 00:00:10 /miniconda/user/bin/python3.10 /miniconda/user/bin/jupyterhub --config /configs/hub/etc
root 513 360 0 04:08 ? 00:00:02 node /miniconda/user/bin/configurable-http-proxy --ip 0.0.0.0 --port 18000 --api-ip 127
root 527 360 0 04:08 ? 00:00:00 /miniconda/user/bin/python3.10 -m jupyterhub_idle_culler --timeout=36000
root 9394 0 0 07:58 pts/1 00:00:00 /bin/bash
root 9406 9394 0 07:58 pts/1 00:00:00 ps -ef
root@5fc5db8bc5cf:/home#
Application location
BioColab
docker exec -it biocolab /bin/bash
root@5fc5db8bc5cf:/appdata/share/miniconda# ll
total 16
drwxr-xr-x 4 root root 4096 Dec 15 04:08 ./
drwxr-xr-x 6 root root 4096 Dec 15 03:36 ../
drwxr-xr-x 2 root root 4096 Sep 18 08:09 apps/
lrwxrwxrwx 1 root root 24 Dec 15 04:08 miniconda -> /appdata/share/miniconda/
drwxr-xr-x 38 root root 4096 Oct 10 12:41 user/
root@5fc5db8bc5cf:/appdata/share/miniconda# pwd
/appdata/share/miniconda
root@5fc5db8bc5cf:/appdata/share/miniconda#
Installation for APP
root@5fc5db8bc5cf:/appdata/.bbcache# ls -l
total 12
-rwx------ 1 root root 908 Dec 15 08:08 kjjsdkfjslkdmlkclriltrij78783749879875.license
-rw------- 1 root root 908 Dec 15 08:08 kjjsdkfjslkdmlkclriltrij78783749879875.license_bk
drwx------ 4 root root 4096 Dec 15 03:30 searching
root@5fc5db8bc5cf:/appdata/.bbcache# ls searching/
conda.bleve download
root@5fc5db8bc5cf:/appdata/.bbcache# tree
.
├── kjjsdkfjslkdmlkclriltrij78783749879875.license
├── kjjsdkfjslkdmlkclriltrij78783749879875.license_bk
└── searching
├── conda.bleve
│ ├── index_meta.json
│ └── store
│ ├── 00000000013c.zap
│ ├── 00000000014f.zap
│ ├── 000000000155.zap
│ ├── 000000000164.zap
│ ├── 000000000173.zap
│ ├── 00000000017d.zap
│ ├── 000000000191.zap
│ ├── 000000000192.zap
│ └── root.bolt
└── download
├── anaconda_channeldata.json
├── anaconda_channeldata.json.converted
├── anaconda_linux-64.json
├── anaconda_noarch.json
├── bioconda_linux-64.json
├── bioconda_noarch.json
├── bioturing_linux-64.json
├── bioturing_noarch.json
├── cctbx202211_linux-64.json
├── cctbx202211_noarch.json
├── conda-forge_channeldata.json
├── conda-forge_channeldata.json.converted
├── conda-forge_linux-64.json
├── conda-forge_noarch.json
├── fastai_linux-64.json
├── fastai_noarch.json
├── fastchan_linux-64.json
├── fastchan_noarch.json
├── intel_linux-64.json
├── intel_noarch.json
├── main_linux-64.json
├── main_noarch.json
├── nvidia_linux-64.json
├── nvidia_noarch.json
├── ome_linux-64.json
├── ome_noarch.json
├── prometeia_linux-64.json
├── prometeia_noarch.json
├── pytorch_linux-64.json
├── pytorch_noarch.json
├── r_linux-64.json
├── r_noarch.json
├── sunpy_linux-64.json
└── sunpy_noarch.json
4 directories, 46 files
root@5fc5db8bc5cf:/appdata/.bbcache#
Application log
root@5fc5db8bc5cf:/appdata/logs# pwd
/appdata/logs
root@5fc5db8bc5cf:/appdata/logs# ls -l
total 0
-rwx------ 1 root root 0 Dec 15 03:44 jupyterhub.log
root@5fc5db8bc5cf:/appdata/logs#
# ls -la /var/log/supervisor
root@5fc5db8bc5cf:/appdata/logs# ls -la /var/log/supervisor
total 444
drwx------ 1 root root 4096 Dec 15 04:08 .
drwxr-xr-x 1 root root 4096 Dec 15 04:08 ..
-rwx------ 1 root root 0 Dec 15 04:08 aria2c_stderr.log
-rwx------ 1 root root 12536 Dec 15 07:33 aria2c_stdout.log
-rwx------ 1 root root 0 Dec 15 04:08 beanstalkd_stderr.log
-rwx------ 1 root root 0 Dec 15 04:08 beanstalkd_stdout.log
-rw-r--r-- 1 root root 0 Dec 15 04:08 bhub-create-custom-task-worker_stderr.log
-rw-r--r-- 1 root root 108160 Dec 15 08:03 bhub-create-custom-task-worker_stdout.log
-rw-r--r-- 1 root root 0 Dec 15 04:08 bhub-create-kernel-worker_stderr.log
-rw-r--r-- 1 root root 90120 Dec 15 08:03 bhub-create-kernel-worker_stdout.log
-rw-r--r-- 1 root root 0 Dec 15 04:08 bhub-pack-notebook-worker_stderr.log
-rw-r--r-- 1 root root 11416 Dec 15 08:03 bhub-pack-notebook-worker_stdout.log
-rw-r--r-- 1 root root 0 Dec 15 04:08 bhub-setup-notebook-worker_stderr.log
-rw-r--r-- 1 root root 143950 Dec 15 08:03 bhub-setup-notebook-worker_stdout.log
-rwx------ 1 root root 0 Dec 15 04:08 cleanup_stderr.log
-rwx------ 1 root root 24 Dec 15 04:08 cleanup_stdout.log
-rwx------ 1 root root 0 Dec 15 04:08 colab-unset-vars_stderr.log
-rwx------ 1 root root 0 Dec 15 04:08 colab-unset-vars_stdout.log
-rwx------ 1 root root 720 Dec 15 04:08 colab_stderr.log
-rwx------ 1 root root 151 Dec 15 04:08 colab_stdout.log
-rwx------ 1 root root 4050 Dec 15 04:08 colabblc_stderr.log
-rwx------ 1 root root 0 Dec 15 04:08 colabblc_stdout.log
-rwx------ 1 root root 0 Dec 15 04:08 cron_stderr.log
-rwx------ 1 root root 0 Dec 15 04:08 cron_stdout.log
-rwx------ 1 root root 613 Dec 15 04:08 jupyterhub-upgrade-db_stderr.log
-rwx------ 1 root root 26 Dec 15 04:08 jupyterhub-upgrade-db_stdout.log
-rwx------ 1 root root 77 Dec 15 04:08 jupyterhub_stderr.log
-rwx------ 1 root root 3554 Dec 15 08:03 jupyterhub_stdout.log
-rwx------ 1 root root 14333 Dec 15 08:04 mosquitto_stderr.log
-rwx------ 1 root root 0 Dec 15 04:08 mosquitto_stdout.log
-rwx------ 1 root root 0 Dec 15 04:08 sshd_stderr.log
-rwx------ 1 root root 0 Dec 15 04:08 sshd_stdout.log
-rwx------ 1 root root 0 Dec 15 04:08 xvfb_stderr.log
-rwx------ 1 root root 0 Dec 15 04:08 xvfb_stdout.log
root@5fc5db8bc5cf:/appdata/logs#
BioProxy
docker exec -it bioproxy /bin/bash
root@6c1fca69acf1:/# ls
bin checkstatus.sh etc memcached postgresql-entrypoint.sh run sys
bitnami dev home mnt prepare_letsencrypt_pem.sh sbin tmp
boot docker-entrypoint-initdb.d lib nfs proc server.js usr
certbot_timer.sh docker-entrypoint-preinitdb.d lib64 nfs.sh renew.sh srv var
checkssl.sh docker-entrypoint.sh media opt root super.sh
root@6c1fca69acf1:/#
-------
-------
root@6c1fca69acf1:/var/log/supervisor# ls -l
total 220
-rw-r--r-- 1 root root 45 Dec 15 04:04 certbot_stderr.log
-rw-r--r-- 1 root root 21 Dec 15 04:04 certbot_stdout.log
-rw-r--r-- 1 root root 0 Dec 15 04:04 cron_stderr.log
-rw-r--r-- 1 root root 0 Dec 15 04:04 cron_stdout.log
-rw-r--r-- 1 root root 0 Dec 15 04:04 dataplaneapi_stderr.log
-rw-r--r-- 1 root root 0 Dec 15 04:04 dataplaneapi_stdout.log
-rw-r--r-- 1 root root 997 Dec 15 04:08 haproxy_stderr.log
-rw-r--r-- 1 root root 0 Dec 15 04:04 haproxy_stdout.log
-rw-r--r-- 1 root root 0 Dec 15 04:04 memcached_stderr.log
-rw-r--r-- 1 root root 0 Dec 15 04:04 memcached_stdout.log
-rw-r--r-- 1 root root 0 Dec 15 04:04 nfsserver_stderr.log
-rw-r--r-- 1 root root 170850 Dec 15 08:08 nfsserver_stdout.log
-rw-r--r-- 1 root root 0 Dec 15 04:04 nginx_stderr.log
-rw-r--r-- 1 root root 0 Dec 15 04:04 nginx_stdout.log
-rw-r--r-- 1 root root 0 Dec 15 04:04 pgentrypoint_stderr.log
-rw-r--r-- 1 root root 19 Dec 15 04:04 pgentrypoint_stdout.log
-rw-r--r-- 1 root root 24450 Dec 15 08:09 postgresql_stderr.log
-rw-r--r-- 1 root root 0 Dec 15 04:04 postgresql_stdout.log
-rw-r--r-- 1 root root 0 Dec 15 04:04 redis_stderr.log
-rw-r--r-- 1 root root 0 Dec 15 04:04 redis_stdout.log
-rw-r--r-- 1 root root 0 Dec 15 04:04 sslapi_stderr.log
-rw-r--r-- 1 root root 81 Dec 15 04:04 sslapi_stdout.log
root@6c1fca69acf1:/var/log/supervisor#
When ever you would have bundle , pem, p7b three files then you must combine pem, bundle.pem and create certificate chain.
cat test.pem test_bundle.pem > test_chained.pem
now you would have test_chained.pem and test.p7b file.
# openssl x509 -text -noout -in test_chained.pem
above command will show the detail and validation.
All supervisior service configured in below location.
/etc/supervisor/supervisord.conf
Download t2d services inside BioColab
# cd /appdata/apps/download
# wget "https://colablocal.bioturing.com/content/t2d_blc_tool"
# wget "https://colablocal.bioturing.com/content/t2d_dsc_tool"
# chmod 700 t2d_blc_tool t2d_dsc_tool
# mv t2d_* ../
#
# supervisorctl restart colabblc:*
# supervisorctl restart colab:*
Restart t2d services inside BioColab
# supervisorctl restart colabblc:*
# supervisorctl restart colab:*
root@b1a226ccc20a:/etc/supervisor# supervisorctl restart colabblc:*
colabblc:colabblc_00: stopped
colabblc:colabblc_00: started
Restart haproxy services
root@507cd2637a97:/home# supervisorctl restart haproxy:*
haproxy:haproxy_00: stopped
haproxy:haproxy_00: started
# sudo apt install nginx
root@ip-172-31-39-123:/biocolab/installation-2.1.11/biocolab# curl -I 127.0.0.1
HTTP/1.1 200 OK
Server: nginx/1.18.0 (Ubuntu)
Date: Mon, 18 Dec 2023 07:09:02 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Mon, 18 Dec 2023 07:08:18 GMT
Connection: keep-alive
ETag: "657fefe2-264"
Accept-Ranges: bytes
🔔 NOTE: Unti, we will not post vhost entry with Nginx, You can see browser window was Nginx s running well.
# In case of we are not having SSL
server {
listen 0.0.0.0:80;
server_name <Your Domain>.com www.<Your Domain>.com;
#return 301 https:<Your Domain>.com$request_uri;
ignore_invalid_headers off;
client_max_body_size 0;
client_body_timeout 1d;
proxy_buffering off;
proxy_read_timeout 1d;
proxy_connect_timeout 1d;
proxy_send_timeout 1d;
location / {
proxy_pass http://127.0.0.1:8081;
proxy_http_version 1.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
add_header X-Host $host;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
}
location ~ /\.ht {
deny all;
}
}
server {
listen 0.0.0.0:443;
# ssl http2;
server_name <Your Domain>.com www.<Your Domain>.com;
if ($host = 'www.<Your Domain>.com' ) {
rewrite ^/(.*)$ https://<Your Domain>.com/$1 permanent;
}
#ssl_certificate /etc/ssl/certs/testdomain.pem;
#ssl_certificate_key /etc/pki/tls/private/testdomain.key;
#ssl_session_timeout 1d;
#ssl_session_cache shared:SSL:20m;
#ssl_prefer_server_ciphers on;
#ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
ignore_invalid_headers off;
client_max_body_size 0;
client_body_timeout 1d;
proxy_buffering off;
proxy_read_timeout 1d;
proxy_connect_timeout 1d;
proxy_send_timeout 1d;
location / {
proxy_pass http://127.0.0.1:8081;
proxy_http_version 1.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
add_header X-Host $host;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
}
location ~ /\.ht {
deny all;
}
}
⭕ Reason
Ceriticate issue.
curl: (77) error setting certificate file: /etc/ssl/certs/ca-certificates.crt
⭕ Resolution
# echo insecure >> ~/.curlrc
⭕ Reason
To auto mount patition.
⭕ Resolution
UUID="3ad2185e-82dd-40cd-8d43-1a82a780d0be" /biocolab xfs defaults 0 0
⭕ Reason
The HTTP 413 Content Too Large response status code signifies that the request entity surpasses the server-defined limits. This issue pertains to resource limitations.
⭕ Resolution
That issue can be fixed by updating the (Nginx) load balancer by incorporating the following value:
client_max_body_size = 0
By implementing this configuration, users will have the flexibility to upload files without any imposed size restrictions. Setting this value to zero will exempt the client request a body size check, allowing users to upload files of unlimited sizes.
- nginx load balancing standalone : client_max_body_size 0
- nginx k8s ingress : nginx.ingress.kubernetes.io/proxy-body-size 0
in case you have seperate Nginx Load Balancer.
nginx.ingress.kubernetes.io/client_max_body_size: 100m
nginx.ingress.kubernetes.io/proxy-body-size: 100m
nginx.ingress.kubernetes.io/proxy-read-timeout: 3600
nginx.ingress.kubernetes.io/proxy-send-timeout: 3600
--Based on situation -- anotation and values can be vary--
Kubernete ingress:
nginx.ingress.kubernetes.io/client_max_body_size: 5000M
nginx.ingress.kubernetes.io/proxy-body-size: 5000M
nginx.ingress.kubernetes.io/proxy-buffer-size: 16k
nginx.ingress.kubernetes.io/proxy-connect-timeout: "3600"
nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"
nginx.ingress.kubernetes.io/use-regex: "true"
nginx.ingress.kubernetes.io/rewrite-target /;
nginx.ingress.kubernetes.io/ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
nginx.ingress.kubernetes.io/client-header-buffer-size 100k;
Nginx lb:
proxy_buffers 4 256k;
proxy_buffer_size 256k;
proxy_busy_buffers_size 256k;
proxy_connect_timeout 3600s;
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
client_max_body_size 5000M;
For Nginx LB, the value we updated will not be effective until we restart or reload it.
Restart Nginx in case needed:
1] Check Syntax
sudo nginx -t
2] Restart
sudo nginx -s reload
or
sudo systemctl reload nginx
or
sudo systemctl restart nginx
Ref:
Nginx Proxy Module
Nginx HTTP Module
Nginx Suffix rule
⭕ Reason
There are several reason that conda driver failed to installed. It could be due to network, blocking, Speed, Software incompatibility with OS ...
⭕ Resolution
Driver can be intalled manually.
Kindly visit below site and choose driver according to OS.
https://developer.nvidia.com/cuda-downloads
root@biocolab-server:/lalit-test-nvidia-driver# sh cuda_12.2.2_535.104.05_linux.run
===========
= Summary =
===========
Driver: Installed
Toolkit: Installed in /usr/local/cuda-12.2/
Please make sure that
- PATH includes /usr/local/cuda-12.2/bin
- LD_LIBRARY_PATH includes /usr/local/cuda-12.2/lib64, or, add /usr/local/cuda-12.2/lib64 to /etc/ld.so.conf and run ldconfig as root
To uninstall the CUDA Toolkit, run cuda-uninstaller in /usr/local/cuda-12.2/bin
To uninstall the NVIDIA Driver, run nvidia-uninstall
Logfile is /var/log/cuda-installer.log
root@biocolab-server:/lalit-test-nvidia-driver#
=====================================
= Solution with cuda version 11.7.1 =
=====================================
sh cuda_11.7.1_515.65.01_linux.run --no-drm
Sometime, we need to reinstall cuda tool kits. Please follow URL below to uninstall cuda tool kit.
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html
root@biocolab-server:/usr/local/cuda-12.2/bin# pwd
/usr/local/cuda-12.2/bin
root@biocolab-server:/usr/local/cuda-12.2/bin# ls -lhrt cuda*
-rwxr-xr-x 1 root root 15M Sep 22 05:47 cuda-gdb
-rwxr-xr-x 1 root root 789K Sep 22 05:47 cuda-gdbserver
-rwxr-xr-x 1 root root 6.6M Sep 22 05:49 cudafe++
-rwxr-xr-x 1 root root 1023K Sep 22 05:49 cuda-uninstaller
root@biocolab-server:/usr/local/cuda-12.2/bin#
To uninstall cuda driver. Just run uninstallation script.
cd /usr/local/cuda-12.2/bin
root@biocolab-server:/usr/local/cuda-12.2/bin# ./cuda-uninstaller
Successfully uninstalled
⭕ Reason
There could be several reasons. It could be port mapping or ports are already in use ...etc
⭕ Resolution
Try to identify exact reason by start container manaully by following commands below.
Check docker status
# systemctl status docker.service
# systemctl status docker.service
# docker info
Check container status
# docker ps -a
Run container manually
# docker start biocolab
# docker start bioproxy
Chcek container log to see if we could see any errors
# docker logs biocolab
# docker logs bioproxy
NOTE: Service should be disable which cause port issue. Like NFS.
✏️ Please contact 📧 [support@bioturing.com] and share your issue.
⭕ Reason
This issue is related to machine creation is not correct and volume. It could be wrong (Private IP) or wrong DNS.
⭕ Resolution
In order to resovle this issue. Please check and make sure that you configured machine private IP / DNS correctly.
Kindly run the following command to check machine IP.
# docker exec biocolab cat /etc/hosts
Check Machine Private IP configured with your DNS.
Note this IP and cross check with Machine IP creation on Admin dashboard.
http://<Domain name>/dashboard.
Kindly check you must create volume attached with this machine.
NOTE: volume name can be anything but Volume path should be "/home"
⭕ Reason
There could be several reason behind this issue. Common reason is blocking below sites.
*.bioturing.com
*.anaconda.org
*repo.anaconda.com
Amazon S3
github.com
cdn-eu-west-1.s3.eu-west-1.amazonaws.com (euro -west1)
s3.us-west-2.amazonaws.com/cdn.bioturing.com (us -west2)
cdn.bioturing.com (us -west2)
⭕ Resolution
Kindly allow below sites.
*.bioturing.com
*.anaconda.org
*repo.anaconda.com
Amazon S3
github.com
cdn-eu-west-1.s3.eu-west-1.amazonaws.com (euro -west1)
s3.us-west-2.amazonaws.com/cdn.bioturing.com (us -west2)
cdn.bioturing.com (us -west2)
⭕ Reason
This issue is related to redirection from Load Balancer.
⭕ Resolution
Please check redirection rule on Load Balancer.
It should be "/*"
So that load balancer allowed all redirections.
Bioturing ecosystem
server {
listen 0.0.0.0:80;
server_name <test-domain.com> www.<test-domain.com>;
return 301 https://<test-domain.com>$request_uri;
}
server {
listen 0.0.0.0:443 ssl http2;
# listen 0.0.0.0:443;
server_name <test-domain.com> www.<test-domain.com>;
if ($host = 'www.<test-domain.com>' ) {
rewrite ^/(.*)$ https://<test-domain.com>/$1 permanent;
}
ssl_certificate /etc/ssl/certs/<test-domain.com>.pem;
ssl_certificate_key /etc/pki/tls/private/<test-domain.com>.key;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:20m;
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
ignore_invalid_headers off;
client_max_body_size 0;
client_body_timeout 1d;
proxy_buffering off;
proxy_read_timeout 1d;
proxy_connect_timeout 1d;
proxy_send_timeout 1d;
location / {
proxy_pass http://127.0.0.1:3000/;
proxy_intercept_errors on;
error_page 404 /404_not_found;
}
}
BioStudio
server {
listen 0.0.0.0:80;
server_name <testdomain>.com www.<testdomain>.com;
return 301 https://<testdomain>.com$request_uri;
ignore_invalid_headers off;
client_max_body_size 0;
client_body_timeout 1d;
proxy_buffering off;
proxy_read_timeout 1d;
proxy_connect_timeout 1d;
proxy_send_timeout 1d;
location / {
proxy_pass http://127.0.0.1:8081;
proxy_http_version 1.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
add_header X-Host $host;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
}
location ~ /\.ht {
deny all;
}
}
server {
listen 0.0.0.0:443 ssl http2;
server_name <testdomain>.com www.<testdomain>.com;
if ($host = 'www.<testdomain>.com' ) {
rewrite ^/(.*)$ https://<testdomain>.com/$1 permanent;
}
ssl_certificate /etc/ssl/certs/testdomain.pem;
ssl_certificate_key /etc/pki/tls/private/testdomain.key;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:20m;
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
ignore_invalid_headers off;
client_max_body_size 0;
client_body_timeout 1d;
proxy_buffering off;
proxy_read_timeout 1d;
proxy_connect_timeout 1d;
proxy_send_timeout 1d;
location / {
proxy_pass http://127.0.0.1:8081;
proxy_http_version 1.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
add_header X-Host $host;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
}
location ~ /\.ht {
deny all;
}
}
============== OR ==============
server {
listen 0.0.0.0:80;
server_name <testdomain>.com www.<testdomain>.com;
return 301 https://<testdomain>.com$request_uri;
}
server {
listen 0.0.0.0:443 ssl http2;
server_name <testdomain>.com www.<testdomain>.com;
if ($host = 'www.<testdomain>.com' ) {
rewrite ^/(.*)$ https://<testdomain>.com/$1 permanent;
}
ssl_certificate /etc/ssl/certs/testdomain.pem;
ssl_certificate_key /etc/pki/tls/private/testdomain.key;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:20m;
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
ignore_invalid_headers off;
client_max_body_size 0;
client_body_timeout 1d;
proxy_buffering off;
proxy_read_timeout 1d;
proxy_connect_timeout 1d;
proxy_send_timeout 1d;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
add_header X-Host $host;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
}
location ~ /\.ht {
deny all;
}
}
============== OR ==============
# In case you have external Load balancers
upstream bioturing_router_http {
ip_hash;
server XX.XX.X.XX:80;
server XX.XX.X.XX:80;
}
server {
listen 443 ssl http2;
server_name biocolab.YOUR-DOMAIN;
ssl_certicate /etc/ssl/certs/YOUR-DOMAINyellow.crt;
ssl_certicate_key /etc/ssl/certs/YOUR-DOMAINyellow.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
location / {
# For reverse proxy to backends
proxy_pass http://bioturing_router_http;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 3600;
proxy_read_timeout 3600;
proxy_write_timeout 3600;
# For HTTP/HTTPS
client_max_body_size 5000m;
client_header_buffer_size 16k;
large_client_header_buffers 4 32k;
# For websocket
proxy_http_version 1.1;
proxy_set_header Upgrade "websocket";
proxy_set_header Connection 'Upgrade';
proxy_cache_bypass "websocket";
proxy_set_header Connection “keep-alive”;
}
}
# In K8s Nginx Ingress. Please help to make sure that the below annotation is set up.
nginx.ingress.kubernetes.io/rewrite-target /;
nginx.ingress.kubernetes.io/ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
nginx.ingress.kubernetes.io/client-header-buffer-size 100k;
⭕ Reason
Ingress setting is not correct on LB.
⭕ Resolution
There is no any specific solution. Issue could be form Load Balancer or would be form Application.
⭕ How to test websocket?
BioStudio has an inbuilt feature to test Websocket.
1] Login to BioStudio Admin dashboard.
2] Select System Setting -- Click to Check BioStudio button
You could see the result below.