Instalar Pi-Hole, UniFi Controller, LibreSpeed y Candy en Mikrotik RouterOS «CHR»
Antes de empezar por favor asegúrese de tener habilitado y activado el paquete Container de RouterOS
Container – RouterOS – MikroTik Documentation
Crear red
Agregamos la interfaz veth1 para Pi-Hole, veth2 para UniFi y veth3 para LibreSpeed
/interface/veth/add name=veth1 address=172.17.0.2/16 gateway=172.17.0.1
/interface/veth/add name=veth2 address=172.17.0.3/16 gateway=172.17.0.1
/interface/veth/add name=veth3 address=172.17.0.4/16 gateway=172.17.0.1
/interface/veth/add name=veth4 address=172.17.0.5/16 gateway=172.17.0.1
/interface/veth/add name=veth5 address=172.17.0.6/16 gateway=172.17.0.1
Creamos un puente, agregamos la interfaces creadas y configuramos el direccionamiento IP
/interface/bridge/add name=dockers
/ip/address/add address=172.17.0.1/16 interface=dockers
/interface/bridge/port add bridge=dockers interface=veth1
/interface/bridge/port add bridge=dockers interface=veth2
/interface/bridge/port add bridge=dockers interface=veth3
/interface/bridge/port add bridge=dockers interface=veth4
/interface/bridge/port add bridge=dockers interface=veth5
Configurar NAT para el tráfico saliente:/ip/firewall/nat/add chain=srcnat action=masquerade src-address=172.17.0.0/16
Definimos los puntos de montaje
Pi-Hole
Agregar variables de entorno para Pi-Hole
/container/envs/add name=pihole_envs key=TZ value="America/Bogota"
/container/envs/add name=pihole_envs key=WEBPASSWORD value="mysecurepassword"
/container/envs/add name=pihole_envs key=DNSMASQ_USER value="root"
/container/mounts/add name=etc_pihole src=disk1/etc dst=/etc/pihole
/container/mounts/add name=dnsmasq_pihole src=disk1/etc-dnsmasq.d dst=/etc/dnsmasq.d
UniFi
/container/mounts/add name=etc_unifi src=disk1/etc dst=/etc/unifi
/container/mounts/add name=dnsmasq_unifi src=disk1/etc-dnsmasq.d dst=/etc/dnsmasq.d
LibreSpeed
/container/mounts/add name=etc_librespeed src=disk1/etc dst=/etc/librespeed
/container/mounts/add name=dnsmasq_librespeed src=disk1/etc-dnsmasq.d dst=/etc/dnsmasq.d
Candy
/container/mounts/add name=etc_caddy src=disk1/etc dst=/etc/caddy
/container/mounts/add name=dnsmasq_caddy src=disk1/etc-dnsmasq.d dst=/etc/dnsmasq.d
Nginx Proxy Manager
/container/mounts/add name=etc_nginx-proxy-manager src=disk1/etc dst=/etc/nginx-proxy-manager
/container/mounts/add name=dnsmasq_nginx-proxy-manager src=disk1/etc-dnsmasq.d dst=/etc/dnsmasq.d
Registrar URL para la descarga remota de los contenedores
Docker Hub Container Image Library | App Containerization)
Set registry-url (para descargar contenedores desde el registro de Docker) :
/container/config/set registry-url=https://registry-1.docker.io tmpdir=disk1/pull
Extraer imágenes
Pi-Hole
/container/add remote-image=pihole/pihole:latest interface=veth1 root-dir=disk1/pihole mounts=dnsmasq_pihole,etc_pihole envlist=pihole_envs
UniFi
/container/add remote-image=linuxserver/unifi-controller:latest interface=veth2 root-dir=disk1/unifi mounts=dnsmasq_unifi,etc_
unifi
envlist=unifi_envs
LibreSpeed
/container/add remote-image=linuxserver/librespeed:latest interface=veth3 root-dir=disk1/librespeed mounts=dnsmasq_librespeed,etc_
librespeed
envlist=librespeed_envs
Candy
/container/add remote-image=caddy:latest interface=veth4 root-dir=disk1/caddy mounts=dnsmasq_caddy,etc_caddy envlist=caddy_envs
Nginx Proxy Manager
/container/add remote-image=jlesage/nginx-proxy-manager:latest interface=veth5 root-dir=disk1/nginx-proxy-manager mounts=dnsmasq_nginx-proxy-manager,etc_nginx-proxy-manager envlist=nginx-proxy-manager_envs
La imágenes se extraerán automáticamente y se extraerán a root-dir, el estado se puede verificar utilizando el siguiente comando
/container/print
Iniciar los contenedores
/container/start 0
/container/start 1
/container/start 2
/container/start 3
/container/start 4
/container/config/set ram-high=1024M
Esto limitará suavemente el uso de RAM: si un uso de RAM supera el límite alto, los procesos del cgroup se limitan y se someten a una fuerte presión de recuperación.
Comentarios
Podrias hacer un tutorial instalando asterisk en mikrotiks containers? desde ya muchas gracias.
Hola Nahuel, los revisaré y te aviso en caso de esto sea posible ya que los contenedores de Mikrotik tienen limitaciones para ejecutar algunos componentes.
agradecido por tu respuesta Jose, voy a estar a la espera del tutorial. desde ya muchas gracias.
Hola, por el momento no se puede ejecutar Asterink en un contenedor de Mikrotik por limitaciones técnicas. Hice algunas pruebas y aunque pude instalar las imágenes de Asterisk ninguno de los contenedores logra arrancar. Dentro de multitud de servicios que he probado en Mikrotik la mayoría no funciona como Apache, PHP, Nginx, MySQL etc. Espero que la gente de Mikrotik nos pueda dar más capacidades en el futuro.