# Despliegue en huerto.mucomu.es/bolsa

## 1. Subir el proyecto al servidor

```bash
rsync -av -e "ssh -p 23" /home/jhatelero/Dropbox/Bolsa/finanzas/bolsaweb/ huerto.mucocu.es:/var/www/html/bolsaweb/
```

## 2. En el servidor: instalar dependencias

```bash
cd /var/www/html/bolsaweb
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
```

## 3. Copiar los CSV históricos existentes

```bash
rsync -av -e "ssh -p 23" /home/jhatelero/Dropbox/Bolsa/finanzas/historico_*.csv huerto.mucocu.es:/var/www/html/bolsaweb/data/
```

## 4. Crear el servicio systemd

Crea el archivo `/etc/systemd/system/bolsaweb.service`:

```ini
[Unit]
Description=Bolsa Web App (Dash/Gunicorn)
After=network.target

[Service]
User=www-data
WorkingDirectory=/var/www/html/bolsaweb
ExecStart=/var/www/html/bolsaweb/venv/bin/gunicorn \
    --workers 2 \
    --bind 127.0.0.1:8050 \
    --timeout 120 \
    app:server
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
```

Activar el servicio:

```bash
sudo systemctl daemon-reload
sudo systemctl enable bolsaweb
sudo systemctl start bolsaweb
sudo systemctl status bolsaweb
```

## 5. Configurar Apache2 como proxy inverso

Habilitar módulos necesarios:

```bash
sudo a2enmod proxy proxy_http proxy_wstunnel rewrite headers
sudo systemctl restart apache2
```

Añadir al VirtualHost de `huerto.mucocu.es` (normalmente en
`/etc/apache2/sites-available/huerto.mucocu.es.conf`):

```apache
# Proxy para la app Bolsa
ProxyPreserveHost On

# WebSocket (necesario para las actualizaciones reactivas de Dash)
RewriteEngine On
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteCond %{HTTP:Connection} upgrade [NC]
RewriteRule ^/bolsa/(.*) ws://127.0.0.1:8050/bolsa/$1 [P,L]

# HTTP normal
ProxyPass        /bolsa/ http://127.0.0.1:8050/bolsa/
ProxyPassReverse /bolsa/ http://127.0.0.1:8050/bolsa/
```

Reiniciar Apache:

```bash
sudo systemctl reload apache2
```

## 6. Verificar

Abre en el navegador: https://huerto.mucocu.es/bolsa/grafico

## Actualizar la app tras cambios

```bash
rsync -av -e "ssh -p 23" /home/jhatelero/Dropbox/Bolsa/finanzas/bolsaweb/ huerto.mucocu.es:/var/www/html/bolsaweb/
sudo systemctl restart bolsaweb
```

## Logs

```bash
sudo journalctl -u bolsaweb -f
```
