OpenSMN/README.md
2025-12-03 07:11:48 -03:00

79 lines
1.7 KiB
Markdown

# OpenSMN
OpenSMN es una API opensource que actúa como proxy del Servicio Meteorológico Nacional (SMN) de Argentina, ofreciendo una forma sencilla y privada de acceder a sus datos públicos.
## Requisitos
- Python 3.7+
- ChromeDriver
## Instalación
1. Clona el repositorio:
```bash
git clone https://github.com/nixietab/OpenSMN
cd OpenSMN
```
2. Instala las dependencias:
```bash
pip install -r requirements.txt
```
3. Configura las variables de entorno:
```bash
cp .env.example .env
```
Edita el archivo `.env` con tu configuración, puedes ver todas las variables en el archivo `.env.example`.
## Uso
### Desarrollo
Para ejecutar el servidor en modo desarrollo:
```bash
uvicorn server:app --reload --port 6942
```
### Producción
Para ejecutar el servidor en producción, usa el script `start.sh`:
```bash
./start.sh
```
El script carga automáticamente las variables de entorno desde `.env` y ejecuta la api.
## Autenticación
Si configuras un `PASSWORD` en tu `.env`, todas las peticiones deben incluir el header:
```
Authorization: clave_ultra_segura
```
## Despliegue con Reverse Proxy
Para producción, es altamente recomendado usar un reverse proxy como nginx:
```nginx
location /smn/ {
proxy_pass http://localhost:6942/smn/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
```
## Licencia
El proyecto de openSMN es de código abierto y está licenciado bajo la licencia MIT. no obstante, interacciona con el Servicio Meteorológico Nacional (SMN) de Argentina, servicio de codigo privativo.
No hay asociacion con este proyecto con el SMN de ninguna manera