Table of Contents |
---|
...
General comments about the installation procedure
We have seen in the previous section that Docker packaging is managing all components of the modular openIMIS. If you wish to install the modular openIMIS without Docker, you will have to install separately the backend, the frontend and the gateway (and other optional modules).
Installing openIMIS directly is a tradeoff: it is more complex to get running, has more components to update and monitor but it is also much more flexible for low-bandwidth environments where downloading large docker images is an issue.
TO DO
This guide is still missing:
configuration of the images folder
Database
⚠️ This guide does not cover the database setup. Both PostgreSQL and Microsoft SQL Server are supported here.
1 - Minimal Linux setup
This takes Ubuntu as example but can easily be adapted to most other distributions.
...
Code Block |
---|
cd ~/oi # if you are not in this folder anymore python3 -mvenv venv source venv/bin/activate |
2 - Fetching and installing openIMIS apps
We will fetch the main application components, frontend and backend:
Code Block |
---|
git clone https://github.com/openimis/openimis-be_py.git git clone https://github.com/openimis/openimis-fe_js.git |
2.1 - Configure the backend
Code Block |
---|
cd openimis-be_py # if you are not going to work from the main branch (latest release): git checkout develop # You might need here to adapt the requirements.txt file. If pandas fails to install below, change to pandas==1.4.2 |
...
If the server takes a really long time to start, the database connection parameters are probably wrong and it is waiting for a database timeout to print an error.
Configure the automated restart
For systemd, create a file /lib/systemd/system/openimis.service
:
...
Code Block |
---|
sudo journalctl -u openimis.service |
2.2 - Configure the frontend
First step is to install node.js. OpenIMIS versions 1.2 to 1.5 are using node 16. The node installation instructions are https://github.com/nodesource/distributions/blob/master/README.md#deb but a generic solution like nvm is also a good option.
...
Code Block |
---|
yarn build # If not already done above sudo apt install nginx # We'll set it up below, so if you didn't install it already... sudo mkdir /var/www/html/front/ sudo chown $USER /var/www/html/front/ cp -r build/* /var/www/html/front/ |
2.3 - Configure nginx (gateway/reverse proxy)
The docker-compose version uses an openresty image that only relays, here we will be deploying a regular nginx pointing to the static site.
...
Code Block |
---|
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): |
3 - Install the mobile REST API
For the moment, the REST API is the last part of the openIMIS system that was not adapted to Postgres. It can be installed on Linux or other systems via Docker. This guide will show how to set it up as a stand-alone docker.
...