Imagen Docker lista para usar con cloudflared precompilado para arquitectura ARMv7 32-bit.
251
Imagen Docker lista para usar con cloudflared precompilado para MikroTik RB3011 y otros routers con arquitectura ARMv7 32-bit corriendo RouterOS v7.x con el paquete container.
Solo necesitás cargar el token del túnel de Cloudflare. El resto ya viene resuelto.
cloudflared de Cloudflare ya instaladoEn Cloudflare Zero Trust Dashboard → Networks → Tunnels → Create tunnel → copiá el token (empieza con eyJ...).
# Configurar el registry de Docker Hub
/container/config
set registry-url=https://registry-1.docker.io tmp-dir=slot1/tmp
# Agregar variable de entorno con el token
/container/envs
add list=cloudflared name=TUNNEL_TOKEN value="eyJhIjoiTU_TOKEN_AQUI..."
# Crear el contenedor
/container
add remote-image=signoli/cloudflared-rb3011:latest \
name=cloudflare-tunnel \
interface=veth-cloudflare \
root-dir=slot1/cloudflared \
envlist=cloudflared \
start-on-boot=yes
/container/start [find name=cloudflare-tunnel]
# Ver logs para confirmar
/container/shell cloudflare-tunnel
# o desde el log del sistema
/log/print where topics~"container"
Listo. El túnel queda activo y arranca solo con el router.
Si ya tenés el setup de red del contenedor armado, saltá esta sección.
/system/package/print
# Debe aparecer "container" en la lista
Si no lo tenés: descargar de mikrotik.com/download el paquete container para tu arquitectura, subirlo al router y reiniciar.
# 1. Bridge dedicado para contenedores
/interface/bridge
add name=docker-bridge
# 2. Red 172.17.0.0/24 con el router como gateway
/ip/address
add address=172.17.0.1/24 interface=docker-bridge
# 3. Interfaz virtual VETH para el contenedor
/interface/veth
add name=veth-cloudflare address=172.17.0.2/24 gateway=172.17.0.1
# 4. Asociar la VETH al bridge
/interface/bridge/port
add bridge=docker-bridge interface=veth-cloudflare
# 5. NAT masquerade para que el contenedor salga a internet
/ip/firewall/nat
add chain=srcnat src-address=172.17.0.0/24 action=masquerade
/system/device-mode/update container=yes
# Confirmar presionando el botón físico del router cuando lo pida
/container/envs/add list=cloudflared name=TUNNEL_TOKEN value="eyJ..."
/container/add remote-image=signoli/cloudflared-rb3011:latest \
name=cloudflare-tunnel \
interface=veth-cloudflare \
root-dir=slot1/cloudflared \
envlist=cloudflared
Ventajas: el token no queda en el campo cmd del contenedor, más fácil de rotar.
/container/add remote-image=signoli/cloudflared-rb3011:latest \
name=cloudflare-tunnel \
interface=veth-cloudflare \
root-dir=slot1/cloudflared \
cmd="tunnel --no-autoupdate run --token eyJ..."
⚠️ El
ENTRYPOINTde la imagen ya invocacloudflared, así que encmdno hay que repetir/usr/local/bin/cloudflared.
/container/print
# Debe mostrar status=running
/container/shell cloudflare-tunnel
# Una vez adentro, los logs van por stdout del entrypoint
O desde el log de RouterOS:
/log/print where topics~"container"
En el dashboard de Zero Trust → Networks → Tunnels debería figurar como HEALTHY en pocos segundos.
| Problema | Causa probable | Solución |
|---|---|---|
no such image al hacer add | Registry mal configurado | Verificar /container/config print → registry-url=https://registry-1.docker.io |
manifest unknown | Arquitectura incorrecta | Esta imagen es solo ARMv7. Confirmá con /system/resource/print → architecture-name: arm |
| Contenedor arranca y muere | Token inválido o sin definir | Verificar la env var con /container/envs/print |
| Sin acceso a internet desde el contenedor | Falta NAT o gateway | Revisar /ip/firewall/nat/print y la IP de la VETH |
no space left on device | Memoria flash llena | Eliminar imágenes viejas: /container/print y /container/remove |
| Tag | Descripción |
|---|---|
latest | Última versión estable de cloudflared sobre Alpine 3.20 |
YYYY.MM.X | Versión específica de cloudflared (ej: 2025.1.0) |
| Parámetro | Valor |
|---|---|
| Imagen base | arm32v7/alpine:3.20 |
| Arquitectura | linux/arm/v7 |
| Binario | cloudflared-linux-arm (Cloudflare oficial) |
| Tamaño aprox. | ~30 MB |
| Hardware testeado | MikroTik RB3011UiAS |
| RouterOS | v7.20.1+ con paquete container |
Imagen basada en el procedimiento manual documentado para desplegar cloudflared en MikroTik RB3011 vía Alpine + instalación manual del binario. Esta imagen automatiza ese flujo: ya viene todo precompilado, solo hace falta el token.
cloudflared es de Cloudflare, Inc. bajo licencia Apache 2.0. Este wrapper se distribuye sin garantías.
Content type
Image
Digest
sha256:d662db137…
Size
20 MB
Last updated
2 months ago
docker pull signoli/cloudflared-rb3011