Saltearse al contenido
Try for Free

Autoalojar Worklenz

Worklenz es completamente de codigo abierto y puede alojarse en tus propios servidores, dandote control total sobre tus datos e infraestructura. Esta guia cubre todo lo que necesitas para poner en marcha Worklenz en tu propia maquina o servidor de produccion.

Prerequisitos

Antes de comenzar, asegurate de tener instalado lo siguiente:

RequisitoVersion
Node.jsv18 o superior
PostgreSQLv15 o superior
Docker y Docker ComposeUltima version estable
GitCualquier version reciente

Inicio rapido con Docker (recomendado)

Docker es la forma mas rapida y confiable de poner en marcha Worklenz. El script de configuracion automatica se encarga de la configuracion, los secretos y SSL.

Configuracion automatica

Ventana de terminal
git clone https://github.com/Worklenz/worklenz.git
cd worklenz
./quick-setup.sh

El script automaticamente:

  • Crea un archivo .env con secretos de seguridad generados
  • Configura las URLs para tu dominio
  • Configura certificados SSL (autofirmados en local, Let’s Encrypt para produccion)
  • Inicia todos los servicios

Puntos de acceso despues de la configuracion:

ServicioURL
Aplicacion Worklenzhttps://localhost o http://localhost
Consola MinIOhttp://localhost:9001

Configuracion manual con Docker

Si prefieres configurarlo tu mismo:

Ventana de terminal
cp .env.example .env
# Edita .env con los valores requeridos
docker compose --profile express up -d

Instalacion manual (desarrollo)

Usa este metodo si quieres ejecutar Worklenz localmente para desarrollo o pruebas sin Docker.

1. Clona el repositorio:

Ventana de terminal
git clone https://github.com/Worklenz/worklenz.git
cd worklenz

2. Configura el entorno:

Ventana de terminal
cp worklenz-backend/.env.template worklenz-backend/.env

3. Instala las dependencias:

Ventana de terminal
cd worklenz-backend && npm install
cd ../worklenz-frontend && npm install

4. Inicializa la base de datos:

Ejecuta los siguientes archivos SQL en orden en tu base de datos PostgreSQL:

Ventana de terminal
psql -U tu_usuario -d worklenz_db -f database/sql/0_extensions.sql
psql -U tu_usuario -d worklenz_db -f database/sql/1_tables.sql
psql -U tu_usuario -d worklenz_db -f database/sql/indexes.sql
psql -U tu_usuario -d worklenz_db -f database/sql/4_functions.sql
psql -U tu_usuario -d worklenz_db -f database/sql/triggers.sql
psql -U tu_usuario -d worklenz_db -f database/sql/3_views.sql
psql -U tu_usuario -d worklenz_db -f database/sql/2_dml.sql
psql -U tu_usuario -d worklenz_db -f database/sql/5_database_user.sql

5. Inicia los servicios:

Abre dos ventanas de terminal y ejecuta:

Ventana de terminal
# Terminal 1 - Backend
cd worklenz-backend
npm run dev:all
# Terminal 2 - Frontend
cd worklenz-frontend
npm run dev

Accede a la aplicacion en http://localhost:5000.


Despliegue en produccion

Configuracion rapida para produccion

Ventana de terminal
git clone https://github.com/Worklenz/worklenz.git
cd worklenz
./quick-setup.sh
# Ingresa tu dominio de produccion cuando se solicite (ej. worklenz.ejemplo.com)

Configuracion manual para produccion

1. Configura el archivo de entorno:

Ventana de terminal
cp .env.example .env

Edita .env y establece los siguientes valores clave:

DOMAIN=tu-dominio.com
VITE_API_URL=https://tu-dominio.com
VITE_SOCKET_URL=wss://tu-dominio.com
ENABLE_SSL=true
LETSENCRYPT_EMAIL=tu-email@dominio.com

Genera tambien secretos seguros para DB_PASSWORD, SESSION_SECRET y otras variables sensibles:

Ventana de terminal
openssl rand -hex 32

2. Apunta el registro DNS A de tu dominio a la IP de tu servidor.

3. Inicia con SSL:

Ventana de terminal
docker compose --profile express --profile ssl up -d

Accede a tu instancia en https://tu-dominio.com.


Configuracion

Variables de entorno clave

VariableProposito
DOMAINTu dominio (usa localhost para pruebas locales)
DEPLOYMENT_MODEexpress (servicios integrados) o advanced (servicios externos)
STORAGE_PROVIDERs3 (MinIO o AWS) o azure
ENABLE_SSLtrue o false para SSL/TLS
BACKUP_RETENTION_DAYSDias para retener copias de seguridad (por defecto: 30)
DB_PASSWORDContrasena de PostgreSQL
SESSION_SECRETClave de cifrado de sesion

Modos de despliegue

Modo Express (por defecto) - incluye PostgreSQL, Redis y MinIO integrados:

Ventana de terminal
docker compose --profile express up -d

Modo Avanzado - usa servicios externos como AWS S3, Azure Blob Storage o una instancia PostgreSQL externa:

Establece DEPLOYMENT_MODE=advanced en tu archivo .env antes de iniciar.


Configuracion de almacenamiento

Worklenz usa MinIO por defecto para el almacenamiento de archivos, pero soporta multiples backends.

ProveedorDetalles
MinIO (por defecto)Compatible con S3, incluido en la configuracion Docker. Consola en http://localhost:9001 (credenciales: minioadmin / minioadmin). Bucket por defecto: worklenz-bucket (creado automaticamente).
AWS S3Establece STORAGE_PROVIDER=s3 y configura las credenciales AWS en .env.
Azure Blob StorageEstablece STORAGE_PROVIDER=azure y configura las credenciales Azure en .env.

Comandos de gestion

Usa el script manage.sh para gestionar tu instancia de Worklenz:

Ventana de terminal
./manage.sh status # Ver estado de los servicios
./manage.sh logs # Ver registros
./manage.sh backup # Crear copia de seguridad de la base de datos
./manage.sh restore # Restaurar desde una copia de seguridad
./manage.sh stop # Detener todos los servicios
./manage.sh start # Iniciar todos los servicios
./manage.sh ssl # Gestionar certificados SSL
./manage.sh upgrade # Actualizar a la ultima version
./manage.sh auto-configure # Generar secretos automaticamente

Copias de seguridad

Habilitar copias de seguridad automaticas

Ventana de terminal
docker compose --profile express --profile backup up -d

Copia de seguridad y restauracion manual

Ventana de terminal
./manage.sh backup # Crear una copia de seguridad
./manage.sh restore # Restaurar desde una copia de seguridad

Establece BACKUP_RETENTION_DAYS en tu archivo .env para controlar durante cuanto tiempo se conservan las copias de seguridad.


Buenas practicas de seguridad

Worklenz incluye varias funciones de seguridad de serie:

  • Contenedores sin privilegios de root (todos los servicios se ejecutan como usuarios sin privilegios)
  • Aislamiento de red (la red del backend es solo interna)
  • Soporte SSL/TLS (Let’s Encrypt para produccion, autofirmado para localhost)
  • Limitacion de velocidad en endpoints de API e inicio de sesion
  • Cabeceras de seguridad (HSTS, CSP, X-Frame-Options)
  • Secretos seguros generados automaticamente

Guias en video

Hay tutoriales en video paso a paso disponibles si prefieres una guia visual:


Licencia

Worklenz se publica bajo la Licencia Publica General Affero de GNU v3 (AGPLv3).

Para documentacion detallada sobre despliegue con Docker, consulta el archivo DOCKER_SETUP.md en el repositorio. Para informar vulnerabilidades de seguridad, contacta a info@worklenz.com.