#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. #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** * Wan: 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**