Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
31c958d
Test build OSB forrk/branch
pgleeson Aug 21, 2025
fd8842e
Update requirements for latest netpyne and neuroml libraries
pgleeson Aug 21, 2025
be36305
Quicker download of head model
pgleeson Aug 21, 2025
557d7ec
Merge pull request #992 from OpenSourceBrain/develop
pgleeson Aug 22, 2025
3e5593b
Revert change netpyne branch
filippomc Aug 22, 2025
08ef3cd
Merge branch 'develop' into dev_netpyne_updates
filippomc Aug 22, 2025
1860ff5
Consolidated download of nyhead.mat into one line
pgleeson Aug 26, 2025
6892d43
Allow a local directory, shared, to be accessed inside the docker con…
pgleeson Aug 26, 2025
2331908
Remove netpyne gatekeeper
filippomc Aug 26, 2025
f480acb
Merge branch 'dev_netpyne_updates' of github.com:OpenSourceBrain/OSBv…
filippomc Aug 26, 2025
9e54bfd
Merge branch 'dev_netpyne_updates' of github.com:OpenSourceBrain/OSBv…
pgleeson Aug 26, 2025
05ba58a
Minor changes in Dockerfile to aid admin bash scripting
pgleeson Aug 27, 2025
fa93fc8
Update About box: Add Gleeson lab, full url to logos
pgleeson Aug 27, 2025
94a9954
Patch keycloak bootstrap issue
filippomc Aug 28, 2025
3d54f1c
feat(local-script): do not make a skaffold failure stop minikube
sanjayankur31 Aug 28, 2025
f44774e
Updates to Jupyterlab: uses osbv2 netpyne branch & add scripts
pgleeson Aug 28, 2025
f0a38a3
dev pipeline update
filippomc Mar 25, 2026
5b4fb8b
Merge branch 'dev_netpyne_updates' of github.com:OpenSourceBrain/OSBv…
filippomc Mar 25, 2026
3e17de5
Use --no-check-certificate for head model
pgleeson Jul 23, 2026
c5f630b
Merge branch 'develop' into dev_test_pg
pgleeson Jul 27, 2026
193c614
Merge branch 'dev_netpyne_updates' into dev_test_pg
pgleeson Jul 27, 2026
21ae364
Merge pull request #1002 from OpenSourceBrain/dev_test_pg
pgleeson Jul 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions .github/workflows/docker-jupyterlab.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Docker Image Build Jupyterlab
name: Docker Image Build JupyterLab

on:
push:
Expand All @@ -13,17 +13,18 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Build the Docker image
run: |
cd applications/jupyterlab
docker build -t myjlab -f Dockerfile --no-cache .
./build_local.sh

- name: Info on Docker image sizes
run: |
docker images

- name: Run the Docker container and list python installs
run: |
docker run -t --rm --entrypoint /bin/bash myjlab -c "pip3 list"
cd applications/jupyterlab
./pip_omv_info.sh
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,4 @@ skaffold-overrides.yaml
/libraries/client/netpyne-web/
/.venv
/libraries/client/*.pyc
/applications/netpyne/shared
91 changes: 0 additions & 91 deletions applications/accounts/deploy/resources/realm.json
Original file line number Diff line number Diff line change
Expand Up @@ -171,97 +171,6 @@
]
},
"clients": [
{
"id": "1da42a19-c050-42f4-a558-ca0cf6515651",
"clientId": "account",
"name": "${client_account}",
"rootUrl": "${authBaseUrl}",
"baseUrl": {{ printf "/realms/%s/account/" .Values.namespace | quote }},
"surrogateAuthRequired": false,
"enabled": true,
"alwaysDisplayInConsole": false,
"clientAuthenticatorType": "client-secret",
"redirectUris": [
{{ printf "/realms/%s/account/*" .Values.namespace | quote }}
],
"webOrigins": [],
"notBefore": 0,
"bearerOnly": false,
"consentRequired": false,
"standardFlowEnabled": true,
"implicitFlowEnabled": false,
"directAccessGrantsEnabled": false,
"serviceAccountsEnabled": false,
"publicClient": true,
"frontchannelLogout": false,
"protocol": "openid-connect",
"attributes": {
"realm_client": "false",
"post.logout.redirect.uris": "+"
},
"authenticationFlowBindingOverrides": {},
"fullScopeAllowed": false,
"nodeReRegistrationTimeout": 0,
"defaultClientScopes": [],
"optionalClientScopes": []
},
{
"id": "18893fbb-8252-4aaa-bc9b-60799ceb9932",
"clientId": "account-console",
"name": "${client_account-console}",
"rootUrl": "${authBaseUrl}",
"baseUrl": {{ printf "/realms/%s/account" .Values.namespace | quote }},
"surrogateAuthRequired": false,
"enabled": true,
"alwaysDisplayInConsole": false,
"clientAuthenticatorType": "client-secret",
"redirectUris": [
{{ printf "/realms/%s/account/*" .Values.namespace | quote }}
],
"webOrigins": [],
"notBefore": 0,
"bearerOnly": false,
"consentRequired": false,
"standardFlowEnabled": true,
"implicitFlowEnabled": false,
"directAccessGrantsEnabled": false,
"serviceAccountsEnabled": false,
"publicClient": true,
"frontchannelLogout": false,
"protocol": "openid-connect",
"attributes": {
"realm_client": "false",
"post.logout.redirect.uris": "+",
"pkce.code.challenge.method": "S256"
},
"authenticationFlowBindingOverrides": {},
"fullScopeAllowed": false,
"nodeReRegistrationTimeout": 0,
"protocolMappers": [
{
"id": "9a68ec2d-943d-49cb-9fdd-cd821d606210",
"name": "audience resolve",
"protocol": "openid-connect",
"protocolMapper": "oidc-audience-resolve-mapper",
"consentRequired": false,
"config": {}
}
],
"defaultClientScopes": [
"service_account",
"web-origins",
"acr",
"address",
"administrator-scope",
"phone",
"profile",
"roles",
"microprofile-jwt",
"basic",
"email"
],
"optionalClientScopes": []
},
{
"id": "9a6a2560-c6be-4493-8bd5-3fdc4522d82b",
"clientId": {{ .Values.apps.accounts.client.id | quote }},
Expand Down
2 changes: 1 addition & 1 deletion applications/jupyterlab/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ COPY conf/ .jupyter/lab/user-settings/@jupyterlab
USER root
RUN chown -R jovyan /home/jovyan/.jupyter/lab/user-settings /home/jovyan/.cache

RUN wget --no-verbose -P `pip show LFPykit | grep "Location:" | awk '{print $2"/lfpykit"}'` https://www.parralab.org/nyhead/sa_nyhead.mat
RUN wget --no-check-certificate --no-verbose -P `pip show LFPykit | grep "Location:" | awk '{print $2"/lfpykit"}'` https://www.parralab.org/nyhead/sa_nyhead.mat

#########################################################################
# Run install again but first invalidate the cache
Expand Down
13 changes: 13 additions & 0 deletions applications/jupyterlab/build_local.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/bash
set -ex

# Set the platform flag if we're on ARM
arch=$(uname -m)
if [[ "$arch" == "arm64" || "$arch" == "aarch64" ]]; then
platform_flag="--platform linux/amd64"
else
platform_flag=""
fi

time DOCKER_BUILDKIT=1 docker build $platform_flag -t myjlab -f Dockerfile .

8 changes: 8 additions & 0 deletions applications/jupyterlab/pip_omv_info.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/bash
set -e

# A script to print info versions of packages in the JupyterLab container

docker run -t --rm --entrypoint /bin/bash myjlab -c "pip3 list"
echo "--------------------------------------------------------"
docker run -t --rm --entrypoint /bin/bash myjlab -c "omv list -V"
13 changes: 13 additions & 0 deletions applications/jupyterlab/rebuild_local.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/bash
set -ex

# Set the platform flag if we're on ARM
arch=$(uname -m)
if [[ "$arch" == "arm64" || "$arch" == "aarch64" ]]; then
platform_flag="--platform linux/amd64"
else
platform_flag=""
fi

time DOCKER_BUILDKIT=1 docker build $platform_flag -t myjlab -f Dockerfile --no-cache .

2 changes: 1 addition & 1 deletion applications/jupyterlab/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ neurotune
neuron<9

# Install specific version of NetPyNE
git+https://github.com/Neurosim-lab/netpyne.git@osbv2#egg=netpyne
git+https://github.com/Neurosim-lab/netpyne.git@osbv2-dev#egg=netpyne

#### Other simulators

Expand Down
8 changes: 8 additions & 0 deletions applications/jupyterlab/run_local.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/bash
set -e

# A script to run the JupyterLab container locally (build it first with ./build_local.sh)

docker run --network host -it --rm --name myjupyterlab myjlab


9 changes: 6 additions & 3 deletions applications/netpyne/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ RUN yarn build-dev
### Download on a separate stage to run in parallel with buildkit
FROM quay.io/jupyter/base-notebook:python-3.12 AS downloads
USER root
RUN wget --no-check-certificate -O /nyhead.mat https://www.parralab.org/nyhead/sa_nyhead.mat
RUN apt-get update -qq && apt-get install aria2 -y && aria2c -j10 -x 10 https://www.parralab.org/nyhead/sa_nyhead.mat && mv sa_nyhead.mat /nyhead.mat

###
FROM quay.io/jupyter/base-notebook:python-3.12
Expand All @@ -27,10 +27,13 @@ ENV NP_LFPYKIT_HEAD_FILE=/home/jovyan/nyhead.mat

USER root

### Some helpful aliases
RUN echo -e '\n\nalias cd..="cd .." \nalias h=history \nalias ll="ls -alt" \n' >> ~/.bashrc

RUN rm -rf /var/lib/apt/lists
RUN apt-get update -qq &&\
apt-get install python3-tk vim nano unzip git make libtool g++ -qq pkg-config libfreetype6-dev libpng-dev libopenmpi-dev -y
RUN apt-get install openjdk-11-jre-headless -y
RUN apt-get install openjdk-11-jre-headless htop ncdu -y
# RUN conda install python=3.7 -y


Expand Down Expand Up @@ -87,7 +90,7 @@ RUN ln -s /opt/workspace workspace

# RUN jupyter labextension disable @jupyterlab/hub-extension

COPY --from=downloads --chown=1000:1000 /nyhead.mat $NP_LFPYKIT_HEAD_FILE
COPY --from=downloads --chown=1000:1000 nyhead.mat $NP_LFPYKIT_HEAD_FILE
COPY --from=jsbuild --chown=1000:1000 $FOLDER/webapp/build webapp/build

RUN chown -R $NB_UID /home/jovyan/.jupyter
Expand Down
6 changes: 4 additions & 2 deletions applications/netpyne/deploy/values.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
harness:
subdomain: netpyne
secured: false
uri_role_mapping: []
service:
auto: false
port: 80
Expand All @@ -19,8 +21,8 @@ harness:
hard:
- jupyterhub
git:
- url: https://github.com/MetaCell/NetPyNE-UI.git
branch_tag: 1.1.0
- url: https://github.com/OpenSourceBrain/NetPyNE-UI.git
branch_tag: osbv2_tests
singleuser:
cpu:
limit: 1
Expand Down
10 changes: 5 additions & 5 deletions applications/netpyne/overrides/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ jupyterthemes==0.20.0
kiwisolver==1.4.8
lesscpy==0.15.1
LFPykit==0.5.1
libNeuroML==0.5.1
libNeuroML==0.6.7
lxml==5.3.1
MarkupSafe==1.1.1
matplotlib==3.10.0
Expand All @@ -88,9 +88,9 @@ nbconvert==5.6.1
nbformat==5.2.0
ndindex==1.9.2
nest-asyncio==1.6.0
netpyne @ git+https://github.com/Neurosim-lab/netpyne.git@3d633bcda9a3ab3fe4a90b7c705cd3692a729185
netpyne @ git+https://github.com/Neurosim-lab/netpyne.git@osbv2-dev#egg=netpyne
networkx==3.4.2
neuromllite==0.5.4
neuromllite==0.6.1
NEURON==8.2.6
notebook==6.4.5
notebook_shim==0.2.3
Expand All @@ -117,9 +117,9 @@ pycparser==2.22
pyecore==0.15.2
pygeppetto==0.9.0
Pygments==2.19.1
PyLEMS==0.5.9
PyLEMS==0.6.8
pymongo==4.11.1
pyNeuroML==1.0.10
pyNeuroML==1.3.21
pyparsing==3.2.1
pytest==6.2.5
python-dateutil==2.9.0.post0
Expand Down
2 changes: 1 addition & 1 deletion applications/netpyne/run_local.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ set -e

# A script to run the NetPyNE container locally (build it first with ./build_local.sh)

docker run --network host -it --rm --name mynp mynetpyneosb
docker run --network host -v $PWD/shared:/opt/workspace/local:rw -it --rm --name mynp mynetpyneosb


Original file line number Diff line number Diff line change
Expand Up @@ -338,7 +338,7 @@ export const MainDrawer = (props: {
<ListItemIcon>
<HomeIcon />
</ListItemIcon>
<ListItemText primary="Main site" />
<ListItemText primary="OSB homepage" />
</ListItemButton>

<ListItemButton
Expand Down
15 changes: 11 additions & 4 deletions applications/osb-portal/src/components/dialogs/AboutDialog.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ const styles = {

export const AboutContent = (props: any) => {

const logoMetaCell = "/images/metacell.png";
const logoWellcome = "/images/wellcome.png";
const logoMetaCell = "https://raw.githubusercontent.com/OpenSourceBrain/OSBv2/refs/heads/master/applications/osb-portal/src/assets/images/metacell.png";
const logoWellcome = "https://raw.githubusercontent.com/OpenSourceBrain/OSBv2/refs/heads/master/applications/osb-portal/src/assets/images/wellcome.png";

return (
<Box sx={styles.paper}>
Expand Down Expand Up @@ -60,9 +60,16 @@ export const AboutContent = (props: any) => {
<Typography variant="body1">
OSBv2 is being developed by the{" "}
<Link href="http://silverlab.org/" target="_blank" underline="hover">
Silver Lab at University College London
Silver Lab
</Link>{" "}
in collaboration with{" "}
and the{" "}
<Link href="http://openneuroai.org/" target="_blank" underline="hover">
Gleeson Lab
</Link>{" "}
at {" "}
<Link href="http://ucl.ac.uk/" target="_blank" underline="hover">
University College London
</Link>, in collaboration with{" "}
<Link href="https://metacell.us" target="_blank" underline="hover">
MetaCell
</Link>
Expand Down
15 changes: 15 additions & 0 deletions applications/workspaces/api/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,8 @@ paths:
security:
-
bearerAuth: []
-
cookieAuth: []
operationId: workspaces.controllers.workspace_controller.setthumbnail
summary: Sets the thumbnail of the workspace.
parameters:
Expand Down Expand Up @@ -302,6 +304,8 @@ paths:
security:
-
bearerAuth: []
-
cookieAuth: []
operationId: workspaces.controllers.workspace_controller.addimage
summary: Adds and image to the workspace.
parameters:
Expand All @@ -324,6 +328,8 @@ paths:
security:
-
bearerAuth: []
-
cookieAuth: []
operationId: delimage
summary: Delete a Workspace Image from the workspace.
x-openapi-router-controller: workspaces.controllers.workspace_controller
Expand Down Expand Up @@ -365,6 +371,8 @@ paths:
security:
-
bearerAuth: []
-
cookieAuth: []
summary: Used to save a WorkspaceResource to the repository.
'/workspaceresource/{id}':
get:
Expand All @@ -382,6 +390,8 @@ paths:
security:
-
bearerAuth: []
-
cookieAuth: []
summary: Used to retrieve a WorkspaceResource.
put:
requestBody:
Expand Down Expand Up @@ -1517,6 +1527,11 @@ components:
bearerFormat: JWT
type: http
x-bearerInfoFunc: cloudharness.auth.AuthClient.decode_token
cookieAuth:
type: apiKey
name: kc-access
in: cookie
x-apikeyInfoFunc: cloudharness.auth.decode_token
tags:
-
name: rest
Expand Down
Loading
Loading