paint-brush
Configure su propia nube similar a Heroku (PAAS) en 10 minutos: una guía de inicio rápidopor@onteri
711 lecturas
711 lecturas

Configure su propia nube similar a Heroku (PAAS) en 10 minutos: una guía de inicio rápido

por Paul Onteri2022/04/06
Read on Terminal Reader
Read this story w/o Javascript

Demasiado Largo; Para Leer

Al crear nuevos proyectos, suele ser molesto configurar repetidamente cosas como servidores web, bases de datos, etc. Suele ser costoso o tedioso de configurar y administrar. Ahí es donde entraron los PAAS de código abierto. Son gratuitos y, a menudo, tienen una implementación de aplicaciones/bases de datos y un administrador de servidores web fáciles de usar”.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Configure su propia nube similar a Heroku (PAAS) en 10 minutos: una guía de inicio rápido
Paul Onteri HackerNoon profile picture

Al crear proyectos, una de las partes molestas es configurar cosas como servidores web, bases de datos relacionales, almacenamiento en caché, etc. A menudo es costoso (Heroku cobra $ 25 / mes por su instancia de 1 GB, el mismo servidor cuesta 5 / mes en DigitalOcean) o tedioso para configurar y administrar. Ya no disfruto pasar horas y días configurando un servidor, creando herramientas, enviando código al servidor, construyéndolo, obteniendo un certificado SSL, instalándolo, actualizando nginx una y otra vez cada vez que tengo un nuevo proyecto.


Ahí es donde entraron los PAAS de código abierto. A menudo tienen una implementación de aplicación/base de datos y un administrador de servidor web extremadamente fáciles de usar. Ejemplos: caprover , Dokku , etc.


Por ejemplo, con CapRover, puede alojar lo siguiente con un solo clic:

  • Bases de datos y GUI de bases de datos. Por ejemplo, PostgreSQL, Redis, MySQL, MongoDB, etc.
  • Soluciones de alojamiento de correo electrónico, boletines y listas de correo.
  • Atención al cliente, CMS, ERP, CRM, LMS y soluciones de facturación.
  • Analítica
  • Blogging y contenido. Por ejemplo: Ghost, Jekyll, WordPress, etc.
  • CI/CD
  • Herramientas de desarrollo (supervisión, notificaciones, acortadores de URL, copias de seguridad, etc.)
  • Almacenamiento en la nube, FTP y servidores de medios
  • Clientes de torrents
  • Servidores de documentos (documentos de texto, hojas de cálculo y presentaciones)
  • Y más
  • Literalmente cualquier cosa envuelta en un contenedor Docker

Requisitos:

  • Poseer un dominio.
  • Tener cierta familiaridad con la nube, Linux y Docker.

Obtener servidor e instalar Docker

Configurar un VPS de Ubuntu

Buenos proveedores:

Crear instancia de VPS

Usaré la máquina virtual gratuita ( Motor de cómputo ) de Google Cloud Platform. Siéntete libre de usar cualquier otro.

en GCP

Cree una instancia de Ubuntu desde el Panel de GCP .

Crear instancia de VPSCrear instancia de VPSCrear instancia de VPS

Configurar cortafuegos

Agregue reglas de firewall para permitir el tráfico de red de lo siguiente:

  • 80 TCP para conexiones HTTP regulares
  • 443 TCP para conexiones HTTPS seguras
  • 3000 TCP para la instalación inicial (se puede bloquear una vez conectado a un dominio)
  • 7946 TCP/UDP para detección de redes de contenedores
  • 4789 TCP/UDP para red de superposición de contenedores
  • 2377 TCP/UDP para la API de enjambre de Docker
  • 996 TCP para conexiones HTTPS seguras específicas de Docker Registry

En el caso de un servidor ubuntu, ejecute

 ufw allow 80,443,3000,996,7946,4789,2377/tcp; ufw allow 7946,4789,2377/udp;

Su proveedor de VPS puede tener una forma diferente de configurar el firewall.

en GCP

En el caso de GCP, podemos crear reglas de firewall desde el Tablero de redes :

Tenga en cuenta que he creado un caprover de etiqueta de red que usaremos a continuación.


Configurar cortafuegos

Desde el Tablero de Compute Engine , edite la máquina virtual que creamos, agregando la etiqueta de red caprover .

Configurar cortafuegos

Instalar ventana acoplable

SSH en la máquina virtual e instale Docker.

Esto se puede hacer usando el get guion de conveniencia :

 curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh

Salida de muestra:

Instalar ventana acoplable

Configurar CapRover

Instalar CapRover en el servidor

Ejecute lo siguiente para instalar CapRover:

 sudo docker run -p 80:80 -p 443:443 -p 3000:3000 -v /var/run/docker.sock:/var/run/docker.sock -v /captain:/captain caprover/caprover

NOTA: no cambie las asignaciones de puertos. CapRover solo funciona en los puertos especificados.


Verá un montón de salidas en su pantalla. Una vez que se inicializa CapRover, puede visitar http://[IP_OF_YOUR_SERVER]:3000 en su navegador e iniciar sesión en CapRover con la contraseña predeterminada captain42 . Puede cambiar su contraseña más tarde. Sin embargo, no realice ningún cambio en el tablero. Usaremos la herramienta de línea de comandos para configurar el servidor.

Configurar DNS

Digamos que eres dueño de mydomain.com . Establezca *.something.mydomain.com como un A-record en su configuración de DNS para apuntar a la dirección IP del servidor donde instaló CapRover.

Encuentra más información aquí .

Instale CapRover CLI en su máquina local

 npm install -g caprover

Complete la configuración de CapRover e inicie sesión en el panel

Configuración completa de CapRover

Ejecute lo siguiente en su máquina local:

 caprover serversetup

Siga los pasos e inicie sesión en su instancia de CapRover. Cuando se le solicite ingresar el dominio raíz, ingrese something.mydomain.com suponiendo que configuró *.something.mydomain.com para que apunte a su dirección IP en el paso #Configurar DNS. Ahora puede acceder a su CapRover desde captain.something.mydomain.com e iniciar sesión.

Iniciar sesión en el panel

Visite el panel de control de CapRover en http://captain.something.mydomain.com e inicie sesión con la contraseña que configuró en el paso anterior.

Iniciar sesión en el panel

Instale las aplicaciones de un clic desde el panel

Instale las aplicaciones de un clic desde el panel

Fuentes y más información