GNUHealth on openSUSE
- 1 About
- 2 Quick Start
- 3 Installation of the GNU Health server
- 4 Installation of the GNU Health client
- 5 Installation of the Raspberry Pi image
- 6 What is different from the GNU Health setup from source (vanilla-installation)?
- 7 Versioning
- 8 The Live CD
- 9 Documentation
- 10 External links
GNU Health is a Free Health and Hospital Information System that provides an integrative medicine approach, including the following functionalities:
- Electronic Medical Record (EMR)
- Hospital Information System (HIS)
- Health Information System
- Electronic signature for medical documents
This site describes the available GNU Health packages for openSUSE and the SUSE Linux Enterprise Server (SLES).
With the intent to provide a common installation method the GNU Health Project provides an installation method using a bash script (see also the GNU Health Installation Guide). Since this script aims to be distribution agnostic, it uses methods that do not consider basic principles in integrated, distribution based systems like openSUSE.
A short listing of the advantages when using openSUSE or SLES packages:
- Full automatic handling of package dependencies.
- No need to install additional compilers or deal with source code – GNU Health is precompiled for your operating system version.
- Full integration with zypper, the distribution package manager. Zypper will not only update the system automatically, but the GNU Health installation as well
- Integration with systemd for automatic start and stop of the GNU Health system
- Management of the server with distribution tools
- Security enhanced setup (no-login user for the GNU Health Server)
The easiest way to install GNU Health is via the openSUSE One-Click-Install for officially released versions.
Just select the desired GNU Health and operating system version, One-Click will manage all the rest for you.
Alternatively you can install via YaST Software management or the command-line tool zypper.
In case you want to use the latest GNU Health release on an 'older' Leap, you need to add the GNU Health repository. Example for GNU Health 3.6 on Leap 15.1:
su zypper ar -f https://download.opensuse.org/repositories/Application:/ERP:/GNUHealth:/3.6/openSUSE_Leap_15.1/ gh36
Now install with YaST or zypper:
su zypper in gnuhealth (for the server) zypper in gnuhealth-client (for the client)
You want to install the Demo-Database for Release 3.6.x as well?
su su postgres cd /tmp (note: just to be sure you are allowed to write here...) install_demo_database.sh 36
Installation of the GNU Health server
The very easy way
openSUSE comes with a setup-script, which should run as user root
su openSUSE-gnuhealth-setup setup
The script asks 4 questions and does the setup, so it gives you an easy entry into the GNU Health world. Note that it should not be used for production environments, as this requires a more detailed setup (like dedicated database server and no standard password...).
Setup more in detail
For the first-time installation, a few steps have to be followed. We assume you have the package gnuhealth installed, as well the editor GNU nano.
Log in as root and start the database
su systemctl start postgresql
Change postgres parameters. You need to log in as user postgres, in order to avoid authorisation issues. Assuming we have nano installed as editor, and you are still logged-in as user 'root'
su postgres nano /var/lib/pgsql/data/pg_hba.conf
For a local connection (Database on the same machine) change the line with 'local' to TRUST:
local all all md5 to local all all trust
Save your input. This will make sure that Tryton/GNUHealth server can connect to the database
Create a role for 'tryton' in the database (still logged-in as user postgres)
psql -c "CREATE USER tryton WITH CREATEDB;"
Create a database, for example 'mydb'
createdb mydb --encoding='UTF-8' --owner=tryton
Note: The owner of the database should be the same user, as under which the tryton server runs (default:tryton)
Exit as user postgres and restart the database
exit systemctl restart postgresql
One more step before we can use the database - we need to initialize it. This should happen under the user 'tryton'. As you are still logged-in as 'root':
su tryton -s /bin/bash /usr/bin/trytond-admin -c /etc/tryton/trytond.conf --all -d mydb
Note: Use the database name you chose in the previous step (here as default: mydb). During the initialization you will be asked for the admin password for this database. For the first time, log in to the newly initialized database with user admin and password as set during initialization.
Start the server afterwards (as root)
systemctl start gnuhealth
As result you will have a bare GNU Health database with the base modules installed.
Installation of the GNU Health client
Install the GNU Health client:
zypper in gnuhealth-client
Open the GNU Health client, either by selecting the icon from the menu, or from the command-prompt with the command 'gnuhealth-client'. Go to
'manage profiles' -> add -> name it 'localhost' -> Host: localhost
You should now see a selection of available databases. Add your newly created database. Done.
Installation of the Raspberry Pi image
The openSUSE project offers a Raspi-image based on openSUSE Leap 15.1, LXQT desktop and GNU Health installation from packages. It contains the GNU Health Release 3.6.x with server and client and the Demo-Database preinstalled. Some background to this:
- The image can be transferred to a Raspi. Image size is targeted for a 32GB SD-card
- Language and keyboard layout is English
- Passwords for root and user 'test' are 'test'
- Password for demo-database is GNU Health-Standard: admin:gnusolidario
- Download the Image
- Check the md5 hash. It should be 7026a78b09cec5db044af628e2101130 gnuhealth36-raspi3-20191231.img.xz
- Insert the SD-card into your computer and check what device it is (command: lsblk). We assume it is /dev/sdd
- copy the image to the SD card. This will delete all content on the SD-Card!
xzcat gnuhealth36-raspi3-20191231.img.xz | dd bs=4M of=/dev/sdd iflag=fullblock oflag=direct status=progress; sync
- insert the SD card into your Raspi and boot. Done.
What is different from the GNU Health setup from source (vanilla-installation)?
On the technical side, GNU Health is a set of modules for the Tryton server. Tryton itself makes use of a (postgres) database to store its information. When installing GNU Health using the openSUSE packages, GNU Health is tightly integrated into the openSUSE standard system. For security reasons, there is a seggregation of duties and roles:
- The Postgres database runs under the user 'postgres'
- The Tryton Server runs under the user 'tryton'. This is by default a system user without login capabilities. (use 'sudo su – tryton -s /bin/bash' to log in)
As GNU Health is an additional set of modules on top of Tryton, it runs as user 'tryton' as well.
This is the major difference to the installation via the bash script from source: The script installs everything in the home directory of the (real!) user gnuhealth! No further integration with system tools (e.g. systemd) is provided.
The numbering schema of GNU Health is different from the one of Tryton. For the One-Click-Installation, this is not an issue, just chose the desired GNU Health version and SUSE does the rest for you.
|GNUHealth Version||Tryton Version||Shipped with||Remarks|
|3.6||5.0||Leap 15.2||Released Nov 2019|
|3.4||4.6||Leap 15.1||Released Nov 2018|
|3.2||4.2||Leap 15.0||Released July 2017|
|3.0||3.8||Leap 42.3||Released Jan 2016|
|2.8||3.4||Released Feb 2015|
|2.6||3.2||Released Jul 2014|
The Live CD
Due to the shutdown of SUSEStudio, there is currently no Live-CD available. We are working on a replacement.
Each installation has a set of Documentation:
Installation of Tryton Server and GNU Health on openSUSE Link to the backup of Tryton Wiki - will be replaced once the new Wiki is available
Please note that the openSUSE packages are not compliant with the GNU Health packaging guidelines, as they would prevent us from taking advantage of openSUSE's advanced system management features, and would result in a lack of integration.
Watch the Installation Video for Leap and Tumbleweed