Skip to content

Conversation

@bendhouseart
Copy link
Collaborator

Seeking to integrate multiple changes and improvements into the master branch. Hoping that this helps to eliminate confusing regarding what "version/branch" of ezBIDS to run. Has latest improvements added via in-container node building, along with nginx hosting, presorting of "un-organized" dicom folders, and various bug fixes introduced via work at Philipps-Universität Marburg, NIMH, and NRU.

bendhouseart and others added 30 commits September 11, 2024 11:36
* added setup script, removed password for ssl certs
* updated handler and setup.sh
* added acquisition date and time fields to intermediate sidecar files 
and scrub those same dates from BIDS Finalized output sidecars
* added instructions in launch.sh
* added setup script, removed password requirment for ssl certs
* updated handler and setup.sh
* added acquisiiton date and time fields
* scrub dates from BIDS Finalized output
* added instructions in launch.sh
* fix compose that got bungled during merge.
* Update handler/Dockerfile
bendhouseart and others added 18 commits February 10, 2025 13:47
* Updating bendhouseart/ezbids:master from buti1021/ezbids:add-nginx-forwarding (#1)
* updating docker compose to use nginx for forwarding
* added nginx config and updated docker file works on mac
* added folder for certs
* had to bodge npm installs, husky, and vite to get healthy containers on osx
* updated docker compose, health checks all pass. CORS still an issue
* add nginx config
* ssl works with the addition of a cert, key, and the password for it
* create standalone production config
* consolidating variables and options into 1 launch script and 1 .env file
* updated lint check to use prettier instead of npm 'style-check' and 'lint-check'
* update package-lock.json
* bringing more in line with buti1021's PR, while 'stream-lining' env and entrypoints
* update docker ignore and build
* Update example.env
* certs and keys path as environment
* enable telemetry via build in compose_profile env var
* revert vite config changes
* remove old files

---------

Co-authored-by: Tim Budras <[email protected]>
Co-authored-by: Anthony Galassiae <[email protected]>
Co-authored-by: buti1021 <[email protected]>

* Create dependabot.yml

* Adding apptainer support (#28)

* Added .gitignore and README
* Updated README for formatting
* Adding apptainer scripts

---------

Co-authored-by: Marc Cummings <[email protected]>

* Updated .gitignore, added build script

* Update nginx/production_nginx.conf

---------

Co-authored-by: Tim Budras <[email protected]>
Co-authored-by: Anthony Galassiae <[email protected]>
Co-authored-by: buti1021 <[email protected]>
Co-authored-by: Marc Cummings <[email protected]>
Co-authored-by: Marc Cummings <[email protected]>
* update handler dockerfile
* testing inspection and moving of dicoms
* rename and update sort
* sorts PET dicom files into sub/ses folders then converts
* Updating bendhouseart/ezbids:master from buti1021/ezbids:add-nginx-forwarding (#1)

* updating docker compose to use nginx for forwarding
* added nginx config and updated docker file works on mac
* added folder for certs
* had to bodge npm installs, husky, and vite to get healthy containers on osx
* updated docker compose, health checks all pass. CORS still an issue
* add nginx config
* ssl works with the addition of a cert, key, and the password for it
* create standalone production config
* consolidating variables and options into 1 launch script and 1 .env file
* updated lint check to use prettier instead of npm 'style-check' and 'lint-check'
* update package-lock.json
* bringing more in line with buti1021's PR, while 'stream-lining' env and entrypoints
* update docker ignore and build
* Update example.env
* certs and keys path as environment
* enable telemetry via build in compose_profile env var
* revert vite config changes
* remove old files

---------

Co-authored-by: Tim Budras <[email protected]>
Co-authored-by: Anthony Galassiae <[email protected]>
Co-authored-by: buti1021 <[email protected]>

* Create dependabot.yml

* Adding apptainer support (#28)

* Added .gitignore and README
* Updated README for formatting
* Adding apptainer scripts

---------

Co-authored-by: Marc Cummings <[email protected]>

* Updated .gitignore, added build script

* Update nginx/production_nginx.conf

* Delete .github/dependabot.yml

---------

Co-authored-by: Tim Budras <[email protected]>
Co-authored-by: Anthony Galassiae <[email protected]>
Co-authored-by: buti1021 <[email protected]>
Co-authored-by: Marc Cummings <[email protected]>
Co-authored-by: Marc Cummings <[email protected]>
* Updating bendhouseart/ezbids:master from buti1021/ezbids:add-nginx-forwarding (#1)

* updating docker compose to use nginx for forwarding
* added nginx config and updated docker file works on mac
* added folder for certs
* had to bodge npm installs, husky, and vite to get healthy containers on osx
* updated docker compose, health checks all pass. CORS still an issue
* add nginx config
* ssl works with the addition of a cert, key, and the password for it
* create standalone production config
* consolidating variables and options into 1 launch script and 1 .env file
* updated lint check to use prettier instead of npm 'style-check' and 'lint-check'
* update package-lock.json
* bringing more in line with buti1021's PR, while 'stream-lining' env and entrypoints
* update docker ignore and build
* Update example.env
* certs and keys path as environment
* enable telemetry via build in compose_profile env var
* revert vite config changes
* remove old files

---------

Co-authored-by: Tim Budras <[email protected]>
Co-authored-by: Anthony Galassiae <[email protected]>
Co-authored-by: buti1021 <[email protected]>

* Create dependabot.yml

* Adding apptainer support (#28)

* Added .gitignore and README
* Updated README for formatting
* Adding apptainer scripts

---------

Co-authored-by: Marc Cummings <[email protected]>

* Updated .gitignore, added build script

* Update nginx/production_nginx.conf

* Delete .github/dependabot.yml

---------

Co-authored-by: Tim Budras <[email protected]>
Co-authored-by: Anthony Galassiae <[email protected]>
Co-authored-by: buti1021 <[email protected]>
Co-authored-by: Marc Cummings <[email protected]>
Co-authored-by: Marc Cummings <[email protected]>
This PR "eliminates" development mode to help with build reproducibility.

Previously, Node would install/build dependencies on the host and then mount
them into each container via Docker Compose. While Docker Compose was
initially used as a development environment it's been increasingly used as a 
method of deployment for on premise installations of ezBIDS. This PR helps to
limit the variability introduced during the build process by the increasing number
of sites, users, and architectures (Apple Silicon). Development mode will be 
re-introduced (hot loading/mounting) of code folders at a future date. For now,
the focus is on repeatability of deployments over developer ease.

* Moving node modules from being mounted to being built in the containers.
* Nginx and localhost:3000 compose versions both working
* Updated readme, renamed from docker-compose-production.yml to nginx
Updated more steps to take place in containers and picked sane env defaults.

* added compile from tsc to js into handler container
* update default env's, add key placement into containers
* Update docker-compose.yml
@bendhouseart bendhouseart merged commit 9b76691 into master May 5, 2025
1 check passed
@bendhouseart bendhouseart deleted the development branch May 9, 2025 16:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants