8 ProyectoBrandonTurcios
Brandon Turcios edited this page 2026-01-30 03:58:54 +00:00
title
Proyecto Modernización SAO GNU Health

Descripción del Proyecto

Esta es una aplicación web React moderna diseñada para conectarse y interactuar con servidores Tryton GNU Health. La aplicación proporciona una interfaz de usuario intuitiva para el acceso a funcionalidades del sistema Tryton.

En caso de utilizar máquina virtual -> Enlace de descarga de Disco Virtual

https://www.gnuhealth.org/downloads/images/

Es necesario descargar una imagen de Debian 12/13 para incluir el disco virtual de GNU Health 50 con todo pre instalado.

Instrucciones

https://lists.gnu.org/archive/html/health/2025-08/msg00001.html

Configuración del Servidor GNU Health/Tryton

Archivo de Configuración

El servidor Tryton está configurado en /opt/gnuhealth/his-50/etc/trytond.conf:


# Generated by gnuhealth-control
[database]
uri = postgresql://:5432
path = /opt/gnuhealth/his-50/attach

[web]
# Listen to all network interfaces.
listen = 0.0.0.0:8000
list = true
cors = http://localhost:5173
cors_origins = http://localhost:5173
cors_credentials = false
cors_headers = Content-Type, Authorization, Accept
cors_methods = GET, POST, PUT, DELETE, OPTIONS
#para correr SAO
# root = {directorio al SAO}
#
#y comentar para correr el proyecto para evitar conflictos



#donde estos son los puertos donde corre el proyecto con Vite
#cors = http://localhost:5173
#cors_origins = http://localhost:5173

Puertos y Servicios

  • Puerto 8000: Servidor web Tryton (interfaz web)
  • Puerto 5432: Base de datos PostgreSQL
  • Puerto 5173: Puerto en el que está corriendo Vite (proyecto)

Credenciales (user , pass)

  • VM: gnuhealth , gnu
  • Tryton: admin , gnusolidario

En caso de utilizar servidor en línea (como Azure):

Creación de máquina virtual para ejecutar GNU Health en línea (Azure)

Este documento describe paso a paso cómo desplegar GNU Health en una máquina virtual de Azure usando Debian 12 o 13.


1. Crear la máquina virtual

  • Crear una VM en Azure con Debian 12 o Debian 13.
  • Configurar red pública y permitir el puerto 8000 en el Network Security Group (NSG).
  • Crear un usuario durante la instalación (en este caso: brandonturcios).

2. Acceder por SSH

Desde tu equipo local:

ssh brandonturcios@IP_PUBLICA_DE_LA_VM

Ingresar la contraseña configurada (ejemplo: password).


3. Actualizar el sistema

sudo apt update
sudo apt upgrade -y

4. Instalar PostgreSQL

sudo apt install postgresql postgresql-contrib -y

Verificar que el servicio esté activo:

sudo systemctl status postgresql

5. Configurar PostgreSQL

Entrar al usuario postgres:

sudo -i -u postgres

Crear un usuario para GNU Health (este usuario se usará luego para cargar los dumps de demostración):

createuser gnuhealth --pwprompt

Asignar una contraseña (ejemplo: gnuh123).

Crear la base de datos:

createdb gnuhealth_demo -O gnuhealth

Salir del usuario postgres:

exit

Los dumps de demostración pueden obtenerse desde: https://www.gnuhealth.org/downloads/postgres_dumps/


6. Crear el usuario del sistema gnuhealth

sudo adduser gnuhealth

7. Cambiar al usuario gnuhealth

su - gnuhealth

8. Verificar Python y pip

python3 --version
pip3 --version

Si no están instalados:

sudo apt install python3 python3-pip python3-venv -y

9. Crear y activar entorno virtual

Crear el entorno virtual:

python3 -m venv venv

Activarlo:

source venv/bin/activate

10. Instalar GNU Health

Con el entorno virtual activo:

pip install gnuhealth-all-modules

Si durante la instalación ocurre un error, instalar manualmente psycopg2:

pip install psycopg2-binary

11. Verificar versiones

Verificar la versión de GNU Health:

pip show gnuhealth

Debe ser 5.0 o superior.

Verificar la versión de Tryton:

pip show trytond

Debe ser 7.0 o superior.


12. Crear el archivo de configuración trytond

Crear el archivo:

nano ~/trytond.conf

Contenido del archivo trytond.conf:

[database]
# URI de conexión a PostgreSQL
# Formato: postgresql://usuario:contraseña@host/base_de_datos
uri = postgresql://gnuhealth:gnuh123@localhost/gnuhealth_demo

# Número máximo de conexiones simultáneas
pool_size = 10

[web]
# Escuchar en todas las interfaces de red
listen = 0.0.0.0:8000
list = true

# Configuración CORS
cors = *
cors_origins = *
cors_credentials = false
cors_headers = Content-Type, Authorization, Accept
cors_methods = GET, POST, PUT, DELETE, OPTIONS

# Permitir conexiones desde cualquier host
root_path = /

Guardar y salir.


13. Ejecutar Trytond

trytond -c ~/trytond.conf

14. Verificación final

Si al ejecutar el comando se muestra que el servicio está escuchando en el puerto 8000, significa que GNU Health está funcionando correctamente.

Desde un navegador web:

http://IP_PUBLICA_DE_LA_VM:8000

Fin del procedimiento.

Información de modelos

Repositorio : https://github.com/BrandonTurcios/a