Logo
Alternative

Guía Docker de Worklenz

Kithmina Gunasinghe
#Guide
Feature image

Contenido: # Guía Docker de Worklenz

La gestión eficiente de proyectos comienza con herramientas que no solo son potentes, sino también fáciles de implementar. Docker, una plataforma líder para la implementación de aplicaciones contenerizadas, está transformando la forma en que las empresas gestionan las instalaciones de software. Al simplificar configuraciones complejas y garantizar la consistencia en diferentes entornos, Docker se ha convertido en una herramienta esencial para los equipos modernos.

Para Worklenz, Docker ofrece una experiencia de implementación sin problemas adaptada a las necesidades tanto de las startups como de las empresas. Con su portabilidad, escalabilidad y eficiente gestión de recursos, Docker elimina los desafíos de las instalaciones tradicionales, permitiendo a los equipos centrarse en lo que realmente importa, lograr el éxito del proyecto.

Descubre cómo la implementación de Worklenz con Docker puede elevar la eficiencia de tu equipo y simplificar tus operaciones de TI.


Tabla de Contenidos


Lo que Necesitas

Antes de comenzar, asegúrate de tener lo siguiente:

Si Docker aún no está instalado, sigue esta guía para configurarlo primero. Si Gitbash aún no está instalado, sigue esta guía para configurar gitbash en tu ordenador

Requisitos mínimos del sistema

Paso 1: Clonar desde el Repositorio

  1. Opción 1: Usar Git para Clonar el Repositorio

Abre tu terminal (o Símbolo del sistema, PowerShell o Git Bash) y ejecuta el siguiente comando para clonar el repositorio en tu máquina local:

git clone https://github.com/Worklenz/worklenz.git 
  1. Opción 2: Descargar los Archivos de la Aplicación

Si Git no está instalado, puedes descargar manualmente los archivos. Visita el repositorio de Worklenz, haz clic en el botón “Code” y selecciona “Download ZIP.” Extrae el archivo ZIP descargado y coloca los archivos en una carpeta llamada worklenz en tu ordenador.

Navega hasta la carpeta del proyecto:

cd worklenz

Paso 2: Preparar el Entorno Docker

Para configurar la aplicación para que se ejecute con Docker, sigue estos pasos:

Crear el Archivo .env

En el directorio del proyecto, navega hasta la carpeta backend y crea el archivo .env copiando la plantilla proporcionada:

cd worklenz-backend && cp .env.template .env

Configurar el Archivo .env con las Credenciales Necesarias


# Servidor
NODE_ENV=development
PORT=3000
SESSION_NAME=worklenz.sid 
SESSION_SECRET="TU_SECRETO_DE_SESION_AQUI"
COOKIE_SECRET="TU_SECRETO_DE_COOKIE_AQUI"

# CORS
SOCKET_IO_CORS=http://localhost:4200
SERVER_CORS=*

# Base de datos
DB_USER=worklenz_backend
DB_PASSWORD=contraseñasegura123
DB_NAME=worklenz_db
DB_HOST=worklenz_db 
DB_PORT=5432
DB_MAX_CLIENTS=50

# Inicio de sesión con Google
GOOGLE_CLIENT_ID="12345.apps.googleusercontent.com"
GOOGLE_CLIENT_SECRET="tu-secreto-de-cliente-de-google"
GOOGLE_CALLBACK_URL="http://localhost:3000/secure/google/verify"
LOGIN_FAILURE_REDIRECT="/"
LOGIN_SUCCESS_REDIRECT="http://localhost:4200/auth/authenticate"

# CLI
ANGULAR_DIST_DIR="/ruta/worklenz_frontend/dist/worklenz" # Especifica la ubicación donde se colocará la aplicación Angular construida 
ANGULAR_SRC_DIR="/ruta/worklenz_frontend"
BACKEND_PUBLIC_DIR="/ruta/worklenz_backend/src/public"
BACKEND_VIEWS_DIR="/ruta/worklenz_backend/src/views/admin"
COMMIT_BUILD_IMMEDIATELY=true

# Host
HOSTNAME=localhost:4200

# SLACK
SLACK_WEBHOOK="tu-url-de-webhook-de-slack"
USE_PG_NATIVE=true

# SECRETO JWT
JWT_SECRET="TU_SECRETO_JWT_AQUI"

# AWS
AWS_REGION="us-west-2"
AWS_ACCESS_KEY_ID="TU_ID_DE_ACCESO_A_AWS_AQUI"
AWS_SECRET_ACCESS_KEY="TU_CLAVE_SECRETA_DE_ACCESO_A_AWS_AQUI"

# Credenciales S3
REGION="us-west-2"
BUCKET="nombre-de-tu-bucket"
S3_URL="URL_S3_AQUI"
S3_ACCESS_KEY_ID="ID_DE_ACCESO_A_S3_AQUI"
S3_SECRET_ACCESS_KEY="CLAVE_SECRETA_DE_ACCESO_A_S3_AQUI"

# Correo electrónico SES
SOURCE_EMAIL="Worklenz <noreply@worklenz.com>"

Paso 3: Construir e Iniciar Contenedores

Inicia tu motor Docker si aún no lo has hecho Usa Docker Compose para construir e iniciar los contenedores:

docker-compose up --build -d

Este comando hará lo siguiente:

Detener y Eliminar Contenedores

Para detener todos los contenedores en ejecución asociados con el proyecto Worklenz, puedes usar el siguiente comando:

docker-compose down

Si quieres eliminar los contenedores, así como las imágenes y volúmenes para liberar espacio en disco, puedes usar:

docker system prune -a
¡Ten cuidado! Este comando eliminará imágenes y volúmenes no utilizados, lo que puede resultar en la pérdida de cualquier dato no guardado en los volúmenes. Asegúrate siempre de haber hecho una copia de seguridad de los datos importantes antes de ejecutar este comando.

Paso 4: Acceder a la Aplicación

Una vez que los contenedores estén en funcionamiento, puedes acceder a la Aplicación Worklenz a través de lo siguiente:

Paso 5: Solucionar Problemas Comunes

Al configurar Worklenz con Docker, puedes encontrar algunos problemas comunes. Aquí te presentamos algunas soluciones para resolverlos:

Problema 1: Los Contenedores No Inician

Solución para Linux/macOS: Comprueba los registros del contenedor Docker para detectar cualquier error:

docker-compose logs

Si ves errores relacionados con variables de entorno faltantes u otros problemas, asegúrate de que tu archivo .env esté correctamente configurado y todos los campos necesarios estén llenos.

También puedes comprobar si hay algún servicio en conflicto o puertos en uso:

sudo lsof -i :3000

Si el puerto 3000 está en uso, detén el proceso que lo está utilizando:

sudo kill -9 <PID>

Reinicia los contenedores Docker:

docker-compose down
docker-compose up --build -d

Solución para Windows:

Comprueba los registros del contenedor Docker para detectar cualquier error:

docker-compose logs

Si ves errores relacionados con variables de entorno faltantes u otros problemas, verifica tu archivo .env.

Para comprobar si el puerto 3000 está en uso, ejecuta:

netstat -ano | findstr :3000

Encuentra el PID (ID del Proceso) en la salida y detén el proceso usando:

taskkill /PID <PID> /F

Reinicia los contenedores Docker:

docker-compose down
docker-compose up --build -d

Problema 2: Problemas de Conexión a la Base de Datos

Solución para Linux/macOS:

Asegúrate de que el contenedor de la base de datos esté en funcionamiento:

docker ps

Comprueba la configuración de la base de datos en tu archivo .env, especialmente:

DB_HOST DB_USER DB_PASSWORD

Si el contenedor de la base de datos no está funcionando, intenta reiniciarlo:

docker-compose down
docker-compose up --build -d

Solución para Windows:

Comprueba si el contenedor de la base de datos está en funcionamiento:

docker ps

Verifica la configuración de la base de datos en tu archivo .env.

Reinicia los contenedores si es necesario:

docker-compose down
docker-compose up --build -d

Problema 3: Puerto ya en Uso

Solución para Linux/macOS:

Si recibes un error que indica que un puerto ya está en uso (por ejemplo, el puerto 3000), puedes encontrar el proceso que está utilizando el puerto:

sudo lsof -i :3000

Si un proceso está utilizando el puerto, mátalo con:

sudo kill -9 <PID>

Alternativamente, puedes cambiar el puerto en tu archivo .env y reiniciar los contenedores.

Solución para Windows:

Comprueba si el puerto 3000 está en uso:

netstat -ano | findstr :3000

Encuentra el PID (ID del Proceso) en la salida, luego termina el proceso:

taskkill /PID <PID> /F

También puedes cambiar el puerto en tu archivo .env y reiniciar los contenedores.

Problema 4: Problemas de Permisos con los Archivos

Solución para Linux/macOS:

Si encuentras errores de permisos, asegúrate de que los archivos y directorios necesarios sean accesibles por Docker. Comprueba los permisos de los archivos:

ls -l

Ajusta los permisos de los archivos usando:

sudo chmod -R 755 <directorio>

Solución para Windows:

Si encuentras errores de permisos, asegúrate de que Docker Desktop tenga acceso a los directorios necesarios. Haz clic con el botón derecho en la carpeta, selecciona Propiedades y ve a la pestaña Seguridad para comprobar los permisos.

Problema 5: No se Puede Conectar a Servicios Externos (por ejemplo, AWS, Google OAuth)

Solución para Linux/macOS:

Asegúrate de que tu archivo .env esté correctamente configurado para servicios externos como AWS o Google OAuth. Comprueba que las claves y URLs requeridas sean correctas.

Puedes probar si los servicios externos son accesibles utilizando curl:

curl https://tu-url-de-servicio.com

Solución para Windows:

De manera similar, verifica que tu archivo .env esté correctamente configurado.

Prueba la conectividad usando curl (si está instalado) o usa un navegador web para comprobar si los servicios externos son accesibles.

Problema 6: Rendimiento Lento o Errores de Tiempo de Espera

Solución para Linux/macOS:

Si Docker se está ejecutando lentamente, asegúrate de que tu

← Back to Blog