# Overview ![Infraestructura](imagenes/infraestructura.png "Infraestructura") # Sistemas actuales: ## cursos-ng: Plataforma web. Backend: PHP + Mongo corriendo en VPS Frontend: HTML+AngularJS (v1), tambien en VPS ### Curso en vivo #### Video Stream RTMP -> Flash desde el servidor (VPS). El servidor (VPS) tambien ofrece HLS para HTML5 / mobile, usa ffmpeg para convertir RTMP -> HLS #### Chat / Diapositivas: Websocket conectado a VPS; este servidor de websocket esta conectado al emisor de video, se usa para control de diapositivas. ## eba_os ### Camara Script "cam_rpi.sh", ejecutado sin parametros inicializa la camara y el microfono, hace stream por RTMP al servidor (LAN). El servidor (LAN) procesa el stream, grabando tanto la copia 'cruda' y 'procesada' a disco. Despues la envia al servidor (VPS)
### Conversion de diapositivas Script 'eba\_os/compress.sh' convierte PDF -> PNG y los sube al servidor (VPS), tambien lo copia para el presentador.
## Presentador de diapositivas Toma imagenes PNG 800x600 de ~/images y las muestra en pantalla. Esta conectado por websocket al servidor web (VPS) 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: ? pwd: ? Wifi: ESPECIFICOS-Profesores, ESPECIFICOS-Invitados Clave Wifi: 12345678?, 12345678 ## LoadBalancer-01 IP: 192.168.3.1:8080 Usuario: admin? Clave: admin? *Notas*: Default a Fibertel, fallback a Telecentro; **ESPECIFICAR PUERTOS RJ45 C/U** # Servers ## VPS-01 IP: **especificosba.com.ar** (104.131.31.219) Tipo: VPS (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) ## Server-01 IP: **casa.especificosba.com.ar** (DynDNS: especificosba.us.to, Lan: 192.168.1.123) 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) * motion (camaras) * PHP * web (facturacion) * Mysql * web (facturacion) * NFS (boot RPi) * SMB * CUPS ## 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 por si vuelve a morir algun nodo de ruteo (Como paso con Level 3); esto implica: * Floating IP para las VPS. * Load balancer? * Ambas VPS deben poder loguear usuarios, ver curso en vivo (video, chat, diapos). No es necesario activar escritura en mongo para la(s) replica(s). * Cambiar RPI+ camara a x86 + OBS (que camara? usb?) * 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**