Tutorial

OpenProject en VPS: Gantt, hitos y seguimiento de tiempo

Despliegue7 min de lectura13 pasos

Jira Data Center lleva forzando la migración a la nube desde 2024, con tarifas revisadas al alza cada trimestre. Para las agencias que facturan por hora y coordinan múltiples equipos, seguir pagando por puesto ya no es sostenible. OpenProject responde exactamente a esa necesidad: es una herramienta de gestión de proyectos enterprise — Gantt nativo, hojas de tiempo, hitos contractuales, wiki — distribuida bajo licencia GPLv3, por lo tanto alojable de forma autónoma sin costes de licencia. Esta guía explica cómo desplegarlo en un VPS usando la imagen Docker oficial, colocarlo detrás de nginx con TLS y empezar con el primer proyecto.

Contenido· OpenProject, Plane y Kaneo: tres herramientas, tres posicionamientos1/4
  1. 01OpenProject, Plane y Kaneo: tres herramientas, tres posicionamientos
  2. 02Comparatif
  3. 03Crear el primer proyecto y configurar el Gantt
  4. 04Solución de problemas — errores frecuentes

Por qué las agencias buscan una alternativa a Jira en 2026. La migración a Jira Cloud ha acumulado varias subidas de precio sucesivas: fin de vida de Data Center anunciado, fin de las licencias perpetuas Server, y revisión de las tarifas Cloud en 2024 y de nuevo en 2026. Para una agencia de diez personas, el coste anual de una herramienta PM en la nube — Jira, Asana, Monday — supera habitualmente los 3.000 euros. OpenProject Community edition, alojado en un VPS propio, reduce esa partida a cero fuera de los costes de infraestructura.

  • Diagrama de Gantt interactivo con dependencias entre tareas y camino crítico
  • Seguimiento de tiempo por tarea y por proyecto, exportable en CSV para la facturación
  • Hitos y entregables contractuales vinculados a la hoja de ruta
  • Wiki integrada para la documentación del proyecto, sin herramienta externa
  • Gestión de versiones y releases para proyectos de software
  • Control de acceso granular por rol (lector, contribuidor, jefe de proyecto, administrador)
  • Licencia GPLv3: el código fuente es auditable y no se impone telemetría

Requisitos previos: 2 GB de RAM mínimo. OpenProject usa Ruby on Rails en el servidor, lo que explica su mayor huella de memoria respecto a herramientas como Plane o Vikunja. En la práctica, 2 GB de RAM son suficientes para un equipo de cinco a quince personas con varios proyectos activos. Un VPS de 2 vCPU / 2 GB soporta la carga. Para veinte personas o más, pasar a 4 GB evita lentitudes al cargar diagramas de Gantt complejos. El disco debe prever al menos 20 GB para PostgreSQL, archivos adjuntos y logs.

OpenProject, Plane y Kaneo: tres herramientas, tres posicionamientos

Tres herramientas de gestión de proyectos de código abierto, tres enfoques distintos. La comparativa ayuda a elegir según las necesidades del equipo.

Comparatif

Desplace la tabla

CritèreOpenprojectPlaneKaneo
Paradigma principalPM enterprise: Gantt, hitos, hojas de tiempo, presupuestosPM ágil: ciclos, backlogs, sprints, estados personalizadosKanban visual: tarjetas, columnas, etiquetas
Gantt nativoSí, con dependencias y camino críticoNo (hoja de ruta parcial, sin dependencias)No
Seguimiento de tiempoSí, por tarea y por proyectoNo en la versión CommunityNo
Público objetivoAgencias, equipos con hitos contractuales, proyectos plurianualesEquipos de producto ágil, pequeñas startupsEquipos que quieren un Kanban minimalista
RAM mínima2 GB1 GB512 MB
LicenciaGPLv3AGPL v3MIT
  1. Preparar el VPS

    Conéctate por SSH, actualiza los paquetes e instala Docker con el plugin Compose: apt update && apt install -y docker.io docker-compose-plugin. Verifica con docker compose version (v2.x esperado).

  2. Descargar el Compose oficial

    Clona el repositorio de despliegue oficial: git clone https://github.com/opf/openproject-deploy.git /opt/openproject && cd /opt/openproject/compose. Este repositorio mantiene el archivo docker-compose.yml y el archivo .env recomendados por el equipo de OpenProject.

  3. Configurar las variables de entorno

    Copia el ejemplo: cp .env.example .env y edita .env. Variables obligatorias: OPENPROJECT_HOST__NAME=tu-dominio.com (doble guión bajo), OPENPROJECT_HTTPS=true, y SECRET_KEY_BASE generado con openssl rand -hex 64. Define también POSTGRES_PASSWORD y OPENPROJECT_DB_PASSWORD con el mismo valor fuerte.

  4. Iniciar los contenedores

    Ejecuta docker compose up -d. La imagen openproject/community:latest descarga aproximadamente 600 MB. El primer arranque tarda de dos a cuatro minutos para que se ejecuten las migraciones de base de datos. Monitoriza con docker compose logs -f web hasta ver Listening on tcp://0.0.0.0:8080.

  5. Verificar que la aplicación responde

    Desde el VPS: curl -s -o /dev/null -w "%{http_code}" http://localhost:8080. Un código 200 o 302 confirma que la aplicación está en línea. En este momento solo es accesible localmente — el proxy inverso nginx viene en el siguiente paso.

  1. Instalar nginx y certbot

    En Debian/Ubuntu: apt install -y nginx certbot python3-certbot-nginx. Asegúrate de que el DNS del dominio apunta a la IP del VPS antes de continuar.

  2. Crear el vhost de nginx

    Crea /etc/nginx/sites-available/openproject con: server { listen 80; server_name tu-dominio.com; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto https; proxy_read_timeout 120s; client_max_body_size 100M; } }. Actívalo: ln -s /etc/nginx/sites-available/openproject /etc/nginx/sites-enabled/ && nginx -t && systemctl reload nginx.

  3. Obtener el certificado TLS

    Ejecuta certbot --nginx -d tu-dominio.com. Certbot modifica el vhost para escuchar en el puerto 443, añade las directivas ssl_certificate y configura la redirección HTTP→HTTPS automáticamente. El certificado se renueva mediante el timer systemd certbot.timer.

Crear el primer proyecto y configurar el Gantt

Una vez desplegado OpenProject, estos pasos guían la creación del primer proyecto y la activación de la vista Gantt.

  1. Acceder a la interfaz y cambiar la contraseña de administrador

    Abre https://tu-dominio.com en un navegador. Inicia sesión con admin / admin y cambia la contraseña inmediatamente. Configura la URL de la aplicación en Administración > Configuración > General si no se detectó automáticamente desde OPENPROJECT_HOST__NAME.

  2. Crear un proyecto e invitar miembros

    Haz clic en Nuevo proyecto, elige un nombre, activa los módulos útiles: Paquetes de trabajo, Gantt, Seguimiento de tiempo, Wiki. Invita a los miembros desde la pestaña Configuración > Miembros asignándoles un rol.

  3. Crear tareas y definir dependencias

    En la vista de lista de paquetes de trabajo, crea las primeras tareas con fechas de inicio y fin. Cambia a la vista Gantt para visualizar la línea de tiempo. Para crear una dependencia, abre una tarea y rellena el campo Precedida por con el número de la tarea precedente.

  4. Configurar hitos

    Un hito es una tarea de tipo Milestone. Créala desde la vista Gantt (tipo Milestone) o desde la lista cambiando el tipo. Los hitos aparecen como rombos en el diagrama — útiles para marcar entregables contractuales.

  5. Activar las hojas de tiempo

    En Administración > Configuración > Registros de trabajo, activa el módulo. Cada miembro puede registrar su tiempo mediante el botón cronómetro en una tarea abierta. Los informes agregados por proyecto y período están disponibles en Informes > Registros de trabajo.

Copias de seguridad semanales de PostgreSQL: añade este cron en el VPS para exportar la base de datos semanalmente: 0 3 * * 0 docker exec openproject_db pg_dump -U openproject openproject | gzip > /var/backups/openproject_$(date +%Y%m%d).sql.gz. Conserva los siete últimos archivos con find /var/backups -name 'openproject_*.sql.gz' -mtime +7 -delete. Prueba la restauración una vez al mes en un entorno aislado.

Solución de problemas — errores frecuentes

Los errores más comunes durante el despliegue o el primer uso de OpenProject, con sus soluciones.

  • 502 Bad Gateway en el primer arranque: las migraciones Rails no han terminado. Espera de dos a cinco minutos y comprueba docker compose logs web para confirmar que escucha en el puerto 8080.
  • Página en blanco o error 500: SECRET_KEY_BASE está vacío o mal definido. Regénéralo con openssl rand -hex 64 y reinicia con docker compose up -d --force-recreate.
  • Archivos adjuntos rechazados: el límite por defecto de nginx es 1 MB. Aumenta client_max_body_size en el vhost (100 MB recomendado para archivos de proyecto).
  • Problemas de envío de correos: configura las variables OPENPROJECT_SMTP_* en .env (servidor SMTP, puerto 587, credenciales). Sin configuración SMTP, las invitaciones a miembros no se envían.
  • Actualización de la imagen: docker compose pull && docker compose up -d. OpenProject ejecuta las migraciones automáticamente al arrancar. Haz una copia de seguridad de la base de datos antes de cada actualización mayor.

Adopción soberana: el caso neerlandés. En septiembre de 2026, el gobierno neerlandés publicó las especificaciones de DAWO (Digitaal Autonome Werkomgeving Overheid), un plan de entorno de trabajo soberano basado en NixOS. La pila seleccionada incluye Nextcloud para archivos, Element para mensajería, Collabora para documentos de oficina y OpenProject para la gestión de proyectos. Esta elección valida la madurez de la herramienta para contextos en que el alojamiento de datos no puede delegarse a un proveedor estadounidense.

Para ir más lejos. OpenProject cubre los proyectos con alta demanda de Gantt y hojas de tiempo. Para un backlog de producto ágil, Plane (ciclos y sprints) se adapta mejor. Para un Kanban ligero con el mínimo consumo de memoria, Kaneo sigue siendo la opción más económica. Si gestionas varios clientes desde una sola interfaz, el espacio agencia de ServOrbit te permite supervisar los VPS de cada cliente, acceder a las consolas y gestionar las renovaciones sin alternar entre múltiples paneles.

Gestiona los VPS de tus clientes desde un espacio centralizado

El espacio agencia de ServOrbit te permite aprovisionar, supervisar y renovar los VPS de todos tus clientes desde una interfaz única. Cada cliente dispone de su propio entorno aislado y tú mantienes el control total sobre la infraestructura.

¿Necesita ayuda?

Consulte nuestro centro de ayuda y nuestra FAQ, o contacte con nuestro equipo: llamada, WhatsApp o correo electrónico. Soporte en francés, inglés y árabe.

Escribir por WhatsAppse abre en una pestaña nueva