暫無描述

David 79bfa7e110 mas doc 10 年之前
css 06779350b9 mas doc 10 年之前
cursos-ng @ 96290218a0 478c7dbda1 Initial commit 10 年之前
eba_os @ 61519fc09c 478c7dbda1 Initial commit 10 年之前
imagenes 1b62809c48 agrego 1 imagen 10 年之前
imagenes_xml 417dcc5bd3 agrego src de imagen 10 年之前
sdl-py @ ee913401e1 478c7dbda1 Initial commit 10 年之前
.gitignore 79bfa7e110 mas doc 10 年之前
.gitmodules 478c7dbda1 Initial commit 10 年之前
Makefile 79bfa7e110 mas doc 10 年之前
README.md 79bfa7e110 mas doc 10 年之前
autobuilder.sh 79bfa7e110 mas doc 10 年之前

README.md

#Overview 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

$ 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