instalacion de api v2

This commit is contained in:
aime.rolandi 2025-04-16 16:59:28 -03:00
parent ae8c40f9d7
commit 857d5df5b7

165
README.md
View File

@ -1,18 +1,159 @@
# Api # 📦 Instalación API V2
To start your Phoenix server: ## 🧰 Paso 1: Verificar el sistema operativo
* Run `mix setup` to install and setup dependencies Asegurarse de conocer la versión del sistema operativo del cliente (por ejemplo, FreeBSD 13.1). Para poder elegir el compilado correcto.
* Start Phoenix endpoint with `mix phx.server` or inside IEx with `iex -S mix phx.server`
Now you can visit [`localhost:4000`](http://localhost:4000) from your browser. En ese caso el código fuente estará en:
Ready to run in production? Please [check our deployment guides](https://hexdocs.pm/phoenix/deployment.html). ```bash
ssh -p 2229 informemedico@gitea.informemedico.com.ar
## Learn more cd /home/informemedico/api-13-4/api-v2/
* Official website: https://www.phoenixframework.org/ ```
* Guides: https://hexdocs.pm/phoenix/overview.html
* Docs: https://hexdocs.pm/phoenix ---
* Forum: https://elixirforum.com/c/phoenix-forum
* Source: https://github.com/phoenixframework/phoenix ## 📁 Paso 2: Copiar ejecutables al servidor del cliente
Ejecutar el siguiente comando desde el servidor del cliente para copiar los archivos necesarios:
```bash
rsync -av -e "ssh -p 2229" informemedico@gitea.informemedico.com.ar:'/home/informemedico/api-13-4/api-v2/_build/prod/rel/api/*' /home/informemedico/api/
```
---
## ⚙️ Paso 3: Crear archivo `.env`
Ubicarse en:
```bash
cd /home/informemedico/api/bin/
```
Y crear un archivo `.env` con las siguientes variables (reemplazar con los datos correctos):
```dotenv
# Datos de compilación
SECRET_KEY_BASE=9EtSIp/X8RGSgHIznn5J5GDxdwUr5oWMjRgK4tOLGIoh2IitPoI7yHx2ZIlLyGnv
DATABASE_URL=ecto://postgres:1nf0rm3@127.0.0.1/dicomscp
CHECK_ORIGIN=https://clinicadelsol.informemedico.com.ar:4443
PHX_PORT=4001
PHX_HOST=127.0.0.1
ROOT_PATH=/api
#PORT=443
SCHEME=https
# Datos consultas
PYTHON_EXECUTABLE=/usr/local/bin/python3.11
PYTHON_SCRIPT=/home/informemedico/cgi/soffice/generar_pdf_ed.py
TEMPLATE_NAME=con membrete
pr2_statusname=FINAL
IDSITE=226
ESCANEADOS=https://clinicadelsol.informemedico.com.ar:4443/#
acceso_ed=IDSTUDY
IDENTIFIERFIELD=IDSTUDY
# Datos SMTP/Mailer
#SMTP_USER=
#SMTP_PASS=
#SMTP_RELAY=
#EMAIL_BODY_PATH=
#SERVER_NAME_INDICATION=
FROM=Clinica del Sol # Esta se usa para el title de la página
# Imagenes
LOGO=https://clinicadelsol.informemedico.com.ar:4443/cgi-bin/impacs.bf/get_logo
LOGO_SM=https://clinicadelsol.informemedico.com.ar:4443/api/images/clinsol_logo_sm.png
```
---
## 🐍 Paso 4: Copiar y adaptar script `generar_pdf.py`
Copiar el script que usa **imPACS** a la nueva ubicación:
```bash
cp /ruta/soffice/generar_pdf.py /ruta/soffice/generar_pdf_api.py
```
Editar `generar_pdf_api.py` y agregar un `break`:
```python
# Se compone el stdin en un único texto
input = ""
for line in sys.stdin:
input = input + line
break # <- agregar esta línea
```
---
## 🚀 Paso 5: Iniciar el api y agregar al crontab
Ejecutar:
```bash
sudo ./api daemon
```
Contenido del script `server`:
```bash
#!/bin/sh
set -eu
cd -P -- "$(dirname -- "$0")"
PHX_SERVER=true exec ./api start
```
Agregar al `crontab`:
```bash
@reboot /home/informemedico/api/bin/server
```
---
## 🌐 Paso 6: Configuración Apache
Agregar lo siguiente en la configuración del VirtualHost:
```apache
# CORS
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header set Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
# WebSocket
RewriteEngine On
RewriteCond %{HTTP:Connection} upgrade [NC]
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteRule /(.*) "ws://127.0.0.1:4001/$1" [P,L]
# /api
ProxyPass /api http://127.0.0.1:4001/api
ProxyPassReverse /api http://127.0.0.1:4001/api
ProxyPass /api/live ws://127.0.0.1:4001/api/live
ProxyPassReverse /api/live ws://127.0.0.1:4001/api/live
ProxyPass /pacientes http://127.0.0.1:4001/api/pacientes
ProxyPassReverse /pacientes http://127.0.0.1:4001/api/pacientes
```
---
## 🔧 Activación de rutas V2 en Admin
1. Cambiar la versión de API a `2`.
2. Reemplazar las nuevas rutas en el sistema:
| Título Ruta | Nueva URL |
|-------------------------|-----------------------------------------------------|
| **Document list URL** | `https://dominio/api/study/{{accession}}` |
| **PDF downloads URL** | `https://dominio/api/downloadpdf/{{iddocument}}` |
| **Studies URL** | `https://dominio/api/studies` |