Skip to content

Instantly share code, notes, and snippets.

@frecuencialibre
Last active March 23, 2020 03:00
Show Gist options
  • Save frecuencialibre/2a0d7447dac04642a1b72d74f527ddd4 to your computer and use it in GitHub Desktop.
Save frecuencialibre/2a0d7447dac04642a1b72d74f527ddd4 to your computer and use it in GitHub Desktop.
Pasos a seguir para instalar LibreTime con docker

Hola compas, aquí va un intento continuo de documentar nuestro proceso de poner en marcha LibreTime para la Frecuencia Libre 99.1 en San Cristobal de las Casas, Chiapas. Favor de dejar sus preguntas/dudas/sugerencias un comentario aqui. ¡Ánimo!

CONFIGURAR SERVIDOR

Como colectivo de radio nuestra experiencia con las compus ha sido de prueba y mucho error. :) Perdimos mucho tiempo con compus viejas donadas que se nos descomponían cada rato, con compus asambladas de componentes porque luego no jalaban con linux, con otra de marca apple que tambien tenia pedos con el linux por su sistema particular de booteo. Al final compramos en mercadolibre por $MX3000 un servidor marca HP de 2011 que oficialmente soporta linux. Los de marca Dell también son buenos. No tiene que ser servidor, puede ser un cpu común. Vemos necesario un mínimo de 8gb de RAM y suficiente disco rígido para que quepa todo su sonoteca de música etc.

1. Instalar sistema operativo base.

Al servidor HP le pusimos Debian 9.5 con particionado guiado con LVM.

2. Poner etckeeper (opcional)

etckeeper es una herramienta para para poder controlar con git la configuracion del servidor. si te late usar git para poder monitorear y posiblmente revertir la configuración en caso de problemas, lo instalas así:

sudo apt install etckeeper

3. Controlar la conexión red del servidor manualmente

Aprendemos que es necesario desactivar daemon del GUI para evitar conflictos, especialmente al reiniciar la máquina.

sudo systemctl stop NetworkManager.service

sudo systemctl disable NetworkManager.service

Al deshabilitar NetworkManager, vemos la resolucion DNS ya no funcionaba, ya que /etc/resolv.conf era un symlink: resolv.conf -> /var/run/NetworkManager/resolv.conf

entonces, tuvimos que re-crearlo:

sudo rm /etc/resolv.conf

sudo nano /etc/resolv.conf

y ponerle solo una linea, con el ip de un nameserver:

nameserver 1.1.1.1

4. Ponerle al servidor una IP fija y una red "puente" para el uso de las maquinas virtuales que tendrá

La IP fija nos va a servir para poder acceder con ssh remotamente, ya que configuramos el modem para mandar el puerto 22 (ssh) a un determinado puerto (Ver Configurar Modem abajo). Elegimos 192.168.1.10 aquí pero podria ser cualquiera dentro de la LAN. mas info: https://linuxconfig.org/how-to-setup-a-static-ip-address-on-debian-linux

Entonces primero necesitamos instalar un paquete que nos va a hacer poder hacer "puentes" de red:

sudo apt install bridge-utils

Ahora necesitamos saber el ID del depositivo red ethernet del servidor. debe de ser algo así como enp*** corriendo

ip address

nos da un chorro de cosas, entre ellas ese ID. en el servidor HP es enp2s0f0 pero van a tener que ponerle el de su máquina.

ahora vamos a editar el archivo de configuracion del interfaz de la red de debian:

sudo nano /etc/network/interfaces

al final el servidor HP quedó así:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

auto enp2s0f0
iface enp2s0f0 inet static
  address 192.168.1.10
  broadcast 192.168.1.255
  netmask 255.255.255.0
  gateway 192.168.1.254
  dns-nameservers 1.1.1.1

Despues de haber hecho el cambio, hay que comprobar que funcionó sin problemas con el comando:

sudo service networking restart

Debe de correr sin error. Se puede ver si ya quedó la ip fija corriendo de nuevo el commando ip address. Ahora a re-iniciar la máquina

Si no, y especialmente si han hecho cambios varias veces hay posibilidad de que se necesita purgar el depositivo red para luego intentar reiniciar el servicio networking de nuevo. sudo ip addr flush dev br0

5. Mapear un dominio (eg. https://libretime.pagina-de-su-radio.org) a la IP no-fija del modem

No tenemos recursos para contratar una conexión al internet con IP fija, así que tenemos usar una herramienta que acceder al servidor desde otros lados aunque cambie el IP del modem de la cabina al reiniciar el modem o caer el internet etc.

Primero, a instalar ddclient: sudo apt install ddclient

luego a poner los datos de nuestra cuenta en el proceso de instalación. *** falta escribir: conseguir cuenta para usar ddclient ***

CONFIGURAR MODEM

El modem (telmex, en nuestro caso) tiene que estar configurado para direccionar solicitudes de afuera, como de cargar la interfaz web LibreTime, o de ingresar via SSH, al IP del servidor. Para modem telmex, estando conectado a la red del mismo modem que quieres configurar, vas a http://192.168.1.254, y ingresas con usuario TELMEX, y la contraseña que usas para conectar al wifi. La interfaz de configuración del modem nuestro se ve así:

Screenshot from 2019-04-03 10-30-42

Además, le agregamos una regla DNS para que las computadoras conectados a la red local (como la compu en cabina), al cargar la dirección que se usa desde afuera de la red local, cargan desde el servidor. De nuevo como se ve:

Screenshot from 2019-04-03 10-28-41

Ojo que esta configuración se perdiria si alguien resetea el modem.

INSTALL DOCKER

*** falta escribir: que es docker ***

  1. Instalar docker en el servidor seguiendo los pasos en la documentación oficial

  2. Instalar docker-compose en el servidor seguiendo pasos en la documentación oficial

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment