MikroTik CHR con KVM, disco auto-extensible y recursos dinámicos.
10K+
services:
routeros:
image: dayron95/routeros-kvm:latest
container_name: mikrotik
restart: always
# Privilegios necesarios para networking avanzado y KVM
cap_add:
- NET_ADMIN
# Descomenta las siguientes líneas si estás en Linux con soporte KVM
# para obtener el máximo rendimiento (Casi nativo)
# devices:
# - /dev/kvm:/dev/kvm
environment:
# --- Configuración del Sistema ---
- ROUTEROS_VERSION=7.20.6
- DISK_SIZE=1G
- ROUTEROS_RAM=512
- ROUTEROS_CPU=2
# --- Credenciales ---
# Estas se usan para que el comando 'docker exec -it mikrotik-pro terminal'
# pueda entrar automáticamente por SSH interno.
- ROUTEROS_USER=admin
- ROUTEROS_PASSWORD=
# --- Puertos Específicos ---
- PORT_WIREGUARD=13231
- PORT_API_SSL=8729
# --- Puertos Extra Personalizados ---
# Formato: PuertoHost:PuertoGuest:Protocolo, ...
# Ejemplo: "1194:1194:udp, 500:500:udp, 1701:1701:tcp"
- EXTRA_PORTS=
ports:
# Formato: "Puerto_Host : Puerto_Contenedor"
- "22:2222" # SSH (Mapeamos el 22 real al 2222 del contenedor)
- "8291:8291" # Winbox
- "80:8080" # Web (HTTP)
- "443:4433" # Web (HTTPS/SSL)
- "8728:8728" # API (Plain)
- "8729:8729" # API (SSL)
- "13231:13231/udp" # WireGuard
volumes:
# Persistencia de la imagen del router y discos
- ./data:/routeros
# Scripts de auto-configuración (.rsc)
- ./config:/routeros/config
# Configuración de log para no llenar el disco si hay muchos reintentos
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
🚀 Dockerized MikroTik RouterOS (CHR) with KVM Un contenedor Docker de alto rendimiento para ejecutar MikroTik RouterOS (CHR). Diseñado para ser ligero, seguro y extremadamente fácil de configurar mediante variables de entorno. ✨ Características Principales Aceleración KVM Nativa: Detecta automáticamente si /dev/kvm está disponible para ofrecer rendimiento casi nativo. Gestión Inteligente de Puertos: Mapeo dinámico de puertos mediante variables de entorno (TCP/UDP). Auto-Resize: El disco virtual se expande automáticamente al tamaño definido en DISK_SIZE. Auto-Configuración: Inyecta scripts .rsc (MikroTik Scripting) al primer arranque. Terminal Helper: Acceso directo a la consola mediante docker exec. Persistencia Completa: Almacena la imagen y configuraciones en volúmenes externos. 📋 Requisitos SO: Linux (recomendado con soporte KVM) o WSL2 en Windows. Docker & Docker Compose instalados. BIOS: Virtualización (VT-x o AMD-V) habilitada. ⚡ Inicio Rápido Clonar y Construir: code Bash git clone https://github.com/dayron95/mikrotik-docker.git cd mikrotik-docker docker-compose up -d --build Acceso Inicial: Winbox: Puerto 8291 (Host) WebFig (HTTP): Puerto 80 (Host) -> Redirigido al 8080 del contenedor. SSH: Puerto 22 (Host) -> Redirigido al 2222 del contenedor. Usuario: admin | Password: (vacío por defecto). 🛠️ Configuración (Variables de Entorno) Configura tu router desde el archivo docker-compose.yml: Variable Por Defecto Descripción ROUTEROS_VERSION 7.20.6 Versión oficial de MikroTik a descargar. ROUTEROS_RAM 512 RAM asignada (en MB). ROUTEROS_CPU 2 Cantidad de núcleos asignados. DISK_SIZE 1G Tamaño del disco (ej. 512M, 2G, 10G). ROUTEROS_USER admin Usuario para el comando terminal. ROUTEROS_PASSWORD (vacío) Contraseña para el comando terminal. 🔌 Puertos y Redirección El contenedor usa una redirección interna de QEMU. Aquí los mapeos estándar: Servicio Puerto Host Puerto Contenedor Variable de Entorno SSH 22 2222 - Winbox 8291 8291 - Web (HTTP) 80 8080 - Web (HTTPS) 443 4433 - WireGuard 13231 13231 PORT_WIREGUARD API SSL 8729 8729 PORT_API_SSL ➕ Añadir Puertos Personalizados (EXTRA_PORTS) Puedes abrir cualquier puerto adicional usando el formato Host:Guest:Protocolo: code Yaml environment:
Desarrollado por dayron95.
Content type
Image
Digest
sha256:b96b789ad…
Size
165.9 MB
Last updated
7 months ago
docker pull dayron95/routeros-kvm