Giter VIP home page Giter VIP logo

wilodev-server's Introduction

Configuración de la aplicación.

Para configurar la aplicación, se debe crear un archivo llamado env en cada uno de los directorios (traefik, php, commons) con las variables de entorno que se deseen configurar.

Variables de entorno

Antes de iniciar la construcción de cada docker debes cambiar el nombre de cada proyecto.

PROJECT_NAME=NOMBRE_DEL_PROYECTO

PROJECT_BASE_URL=URL_BASE_SERVER (ej: wilodev.localhost)

Ruta de los volumenes

Este apartado es donde se almacena el contenido de los volumenes (archivos, directorios,etc) que se utilizan en la aplicación.

PATH_BASE=PATH_SERVER

Versiones, Tag y Url

Este apartado es donde se almacena el nombre del contenedor, imagen y url que usaremos en el navegador para acceder al servicio.

Como ejemplo ponemos el servicio de adminer, este servicio nos permite tener en el navegador un acceso gráfico a las bases de datos de la aplicación.

ADMINER_TAG=NOMBRE_DEL_CONTENEDOR ADMINER_VERSION=VERSION_DE_LA_IMAGEN ADMINER_URL=PREFIJO_URL_SERVER

Certificados SSL / HTTPS

Todas los servicios estan configurados de forma que se pueda acceder a ellos con https, pero antes de iniciar la construcción de cada docker debes configurar el certificado SSL.

Instalación de certificados

Para seguir los videos debemos instalar el servicio de mkcert, este servicio nos permite generar certificados SSL.

Mkcert GitHub

Cuando ya tienes configurado todo como en el repositorio de github, debes ejecutar el siguiente comando para generar el certificado SSL.

cd traefik/config/certs/ && mkcert "*.wilodev.localhost" localhost wilodev.localhost 127.0.0.1 ::1

Recuerda que el dominio interno es lo que tenemos configurado en el archivo env en la variables de entorno PROJECT_BASE_URL.

NOTA: Eliminar el archivo ssl.txt después de generar el certificado.

Construcción de Docker

Después de configurar todo lo anterior, debemos iniciar la construcción de cada docker.

Traefik

Es un proxy inverso y balanceador de carga que se integra nativamente con Docker y Kubernetes.

En este caso debemos acceder a la carpeta de traefik y ejecutar la construcción.

NOTA para generar estos datos usar esta web: https://hostingcanada.org/htpasswd-generator/

cd traefik/ && docker-compose up -d

Al terminar la construcción del docker podemos ingresar al navegador y verificar que el servicio esta funcionando.

https://traefik.wilodev.localhost

Con esta URL nos pedirá un usuario y contraseña que esta en el archivo .env de la carpeta traefik.

Commons

En este apartado es donde ejecutaremos todos los servicios que usaremos entre las diferentes aplicaciones.

En este caso debemos acceder a la carpeta de commons y ejecutar la construcción.

cd commons/ && docker-compose up -d

Al terminar la construcción del docker podemos ingresar al navegador y verificar que el servicio esta funcionando.

https://adminer.wilodev.localhost https://pma.wilodev.localhost

NOTA: En la carpeta config podremos cambiar la configuración la cuota de subida y el archivo bashrc, El .bashrc es un script que se ejecuta cada vez que se inicia una nueva sesión de terminal

Symfony

En este apartado es donde ejecutaremos el serivicio de php 8 con soporte para symfony

En este caso debemos acceder a la carpeta de php y ejecutar la construcción.

cd php/symfony/ && docker-compose up -d

Al terminar la construcción del docker podemos ingresar al navegador y verificar que el servicio esta funcionando.

https://shop.wilodev.localhost

NOTA: En la carpeta config podremos cambiar la configuración la cuota de subida, archivo de configuración del apache2, el archivo xdebug y el archivo bashrc, El .bashrc es un script que se ejecuta cada vez que se inicia una nueva sesión de terminal

Symfony 6 (Actualizado)

Si deseas crear un proyecto con un symfony 6 y ya tener todo el entorno funcional debes acceder a la carpeta symfony6 y cambiar el archivo .env con los datos que sean necesarios.

Además debes copiar en la carpeta config tus certificados generados en traefik y borrar el archivo ssl.txt .

Luego debes editar el archivo app.conf y cambiar el server_name por el dominio que tengas configurado en el archivo .env. Después cambias la ruta de tu proyecto y su prefix, para finalizar cambias el nombre de tus archivos ssl y listo.

cd symfony6/ && sh wilodev_symfony.sh

docker exec -it NOMBRE_DEL_CONTENEDOR_DOCKER /bin/bash

syinit {NOMBRE_DEL_PROYECTO}

Opción: Y

Con esto se tiene un proyecto con symfony 6

Balancer

Para poder ejecutar multiples instancias de un contenedor podemos usar un balancer.

Si se desea probar el escalamiento de alguno de los servicio solo deben usar el balancer.

docker-compose up -d --scale nombre servicio (sy6)=numero de veces a escalar

Ejemplo:

docker-compose up -d --scale sy6=5

Con esto escalas a 5 servicios del server de sy6 es decir cada petición realizada a este servicio se redirecciona (5 servidores creados).

wilodev-server's People

Contributors

wp-wilsonperez avatar wilodev avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.