Video tutorial coming soon.
Deploy GNU Health on Ubuntu with Docker — a comprehensive FSF-backed hospital information system (HIS) combining electronic health records, health information management, and social health networking. Built on the Tryton framework for enterprise-grade clinical operations.
Grab the automated bash script from GitHub to follow along with the video.
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/clinic/gnu-health/gnu-health-ubuntu.sh
chmod +x gnu-health-ubuntu.sh
sudo bash gnu-health-ubuntu.sh
Fetch the GNU Health install script from the Prisma Docker library:
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/clinic/gnu-health/gnu-health-ubuntu.sh
Grant execute permission before running:
chmod +x gnu-health-ubuntu.sh
The script installs Docker if needed, then deploys GNU Health with PostgreSQL. Initial startup may take several minutes while the Tryton framework initialises modules.
sudo bash gnu-health-ubuntu.sh
Open your browser and navigate to port 8000. Log in with the admin credentials set during installation to begin configuring your health facility.
http://<your-server-ip>:8000
| Port | Purpose |
|---|---|
| 8000 | GNU Health Web UI |
| 8069 | Tryton Application Server |
| 5432 | PostgreSQL Database (internal only) |
GNU Health is a free, libre, and open-source hospital information system backed by the Free Software Foundation (FSF). It integrates three major pillars: the Electronic Medical Record (EMR) for patient clinical data, the Hospital Management Information System (HMIS) for administrative and operational data, and GNU Social-based health networking for population health management. Built on the Tryton ERP framework with a PostgreSQL backend, GNU Health is designed for hospitals, clinics, and public health agencies that need a complete, integrated system covering everything from patient registration to epidemiology reporting. It is used in Latin America, Africa, and Asia by government health ministries and NGOs.
GNU Health is the most complete free hospital information system available. Unlike OpenEMR (designed for outpatient clinics) or OpenMRS (designed for developing-world record-keeping), GNU Health covers the full hospital operational stack: inpatient management, bed tracking, surgery scheduling, pharmacy, laboratory, and epidemiology — all in one system. The FSF backing guarantees perpetual freedom from vendor lock-in. For public health agencies and under-resourced hospitals, this means a production-grade HIS at zero licensing cost with full source code access.
GNU Health's web interface runs on port 8000 and the Tryton application server on port 8069. PostgreSQL uses port 5432. All three should be accessible only within a private network or through a VPN — never exposed directly to the internet. Only the HTTPS-terminated reverse proxy endpoint should be publicly reachable, and only for authenticated staff. For multi-facility deployments, use a site-to-site VPN between facilities rather than public internet access.
OpenEMR is the most feature-complete alternative for outpatient primary care clinics — easier to set up than GNU Health but not designed for inpatient hospital management. OpenMRS is lighter and better suited for developing-world primary care with limited IT resources. Odoo Health is a commercial module built on Odoo ERP — more polished UI but proprietary at enterprise scale. Bahmni is a distribution of OpenMRS combined with OpenERP for hospital settings, widely used in Asia and Africa. For large public hospitals with budget, Epic, Cerner, or regional commercial HIS products provide certified integrations and vendor support.
If you are running a small outpatient clinic (not a hospital), GNU Health's full HIS scope is overkill — OpenEMR or OpenMRS is faster to deploy and easier to maintain. If your IT team lacks Linux and PostgreSQL expertise, the Tryton-based architecture has a steep learning curve that may make a simpler system more practical. If you need HIPAA, GDPR, or local regulatory certification out of the box, consult a GNU Health implementation partner — self-hosted deployments require additional hardening beyond the default Docker setup to meet compliance requirements.
PrismaTechWork provides end-to-end infrastructure services — from initial deployment and security hardening to ongoing monitoring, automated backups, and dedicated support. Whether you need a single-server setup or a multi-site network, our team ensures your infrastructure is built right, secured properly, and maintained reliably.
GNU Health is a full hospital information system (HIS) covering inpatient management, pharmacy, laboratory, surgery, and epidemiology — built for hospitals. OpenEMR is primarily an outpatient EHR focused on patient records, scheduling, and billing for clinics and medical practices. If you run a hospital with wards, choose GNU Health. If you run a clinic or medical practice, OpenEMR is more appropriate and easier to deploy.
GNU Health is built on Tryton, a mature Python-based ERP framework. Tryton provides the data model, business logic layer, access control, and client-server architecture that GNU Health's health modules extend. This means GNU Health inherits Tryton's robust multi-company, multi-language, and multi-currency support — useful for regional or national deployments. Understanding the Tryton client and module system is essential for advanced GNU Health administration.
GNU Health provides the technical controls needed for HIPAA compliance (audit logging, role-based access, encryption support), but HIPAA compliance is a process that depends on how you configure and operate the system, not just the software. You must also: encrypt data at rest and in transit, enforce strict access controls, implement audit log review procedures, sign a Business Associate Agreement (BAA) with any cloud provider used, and document your security policies. A default Docker install is not HIPAA compliant without additional hardening.
Yes — GNU Health runs entirely on-premises. Once installed on a local server, all clinical operations (patient registration, EMR, prescriptions, lab orders) work without internet connectivity. Staff access it via the local network or Wi-Fi. The system only needs internet access for updates, external integrations, or remote administration. This makes it suitable for hospitals in areas with unreliable or no internet connectivity.
In the Tryton client, log in as admin, go to Administration → Modules → Modules, find the module you want to install (e.g., health_surgery), select it, and click Perform Pending Installation. Tryton will install the module and run any required database migrations. Always test new modules in a staging environment first — module updates can modify the database schema and cause issues if a version mismatch exists.
Yes — GNU Health supports multiple languages through Tryton's built-in translation system. The interface can be displayed in the user's preferred language, and clinical forms can be localised for region-specific terminology. Arabic, Spanish, French, Portuguese, and dozens of other languages are supported via translation files available in the GNU Health community repository. Patient-facing documents (reports, summaries) can also be generated in the local language.
For a small clinic (under 50 concurrent users): 4 vCPU / 8 GB RAM / 100 GB SSD. For a hospital (50–200 concurrent users): 8 vCPU / 16 GB RAM / 500 GB SSD with daily backups to separate storage. The Tryton framework and PostgreSQL database are both CPU and memory intensive under concurrent clinical workloads. Use SSD storage — HDD-backed databases cause noticeable slowdowns with large patient record sets. For national deployments, consult the GNU Health community for reference architectures.
GNU Health has an active community providing free support through the official mailing lists at lists.gnu.org/mailman/listinfo/health and the IRC channel #gnu-health on Libera.Chat. The official documentation is at docs.gnuhealth.org. For production hospital deployments, several companies offer commercial support, training, and implementation services — a list is maintained on the GNU Health website. The FSF also provides implementation guidance for public health agencies.