# Overview ![Infraestructura](imagenes/infraestructura.png) \pagebreak # Sistemas actuales: ## cursos-ng: Plataforma web. Backend: PHP + Mongo corriendo en VPS-01 Frontend: HTML+AngularJS (v1), tambien en VPS-01 ### Curso en vivo #### Video Stream RTMP -> Flash desde VPS-01. VPS-01 tambien ofrece HLS para HTML5 / mobile, usa ffmpeg para convertir RTMP -> HLS #### Chat / Diapositivas: Websocket conectado a VPS-01; este servidor de websocket esta conectado al emisor de video, se usa para control de diapositivas. ## eba\_os ### Camara Script `eba_os/cam_rpi.sh` (ejecutado sin parametros) inicializa la camara y el microfono, hace stream por RTMP a Server-01. Server-01 procesa el stream, grabando tanto la copia 'cruda' y 'procesada' a disco (`/home/nginx/{raw,processed}/`) y transmite la copia procesada a VPS-01.
### Conversion de diapositivas Script `eba_os/compress.sh` convierte PDF -> PNG y los sube a VPS-01, tambien lo copia para el presentador.
## Presentador de diapositivas Toma imagenes PNG 800x600 de `~/slides` y las muestra en pantalla. Esta conectado por websocket a VPS-01 para la sincronizacion de diapositivas en vivo. Se "controla" por la web (Proximamente CANVAS en la plataforma) # Dispositivos ## Router-01 IP: 192.168.1.1 Usuario: root pwd: howdoi Wifi: ESPECIFICOS Clave Wifi: ESPECIFICOSBA ## Router-02 IP: 192.168.1.11 Usuario: admin pwd: admin Wifi: ESPECIFICOS-Profesores, ESPECIFICOS-Curso Clave Wifi: salander, 12345678 ## LoadBalancer-01 IP: 192.168.3.1:8080 Usuario: admin Clave: admin *Notas: Default a WAN1 (Fibertel), fallback a WAN2 (Telecentro)* # Servers ## VPS-01 IP: **especificosba.com.ar** (104.131.31.219) Specs: 2 Core, 2 GB Ram (Version U$D20 DigitalOcean) Tipo: VPS-01 (DigitalOcean) Login: ssh con pk / consola Digital Ocean OS: Debian Jessie Notas: **Va a tener floating IP para hacer failover a otro server en caso de que caiga** Procesos: * nginx * nginx-rtmp (recibe procesado y hace broadcast; convierte a HLS) * PHP * websocket de control * Mongo (plataforma) * Mysql (curso 2014-2015, mailing) * Mumble (Conferencias Ecuador/Peru) * Email (iRedMail) ## Server-01 IP: **casa.especificosba.com.ar** (DynDNS: especificosba.us.to, Lan: 192.168.1.123) Specs: FX6300 (6 Core), 2GB Ram Tipo: Fisico Login: ssh (root) con pubkey OS: Debian Jessie Procesos: * nginx * reverse-proxy a RPI * web (facturacion) * nginx-rtmp (graba curso en vivo, reencode, forward a VPS-01) * motion (camaras) * PHP * web (facturacion) * Mysql * web (facturacion) * NFS * Boot Raspberry Pi * SMB * Home * Compartido * CUPS * Impresora1 ( HP LaserJet 1020 ) * Impresora2 ( Brother DCP-L2540DW, con scanner ) ## Raspberry Pi IP: 192.168.1.208 Tipo: Fisico / Pi Login: curso / curso OS: Debian Jessie Procesos: * PHP (websocket control) * sdl-py (Display diapositivas) * dispmanx\_vnc (control de pantalla) Notas: boot por PXE ```bash $ cat /boot/firmware/cmdline.txt dwc_otg.lpm_enable=0 quiet console=tty2 root=/dev/nfs rootfstype=nfsroot nfsroot=192.168.1.123:/home/rpi,udp,vers=3 rw ip=192.168.1.208:192.168.1.123:192.168.1.1:255.255.255.0:rpi:eth0:off net.ifnames=1 kgdboc=ttyAMA0,115200 elevator=noop rootfstype=ext4 loglevel=3 logo.nologo fastboot noswap systemd.unit=multi-user.target rootwait ``` # Planes * Agregar otra VPS (en otra ubicacion) por si vuelve a morir algun nodo de ruteo (Como paso con Level 3); esto implica: * Load balancer? DBs compartidas o Repilicadas? * Ambas VPS-01 deben poder loguear usuarios, ver curso en vivo (video, chat, diapos). No es necesario activar escritura en mongo para la(s) replica(s). * RAID para el server (Especificos) ? Backup? Que pasa si muere? (Ahora tiene rootfs del RPi, es proxy para los videos.) **Sin servidor no hay transmision** * Cambiar RPI+ camara a x86 + OBS (que camara? usb?)