Saltar a contenido

Instalación

Preparación del Entorno

Antes de iniciar el despliegue del sistema, es necesario preparar el entorno en el servidor o máquina local que actuará como host. A continuación, se detallan los pasos para instalar las herramientas necesarias y configurar las variables de entorno requeridas para el funcionamiento de JokeAppWeb.

Instalación de herramientas necesarias

Para preparar el entorno de ejecución del sistema JokeAppWeb, es necesario instalar una serie de herramientas que permitirán la orquestación de servicios, gestión de contenedores, configuración del firewall, y exposición del sistema a través de la red. A continuación, se detallan los pasos necesarios.

Se debe contar con privilegios de superusuario para instalar estas herramientas.

Actualización del sistema

Se recomienda comenzar actualizando el sistema para contar con las últimas versiones de los paquetes disponibles:

sudo apt update
sudo apt upgrade

Instalación de Git

Git fue el sistema de control de versiones utilizado para gestionar el código fuente de la aplicación. Para instalarlo, se ejecutó:

sudo apt install git

Instalación de Docker y Docker Compose

Docker es el motor de contenedores que se emplea para ejecutar tanto el backend como la base de datos y otras dependencias de la aplicación. Se instala usando el script oficial:

curl -sSL https://get.docker.com | sh

Luego, se agrega el usuario actual al grupo docker para evitar usar sudo en cada comando:

sudo usermod -aG docker $USER

Importante: se debe cerrar y volver a iniciar sesión para que este cambio tenga efecto.

Habilitar el servicio de Docker al arranque del sistema:

sudo systemctl enable docker

Verificar que Docker esté correctamente instalado:

docker run hello-world

Instalar el complemento oficial de Docker Compose (para versiones modernas):

sudo apt install docker-compose-plugin

Instalación de Nginx

Aunque el despliegue externo se realiza mediante túneles de Cloudflare, se instala Nginx como servidor web auxiliar y para futuras configuraciones de proxy inverso:

sudo apt install nginx
sudo systemctl start nginx
sudo systemctl enable nginx

Instalación de UFW (Firewall)

El firewall UFW se emplea para permitir únicamente las conexiones necesarias hacia el servidor:

sudo apt install ufw

Instalación del cliente DDNS No-IP

Para mantener el dominio enlazado a una IP pública dinámica, se instala el cliente No-IP:

wget --content-disposition https://www.noip.com/download/linux/latest
tar xf noip-duc_3.3.0.tar.gz
cd noip-duc_3.3.0/binaries
sudo apt install ./noip-duc_3.3.0_arm64.deb  

Instalación de Cloudflared (cliente de túneles de Cloudflare)

Para exponer de forma segura la aplicación frontend sin abrir puertos en el router ni configurar certificados SSL manualmente, se emplea Cloudflare Tunnel. El cliente cloudflared se instala de la siguiente manera:

curl -L https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-archive-keyring.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/cloudflare-archive-keyring.gpg] https://pkg.cloudflare.com/cloudflared $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/cloudflared.list
sudo apt update
sudo apt install cloudflared -y