Building for Production
This tutorial considers the current folder as OHIFViewer/
.
Dependencies
First, you need to have installed:
MongoDB is actually not required if you have a remote MongoDB. If your database is local then you need to have it running.
Check your packages
Inside of the viewer folder make sure NPM packages are updated for production:
npm install --production
Building
There are two ways of building OHIF Viewer for a specific DICOM server: Automatically or Manually.
For both, we use the meteor build
(check it's docs) app and Orthanc Dicom Web Server.
For meteor build
it's necessary to inform an output folder myOutputFolder
.
Remember to change myOutputFolder
to your folder location.
OHIF Viewer will be built using Orthanc DICOM Web server configuration file ../config/orthancDICOMWeb.json
to set METEOR_SETTINGS
environment var.
To run with another server, just point to the corresponding .json
located in config
folder or create your own.
Build automatically
After this step, go directly to Prepare to run production build.
Non-windows users
METEOR_PACKAGE_DIRS="../Packages" METEOR_SETTINGS=$(cat ../config/orthancDICOMWeb.json) meteor build --directory myOutputFolder
Windows users
Since there is no cat
command in Windows cmd
, use Windows PowerShell
(at least version 3.0) instead.
In PowerShell
, open a new shell as an admin
:
Start-Process powershell -Verb runAs
Then:
Remember to change OHIFViewerFolderLocation
to OHIFViewer's folder location.
cd OHIFViewerFolderLocation
$settings = Get-Content ..\config\orthancDICOMWeb.json -Raw
$settings = $settings -replace "`n","" -replace "`r","" -replace " ",""
[Environment]::SetEnvironmentVariable("METEOR_SETTINGS", $settings, "Machine")
SET METEOR_PACKAGE_DIRS="../Packages"
meteor build --directory myOutputFolder
Build manually
OHIF Viewer will be built normally, but with no DICOM Server information, which needs to be added when running the build. This is described in Manually adding DICOM Server to the Viewer.
Non-windows users
METEOR_PACKAGE_DIRS="../Packages" meteor build --directory myOutputFolder
Windows users in cmd
SET METEOR_PACKAGE_DIRS="../Packages"
meteor build --directory myOutputFolder
Prepare to run production build
If everything went ok, meteor build
created a bundle
folder inside myOutputFolder
.
Remember to change myOutputFolder
to your folder location.
Go to that folder:
cd myOutputFolder/bundle
Now install the NPM dependencies:
cd programs/server
npm install
To run production build
Go back to the bundle
folder:
cd ../..
or (Remember to change myOutputFolder
to your folder location.):
cd myOutputFolder/bundle
3 environment variables are set before running Node.js:
MONGO_URL
: is the url to MongoDB. If it's local, you need to have it runningROOT_URL
: the hostname where you can access your Viewer in the browserPORT
: the port the Viewer will run
This way, the Viewer can be accessed in http://localhost:3000
, with MongoDB running locally using 27017 port (it's default).
Non-windows users
MONGO_URL=mongodb://localhost:27017/myapp ROOT_URL=http://localhost PORT=3000 node main.js
Windows users in cmd
SET MONGO_URL=mongodb://localhost:27017/myapp
SET ROOT_URL=http://localhost
SET PORT=3000
node main.js
Manually adding DICOM Server to the Viewer
If DICOM Server was configured automatically during the building process, skip this step.
Access the viewer http://localhost:3000
and toggle the Options menu, located at top right corner. Select Server Information option.
In Server Information dialog click on Add a new server button and fill the fields accordingly to the DICOM Server to be added.
In case of doubts about any field in this dialog, use config/orthancDICOMWeb.json
as reference.
After filling the form, click on the Save button and the new server will be listed. Make sure to activate it by clicking on the left most button (a checkbox button) in the Actions column.
Refresh the page and Viewer will be connected to the DICOM Server.