説明なし

David f38779d8f5 create pdf 9 年 前
configs 7114714633 configs VPS 10 年 前
css 4370888745 style 10 年 前
cursos-ng @ 96290218a0 478c7dbda1 Initial commit 10 年 前
eba-ng @ 6c3d7507f7 e81ec35a6f docs+make 10 年 前
eba_os @ 61519fc09c 478c7dbda1 Initial commit 10 年 前
imagenes 5d645681b2 merge 10 年 前
imagenes_xml e81ec35a6f docs+make 10 年 前
sdl-py @ ee913401e1 478c7dbda1 Initial commit 10 年 前
.gitignore e81ec35a6f docs+make 10 年 前
.gitmodules e81ec35a6f docs+make 10 年 前
Makefile 74ae96796b transmision 10 年 前
README.md 9efa9cf09f misc+formato 9 年 前
SOFTWARE.md 4370888745 style 10 年 前
TRANSMISION.md 74ae96796b transmision 10 年 前
autobuilder.sh e81ec35a6f docs+make 10 年 前
makepdf.sh f38779d8f5 create pdf 9 年 前

README.md

Overview

Infraestructura \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 ~/snowmix/camera1/cam.py inicializa la camara y hace streaming por UDP a los clientes suscriptos. Por default es solo 192.168.2.120 (nginx-rtmp). Se pueden suscribir con echo cliente=IP:PUERTO. Script ~/snowmix/camera1/mic-to-udp.sh inicializa el microfono y hace streaming por UDP a 192.168.2.120 (nginx-rtmp). nginx-rtmp procesa el stream (snowmix), grabando tanto la copia 'procesada' a disco (/home/nginx/processed/) y transmite a VPS-01.

Conversion de diapositivas

Plataforma => Subir PDF

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.
Control: Plataforma => Canvas

Dispositivos

PFSense

IP: 192.168.2.1
Usuario: pfsense
pwd: pfsense
Notas: Default a WAN2 (Fibertel), fallback a WAN (Telecentro)

AP-01

IP: 192.168.2.2
Usuario: root
pwd: howdoiturnthison
Wifi: ESPECIFICOS
Clave Wifi: 1q2w3e4R

AP-02

IP: 192.168.2.11
Usuario: admin
pwd: admin
Wifi: ESPECIFICOS-Profesores
Clave Wifi: salander

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 (web, standard)
    • 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.2.123)
Specs: FX6300 (6 Core), 2GB Ram
Tipo: Fisico
Login: ssh (root) con pubkey
OS: Debian Jessie

Procesos:

  • proxmox
  • nginx
    • web (facturacion)
  • 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 )

nginx-rtmp

IP: 192.168.2.120
Tipo: lxc
Login: users root/nginx, pkey
OS: Debian Jessie
Procesos:

  • snowmix ( proceso de varios stream multimedia, reencode, forward a nginx )
  • nginx-rtmp (graba curso en vivo, forward a VPS-01)
  • especificos-videos (post-processing de videos del curso)

nginx-rproxy

IP: 192.168.2.154
Tipo: lxc
Login: root / pkey
Procesos:

  • reverse-proxy a
    • RPI (wscasa)
    • guacamole (remote.especificosba.com.ar)
    • facturacion (casa.especificosba.com.ar)
    • editor de video (video.especificosba.com.ar) .. etc

Raspberry Pi

IP: 192.168.2.208
Tipo: Fisico / Pi
Login: curso / curso
OS: Debian Jessie
Procesos:

  • wsserver (control de.. todo)
  • 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

Agenda diaria

  • mtr especificosba.com.ar para probar nodos
  • speedtest-cli para probar velocidad
  • ssh root@especificosba.com.ar df -h
  • ssh root@192.168.1.123 df -h
  • Pilas en presentador (2x AAA)
  • Pilas en microfonos (2x AA cu)

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).
  • Que pasa si muere el server? Sin servidor no hay vida (internet, cursos, lan)