WinterCMS

Si has leído nuestros artículos previos, te habrás enterado que OctoberCMS ha generado un nuevo esquema de pagos y esto origino una ruptura interna entre los colaboradores del proyecto quienes quienes lanzaron WinterCMS una derivación del actual OctoberCMS.

 

Varios desarrolladores que hemos usado este CMS también han optado por mirar y  migrar sus proyectos a este nuevo Administrador de Contenido, y por ello me he unido para proveer de las primeras imágenes Docker de WinterCMS de forma gratuita.

 

Para generar dichas imágenes me base en el código  proporcionado por @aspendigital, haciendo una derivación para generar el CI  con Codefresh un SaaS al que le he confiado varios de mis pipelines desde hace mas de 2 años.

 

Al momento de escribir este artículo he generado 3 versiones de WinterCMS, v1.1.0, v1.1.2 y v1.1.3 con PHP 7.2 a 7.4 con dos variantes, para apache y fpm; el por que no esta la version 1.1.1 se debe a que generó un error de sqlite al momento de su construcción, por lo que opté por no generar sus respectivas imágenes, así también  las imágenes con PHP 5.6 fueron descartadas , esto debido a que WinterCMS recomienda usar la version PHP 7.2 en adelante.

 

¿Cómo usar la imagen?

La forma rápida

$ docker run -p 80:80 --name winter webmago/winter:latest

Detener la imagen con CTRL-C

$ docker rm winter # Destruye el contenedor

 

Si hay un conflicto con el puerto, recibirás un mensaje de error del daemon Docker. Intenta mapear a un puerto local (-p 8080:80) o apaga el contenedor o servidor que esté usando el puerto deseado.
  • Visita http://localhost usando tu navegador.
  • Ingresa al backend http://localhost/backend con el usuario admin y  password admin.
  • PresionaCTRL-C para detener el contenedor. Ejecutar el contenedor en primer plano enviara los mensajes de log a la terminal.

Ejecutar el contenedor en segundo plano con la opcion -d:

$ docker run -p 80:80 --name winter -d webmago/winter:latest
$ docker stop winter  # Detener el contenedor. Para reiniciar docker start winter
$ docker rm winter  # Destruir el contenedor

Trabajar con archivos locales

 

Usando volumes Docker, es posible montar archivos localmente dentro de un contenedor.
El contenedor usa el directorio de trabajo /var/www/html para el document root del servidor web. Es aquí donde el codigo base de Winter CMS reside dentro del contenedor. Puedes reemplazar archivos y carpetas, o itnroducir nuevos con volumenes montados vinculados:
# Developing a plugin
$ git clone [email protected]:aspendigital/oc-resizer-plugin.git
$ cd oc-resizer-plugin
$ docker run -p 80:80 --rm \
-v $(pwd):/var/www/html/plugins/aspendigital/resizer \
webmago/winter:latest
Ahórrate algunos pulsaciones de teclado, utiliza docker-compose introduciendo un archivo docker-compose.yml a tu proyecto:
# docker-compose.yml
version: '2.2'
services:
  web:
    image: webmago/winter
    ports:
      - 80:80
    volumes:
      - $PWD:/var/www/html/plugins/aspendigital/resizer

 

Con el código arriba mencionado, guardalo en tu directorio de trabajo y ejecutalo:
$ docker-compose up -d # inicia los servicios definidos en `docker-compose.yml` en el fondo
$ docker-compose down # detiene y destruye

 

Estas son algunas formas principales de como usar esta imagen, si requieres una personalización o implementarla en algun cluster Kubernetes contactame.

Tags

Comments are closed

Optimized with PageSpeed Ninja