134 lines
3.6 KiB
Markdown
134 lines
3.6 KiB
Markdown
# 🎯 MEMORIA: SaaS en Raspberry Pi 3 - Estado Actual
|
|
|
|
**Fecha:** 13 Enero 2025
|
|
**Hash:** `raspberry-pi3-saas-setup-20250113`
|
|
|
|
## ✅ LO QUE ESTÁ FUNCIONANDO
|
|
|
|
### 1. Flask SaaS en Raspberry Pi
|
|
- **Ubicación:** `/home/pi/gkachele-saas/`
|
|
- **Puerto:** 5001
|
|
- **Estado:** ✅ Corriendo (2 procesos)
|
|
- **Landing:** `landing_real.html` (GKACHELE™ original)
|
|
- **Base de datos:** SQLite (`database/main.db`)
|
|
|
|
### 2. Nginx Configurado
|
|
- **Configuración activa:** `gk-saas.komkida.duckdns.org`
|
|
- **Ubicación:** `/etc/nginx/sites-available/gk-saas.komkida.duckdns.org`
|
|
- **Proxy:** `localhost:5001` (SIN GitHub)
|
|
- **Estado:** ✅ Funcionando
|
|
|
|
### 3. Dominio Remoto
|
|
- **URL:** `http://gk-saas.komkida.duckdns.org`
|
|
- **DuckDNS Token:** `9c5cff88-b6d7-4704-9b10-4a69afdff797`
|
|
- **IP Raspberry:** `213.195.104.66`
|
|
- **NOTA:** Este dominio NO tiene relación con GitHub
|
|
|
|
## 📁 ESTRUCTURA EN RASPBERRY
|
|
|
|
```
|
|
/home/pi/gkachele-saas/
|
|
├── app.py # Flask backend
|
|
├── database/
|
|
│ ├── main.db # DB principal
|
|
│ └── sites/ # DBs por cliente
|
|
├── sites/ # Sitios compilados
|
|
├── themes/ # Templates
|
|
│ ├── gimnasio-claro/
|
|
│ └── restaurante-moderno/
|
|
├── static/
|
|
│ └── style.css # CSS landing real
|
|
└── templates/
|
|
├── landing_real.html # Landing GKACHELE™
|
|
├── register.html
|
|
├── login.html
|
|
├── dashboard.html
|
|
├── customizer.html
|
|
└── admin.html
|
|
```
|
|
|
|
## 🔧 CONFIGURACIÓN NGINX
|
|
|
|
### Archivo activo:
|
|
`/etc/nginx/sites-available/gk-saas.komkida.duckdns.org`
|
|
|
|
```nginx
|
|
server {
|
|
listen 80;
|
|
server_name gk-saas.komkida.duckdns.org;
|
|
location / {
|
|
proxy_pass http://localhost:5001;
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Proto $scheme;
|
|
}
|
|
}
|
|
```
|
|
|
|
## 🔐 CREDENCIALES
|
|
|
|
### Raspberry Pi
|
|
- **Host:** `komkida.duckdns.org` o `192.168.1.134`
|
|
- **Puerto SSH:** 2222
|
|
- **Usuario:** `pi`
|
|
- **Password:** `Gdk1983gdk45@`
|
|
|
|
### DuckDNS
|
|
- **komkida.duckdns.org:** Token `9c5cff88-b6d7-4704-9b10-4a69afdff797`
|
|
- **gkachele.duckdns.org:** Token `578331b3-ad7b-4154-835d-e496465257b0`
|
|
|
|
## 🚀 COMANDOS ÚTILES
|
|
|
|
### Actualizar DuckDNS
|
|
```bash
|
|
python3 -c "import urllib.request; print(urllib.request.urlopen('https://www.duckdns.org/update?domains=komkida&token=9c5cff88-b6d7-4704-9b10-4a69afdff797&ip=').read())"
|
|
```
|
|
|
|
### Verificar Flask
|
|
```bash
|
|
curl http://localhost:5001/
|
|
```
|
|
|
|
### Recargar Nginx
|
|
```bash
|
|
sudo nginx -t && sudo systemctl reload nginx
|
|
```
|
|
|
|
### Ver logs
|
|
```bash
|
|
tail -f /var/log/nginx/gk-saas-access.log
|
|
tail -f /var/log/nginx/gk-saas-error.log
|
|
```
|
|
|
|
## ⚠️ IMPORTANTE
|
|
|
|
- **NO usar GitHub:** Todo es independiente en Raspberry
|
|
- **Dominio principal:** `gk-saas.komkida.duckdns.org` (NO `gkachele.duckdns.org`)
|
|
- **Raspberry Pi 3:** Recursos suficientes para SaaS pequeño
|
|
- **SQLite:** Base de datos ligera, perfecta para Pi
|
|
|
|
## 📝 PRÓXIMOS PASOS
|
|
|
|
1. ✅ Instalar Gitea en Raspberry (opcional)
|
|
2. ✅ Automatizar DuckDNS (cron cada 5 min)
|
|
3. ✅ Crear servicio systemd para Flask
|
|
4. ✅ Configurar SSL/HTTPS (Let's Encrypt)
|
|
|
|
## 🎯 FLUJO COMPLETO
|
|
|
|
```
|
|
Cliente → gk-saas.komkida.duckdns.org
|
|
↓
|
|
Nginx (puerto 80)
|
|
↓
|
|
Flask (puerto 5001)
|
|
↓
|
|
SQLite (database/)
|
|
↓
|
|
Landing/SaaS funcionando
|
|
```
|
|
|
|
---
|
|
**Última actualización:** 13 Enero 2025 - 15:58
|