BookinglyTech News
Software

YunCMS 0.1.22 con Docker Compose y MySQL 8.4: despliegue rápido y seguro

El proyecto open‑source de Yunsoft ofrece un archivo docker‑compose que levanta YunCMS, MySQL 8.4 y volúmenes persistentes en un solo paso.

2 min de lecturaDev.to1 vista

YunCMS 0.1.x sigue en fase pre‑estable, por lo que sus interfaces pueden variar entre versiones. La guía oficial publica un docker‑compose que incluye dos servicios – MySQL 8.4 y YunCMS – y dos volúmenes persistentes (mysql-data y yuncms-data). El contenedor YunCMS ya lleva integrado el cliente de MySQL, por lo que no se necesita instalar Node.js ni npm en el host.

Requisitos

Solo hace falta Docker Engine con el plugin Compose (o Docker Desktop). En entornos productivos habrá que añadir almacenamiento persistente y un reverse proxy que termine TLS.

Pasos básicos

  1. Crear un directorio vacío y descargar los archivos oficiales:
    mkdir my-yuncms && cd my-yuncms
    curl -fsSLO https://raw.githubusercontent.com/Yunsoft-Software/yuncms/main/compose.yaml
    curl -fsSL https://raw.githubusercontent.com/Yunsoft-Software/yuncms/main/docker.env.example -o .env
    
    Modificar .env con contraseñas fuertes y, para producción, fijar YUNCMS_IMAGE=yunsoftofficial/yuncms:0.1.22.
  2. Levantar primero MySQL:
    docker compose up -d mysql
    
    Esperar a que el servicio reporte estado healthy.
  3. Inicializar la base de datos y la cuenta de administrador:
    docker compose run --rm yuncms init
    
    Se usan los valores de la variable de entorno para host (mysql), puerto (3306), base (yuncms), usuario (yuncms) y la contraseña definida.
  4. Arrancar el contenedor YunCMS y comprobar la salud:
    docker compose up -d yuncms
    curl http://localhost:3008/ready
    
    La ruta /ready confirma que YunCMS puede comunicarse con MySQL y que los volúmenes están preparados.
  5. Gestionar volúmenes: docker compose down -v elimina ambos volúmenes y con ello la base de datos y los archivos del proyecto. Para una reinstalación segura, mantenga los volúmenes y solo pare los contenedores.
  6. Backups: detener el servicio, ejecutar docker compose run --rm yuncms backup y copiar el archivo fuera del volumen con docker compose cp.
  7. Actualizaciones: no use yuncms update dentro del contenedor. Cambie la etiqueta YUNCMS_IMAGE en .env, ejecute docker compose pull y vuelva a arrancar tras validar /ready.

El stack es compatible con linux/amd64 y linux/arm64, lo que permite usarlo tanto en servidores tradicionales como en máquinas de desarrollo basadas en ARM.

Repositorio oficial en GitHub contiene el código fuente y el issue tracker, mientras que la guía Docker oficial detalla todas las opciones de configuración.

Impacto

Con este enfoque se elimina la necesidad de montar una pila Node.js + MySQL por separado, reduciendo el tiempo de puesta en marcha a minutos. Los equipos de DevOps pueden incluir YunCMS en pipelines de CI/CD usando la misma imagen inmutable, y los administradores de sistemas disponen de un método probado para respaldos y actualizaciones sin romper la disponibilidad.

La única cuestión pendiente es la política de versiones: al estar en pre‑estable, es aconsejable validar cada nueva etiqueta en un entorno de pruebas antes de adoptarla en producción.