Esta configuración utiliza variables de entorno (.env), lo que la hace 100% portable. Puedes mover esta carpeta a cualquier servidor y solo tendrás que editar un archivo para que todo funcione.
💡 Concepto Clave: Al usar un archivo
.env, separamos la estructura (el código del compose) de los datos sensibles (tus contraseñas e IPs).
1. Estructura de Archivos
Crea una carpeta para el proyecto y organiza los archivos de la siguiente manera:
komodo/
├── .env # Configuración específica del servidor (IP, Passwords)
├── docker-compose.yml # Definición de los servicios
└── backups/ # Carpeta donde se guardarán los respaldos
2. El Archivo de Configuración (.env)
Este es el único archivo que debes modificar si cambias de servidor. Crea un archivo llamado .env:
# --- CONFIGURACIÓN DE RED ---
KOMODO_URL=http://192.168.204.27:9000
# --- CREDENCIALES INICIALES ---
ADMIN_USER=admin
ADMIN_PASS=admin1234
# --- BASE DE DATOS INTERNA ---
DB_USER=komodo_user
DB_PASS=komodo_pass
# --- SEGURIDAD Y RUTAS ---
JWT_SECRET=una_clave_secreta_muy_larga_123
IMAGE_TAG=latest
BACKUPS_PATH=./backups
3. El Archivo Maestro (docker-compose.yml)
Este archivo es genérico y lee todo del .env. No necesitas editarlo manualmente.
services:
mongo:
image: mongo:latest
container_name: komodo-db
restart: unless-stopped
command: --quiet
volumes:
- mongo-data:/data/db
environment:
MONGO_INITDB_ROOT_USERNAME: ${DB_USER}
MONGO_INITDB_ROOT_PASSWORD: ${DB_PASS}
core:
image: ghcr.io/moghtech/komodo-core:${IMAGE_TAG}
container_name: komodo-core
restart: unless-stopped
depends_on:
- mongo
ports:
- 9000:9120
environment:
KOMODO_DATABASE_ADDRESS: "komodo-db:27017"
KOMODO_DATABASE_USERNAME: ${DB_USER}
KOMODO_DATABASE_PASSWORD: ${DB_PASS}
KOMODO_HOST: ${KOMODO_URL}
KOMODO_JWT_SECRET: ${JWT_SECRET}
KOMODO_LOCAL_AUTH: "true"
KOMODO_ENABLE_NEW_USERS: "true"
KOMODO_INIT_ADMIN_USERNAME: ${ADMIN_USER}
KOMODO_INIT_ADMIN_PASSWORD: ${ADMIN_PASS}
volumes:
- ${BACKUPS_PATH}:/backups
periphery:
image: ghcr.io/moghtech/komodo-periphery:${IMAGE_TAG}
container_name: komodo-periphery
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /proc:/proc
volumes:
mongo-data:
ℹ️ Nota técnica: La variable
KOMODO_HOST es vital. Sin ella, el navegador rechazará el Token JWT por seguridad, impidiendo el inicio de sesión.
4. Despliegue
Ejecuta el siguiente comando en tu terminal dentro de la carpeta:
sudo docker compose up -d
✅ ¡Listo! Espera unos 45 segundos, abre una pestaña en modo incógnito y accede a la URL que definiste en tu archivo
.env.
Comentarios
Publicar un comentario