Para la instalación, configuración y mantenimiento de OpenProject en un VPS, se recomienda utilizar la contenedorización a través de Docker y Docker Compose, lo que simplifica significativamente el despliegue, la gestión de dependencias, la actualización y la copia de seguridad, asegurando un funcionamiento estable del sistema de gestión de proyectos en su propio servidor.
¿Qué es OpenProject y para qué se necesita en un VPS?
OpenProject es un potente software de gestión de proyectos de código abierto que ofrece una amplia gama de funciones para la planificación, el seguimiento y la colaboración en proyectos. Está diseñado como una solución integral que combina la gestión de tareas, el seguimiento de errores, la planificación de proyectos (diagramas de Gantt), la gestión de costes, las páginas wiki, los foros y mucho más en una plataforma unificada. Esto lo convierte en una opción ideal para equipos de cualquier tamaño, desde startups hasta grandes empresas, que buscan organizar su trabajo de manera eficiente.
Alojar OpenProject en un VPS (Virtual Private Server) proporciona un control total sobre los datos, el rendimiento y la seguridad, a diferencia de las soluciones SaaS en la nube. Esto permite adaptar el entorno a los requisitos específicos de su equipo, integrarlo con otros sistemas internos y garantizar el cumplimiento de los estándares corporativos de seguridad y privacidad. El autoalojamiento de OpenProject también elimina las cuotas de suscripción por usuario, lo que lo convierte en una solución económicamente ventajosa para equipos en crecimiento a largo plazo.
OpenProject: características y ventajas
OpenProject ofrece un conjunto completo de herramientas que cubren todo el ciclo de vida del proyecto. Su funcionalidad incluye:
- Gestión de tareas y proyectos: Creación, asignación, seguimiento de tareas, gestión de hitos, configuración de flujos de trabajo. Soporta diversas metodologías, incluyendo Scrum, Kanban y el modelo de cascada.
- Diagramas de Gantt: Planificación visual del proyecto, seguimiento de dependencias y progreso.
- Seguimiento de errores y solicitudes: Gestión eficiente de defectos, solicitudes de nuevas funcionalidades y soporte al usuario.
- Gestión de costes y tiempo: Presupuesto, registro de tiempo, informes de costes del proyecto.
- Colaboración: Páginas Wiki para documentación, foros para discusiones, comentarios en tareas.
- Paneles Agile: Paneles Scrum y Kanban integrados para equipos que trabajan con metodologías ágiles. Si le interesan otros sistemas Kanban, le recomendamos leer nuestro artículo sobre Kanboard en VPS.
- Informes personalizables: Herramientas flexibles para crear informes sobre el estado del proyecto, el progreso y los recursos.
- Gestión documental: Posibilidad de adjuntar archivos a tareas y proyectos, crear bibliotecas de documentos.
- API: API RESTful para la integración con sistemas externos.
Ventajas de OpenProject:
- Código abierto: Transparencia, posibilidad de modificación y adaptación a necesidades únicas.
- Flexibilidad de despliegue: Soporta alojamiento propio (self-hosted) en diversas plataformas, incluyendo VPS, lo que proporciona un control total.
- Comunidad activa: Desarrollo y soporte continuos por parte de la comunidad de desarrolladores.
- Amplia funcionalidad: Uno de los conjuntos de funciones más completos entre los sistemas PM gratuitos.
¿Por qué elegir OpenProject Self-Hosted?
La elección de OpenProject self-hosted, es decir, alojado en su propio servidor, especialmente en un VPS, se debe a varios factores clave:
- Control total sobre los datos: Todos sus datos de proyecto se almacenan en su servidor, lo cual es crítico para empresas con requisitos estrictos de seguridad y confidencialidad. Usted gestiona completamente las copias de seguridad, el acceso y las políticas de almacenamiento.
- Personalización e integración: La versión self-hosted permite personalizar profundamente el sistema, integrarlo con otros servicios internos (por ejemplo, LDAP/Active Directory, sistemas CI/CD, CRM) y adaptarlo a los procesos de negocio específicos de su organización.
- Independencia del proveedor: No está vinculado a las condiciones y la política de precios de un proveedor de la nube externo. Sus datos siempre están disponibles y la operatividad del sistema depende solo de su VPS y su infraestructura.
- Ventaja económica a largo plazo: Aunque los costes iniciales de configuración de un VPS y OpenProject pueden ser más altos que una suscripción para varios usuarios, con el crecimiento del equipo o el uso prolongado, la solución self-hosted a menudo resulta ser significativamente más barata, ya que solo paga por los recursos del VPS, no por cada usuario.
- Rendimiento: Puede asignar exactamente la cantidad de recursos del VPS que necesita su equipo, asegurando un rendimiento óptimo sin "vecindad" con otros clientes en un hosting compartido.
Requisitos del sistema de OpenProject: ¿qué necesita saber?
Para una instalación exitosa y un funcionamiento estable de OpenProject, especialmente en un entorno de contenedores Docker, es importante tener en cuenta los requisitos del sistema. Estos dependen del número de usuarios y la carga prevista. OpenProject puede ser bastante intensivo en recursos, especialmente con un uso activo y un gran volumen de datos.
Requisitos mínimos y recomendados
Al planificar la instalación de OpenProject en un VPS, considere los siguientes indicadores:
| Recurso | Requisitos mínimos (hasta 10 usuarios) | Requisitos recomendados (10-50 usuarios) | Para equipos grandes (más de 50 usuarios) |
|---|---|---|---|
| Procesador (vCPU) | 2 núcleos (2 GHz+) | 4 núcleos (2.5 GHz+) | 8+ núcleos (3.0 GHz+) |
| Memoria RAM | 4 GB | 8 GB | 16+ GB |
| Espacio en disco (NVMe SSD) | 50 GB | 100 GB | 200+ GB |
| Ancho de banda de red | 100 Mbps | 1 Gbps | 1 Gbps+ |
| Sistema operativo | Ubuntu 20.04/22.04 LTS, Debian 11/12, CentOS 7/8, RHEL 8/9 | ||
| Docker Engine | 20.10+ | ||
| Docker Compose | 1.29+ (o Docker Compose V2) | ||
Notas importantes:
- NVMe SSD: Se recomienda encarecidamente utilizar discos NVMe SSD. OpenProject trabaja activamente con la base de datos (PostgreSQL), y la velocidad del subsistema de disco es críticamente importante para el rendimiento general. Los HDD estándar o incluso los SSD SATA pueden convertirse en un "cuello de botella".
- RAM: OpenProject, especialmente con PostgreSQL, puede consumir una cantidad significativa de RAM. Si planea utilizar otros servicios en el mismo VPS, asegúrese de tener suficiente memoria libre.
- CPU: El número de núcleos del procesador afecta la velocidad de procesamiento de solicitudes y la ejecución de tareas en segundo plano. Para equipos activos con actualizaciones y reportes frecuentes, se requieren más núcleos.
- Archivo de intercambio (swap file): Se recomienda configurar un archivo de intercambio con un tamaño de 1 a 2 veces el volumen de RAM, si tiene menos de 16 GB de RAM, para prevenir fallos durante picos de carga.
Sistemas operativos compatibles
Para la instalación de OpenProject en un servidor a través de Docker, puede utilizar la mayoría de las distribuciones modernas de Linux. Las más populares y bien soportadas son:
- Ubuntu LTS (Long Term Support): Versiones 20.04 y 22.04. Estas son las distribuciones más utilizadas para el despliegue de contenedores Docker.
- Debian: Versiones 11 (Bullseye) y 12 (Bookworm).
- CentOS/RHEL: Versiones 7, 8 y 9.
Asegúrese de que el sistema operativo elegido tenga actualizaciones de seguridad actuales y funcione de forma estable con las últimas versiones de Docker Engine y Docker Compose.
¿Busca un servidor fiable para sus proyectos?
VPS desde $10/mes y servidores dedicados desde $9/mes con NVMe, protección DDoS y soporte 24/7.
Ver ofertas →Preparación del VPS para la instalación de OpenProject Docker
Antes de proceder con la instalación de OpenProject Docker, es necesario preparar su VPS. Este proceso incluye la actualización del sistema operativo, la instalación de Docker Engine y Docker Compose. Utilizaremos Ubuntu 22.04 LTS como ejemplo, pero los pasos serán similares para otros sistemas basados en Debian.
Actualización del sistema e instalación de Docker Engine
El primer paso siempre es actualizar los paquetes de su sistema operativo. Esto garantiza que tenga instaladas las últimas versiones de todas las dependencias y parches de seguridad.
sudo apt update
sudo apt upgrade -y
A continuación, instalaremos los paquetes necesarios para trabajar con Docker y añadiremos el repositorio oficial de Docker:
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
Ahora podemos instalar Docker Engine, containerd y Docker Compose (versión antigua, actualizaremos a V2 más tarde):
sudo apt install docker-ce docker-ce-cli containerd.io -y
Después de la instalación, asegúrese de que Docker esté iniciado y en funcionamiento:
sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl status docker
Añada el usuario actual al grupo docker para evitar el uso de sudo en cada comando Docker:
sudo usermod -aG docker $USER
newgrp docker
Verifique que Docker esté instalado correctamente ejecutando un contenedor de prueba:
docker run hello-world
Instalación de Docker Compose
Docker Compose V2 es la versión preferida y se instala como un plugin para Docker CLI (docker compose en lugar de docker-compose). Si instaló Docker Engine, como se muestra arriba, Docker Compose V2 ya debería estar disponible. Puede verificarlo de la siguiente manera:
docker compose version
Si el comando no funciona o muestra una versión antigua (1.x.x), puede instalarlo manualmente:
sudo apt update
sudo apt install docker-compose-plugin -y
Después de la instalación, verifique la versión de nuevo:
docker compose version
Debería ver una versión que comience con v2.x.x. Ahora su VPS está listo para el despliegue de OpenProject.
¿Buscas un servidor que simplemente funcione?
Valebyte VPS — NVMe, soporte 24/7, despliegue en 60 segundos.
Instalación paso a paso de OpenProject en un VPS a través de Docker Compose
La instalación de OpenProject a través de Docker Compose es la forma más recomendada y sencilla de desplegarlo. Este método permite gestionar todos los componentes (OpenProject, PostgreSQL, Nginx/Caddy) como un servicio unificado. Utilizaremos la imagen oficial de OpenProject.
Creación del archivo docker-compose.yml
Cree un directorio para su proyecto OpenProject y navegue a él:
mkdir -p /opt/openproject
cd /opt/openproject
Ahora cree el archivo docker-compose.yml en este directorio:
nano docker-compose.yml
Pegue el siguiente contenido. Este archivo define tres servicios: db (PostgreSQL), openproject (la aplicación principal) y web (Nginx como reverse proxy). Tenga en cuenta que Nginx aquí actuará solo como proxy para OpenProject, y no para acceso externo. El reverse proxy externo (Nginx/Caddy) se configurará más tarde.
version: '3.8'
services:
db:
image: postgres:13
restart: always
environment:
POSTGRES_DB: openproject
POSTGRES_USER: openproject
POSTGRES_PASSWORD: your_strong_db_password_here # ¡Asegúrese de cambiarlo por una contraseña segura!
volumes:
- ./pgdata:/var/lib/postgresql/data
networks:
- openproject-net
openproject:
image: openproject/openproject:13
restart: always
environment:
DATABASE_URL: postgres://openproject:your_strong_db_password_here@db:5432/openproject
RAILS_ENV: production
# EMAIL_DELIVERY_METHOD: smtp # Descomente y configure para el envío de correo
# SMTP_HOST: smtp.example.com
# SMTP_PORT: 587
# SMTP_USER_NAME: your_email_user
# SMTP_PASSWORD: your_email_password
# SMTP_AUTHENTICATION: plain
# SMTP_ENABLE_STARTTLS_AUTO: 'true'
# DEFAULT_URL_HOST: your_domain.com # Reemplace con su dominio
# OPENPROJECT_HOST__NAME: your_domain.com # Reemplace con su dominio
# OPENPROJECT_HTTPS: 'true' # Establezca en true si usa HTTPS (recomendado)
# Si utiliza un reverse proxy externo, no necesita configurar estas variables aquí.
# Se establecerán en la configuración del reverse proxy.
volumes:
- ./data:/var/openproject/assets
depends_on:
- db
networks:
- openproject-net
web:
image: openproject/community-nginx:1.0.0 # Usamos el Nginx oficial para OpenProject
restart: always
ports:
- "8080:80" # OpenProject estará disponible en el puerto 8080 dentro del VPS
depends_on:
- openproject
networks:
- openproject-net
networks:
openproject-net:
driver: bridge
Puntos importantes:
your_strong_db_password_here: No olvide cambiar esta contraseña por algo seguro y único. Debe ser la misma en las seccionesdbyopenproject../pgdatay./data: Estos son los volúmenes para almacenar los datos de PostgreSQL y los activos de OpenProject (archivos, adjuntos). Se crearán en los subdirectoriospgdataydatadentro de/opt/openproject. Esto es críticamente importante para la persistencia de datos durante los reinicios de contenedores y las actualizaciones.- Variables de entorno de OpenProject: Las líneas comentadas para SMTP y
DEFAULT_URL_HOST/OPENPROJECT_HOST__NAME/OPENPROJECT_HTTPS. Deberá descomentarlas y configurarlas cuando esté listo para enviar correos y utilice un dominio externo con HTTPS. Por ahora, no toqueDEFAULT_URL_HOSTyOPENPROJECT_HOST__NAME, ya que utilizaremos un reverse proxy externo. - Puerto
8080:80: OpenProject estará disponible en el puerto 8080 de su VPS. Configuraremos un Nginx o Caddy externo que hará proxy de las solicitudes del puerto 80/443 a este puerto 8080.
Guarde el archivo (Ctrl+O, Enter, Ctrl+X).
Inicio de OpenProject
Después de crear el archivo docker-compose.yml, puede iniciar OpenProject:
docker compose up -d
La clave -d inicia los contenedores en segundo plano. El proceso puede tardar varios minutos, ya que Docker descargará las imágenes e inicializará la base de datos.
Verifique el estado de los contenedores en ejecución:
docker compose ps
Debería ver tres servicios en ejecución: db, openproject, web.
Espere a que OpenProject se inicialice completamente. Esto puede tardar varios minutos. Puede verificar los logs del contenedor openproject para asegurarse de que se haya iniciado correctamente:
docker compose logs -f openproject
Cuando vea mensajes sobre el inicio del servidor Puma o similares, significa que la aplicación está lista.
Ahora OpenProject debería estar disponible en http://your_vps_ip:8080. Ábralo en su navegador. Verá la página de bienvenida de OpenProject.
Configuración inicial de OpenProject
Al acceder por primera vez a OpenProject a través de la interfaz web, se le pedirá que cree una cuenta de administrador. Siga las instrucciones en pantalla:
- Acceda a
http://your_vps_ip:8080. - En la primera pantalla se le pedirá que cree un nuevo administrador. Introduzca el nombre de usuario deseado, la dirección de correo electrónico y una contraseña segura.
- Después de crear la cuenta, será redirigido a la página de inicio de sesión. Inicie sesión utilizando los datos creados.
- Es posible que se le pida que configure el idioma, la zona horaria y otros parámetros básicos.
¡Felicidades! La instalación básica de OpenProject ha finalizado. El siguiente paso es configurar el acceso seguro a través de un nombre de dominio y HTTPS.
Configuración de Reverse Proxy y HTTPS para OpenProject en el servidor
Para garantizar la seguridad y la comodidad de acceso a OpenProject, es necesario configurar un Reverse Proxy (proxy inverso) y HTTPS. El Reverse Proxy le permitirá utilizar un nombre de dominio (por ejemplo, openproject.your-domain.com) en lugar de una dirección IP y un puerto, y HTTPS (cifrado SSL/TLS) protegerá los datos transmitidos. Analizaremos la configuración con Nginx y Caddy.
Antes de empezar, asegúrese de que su dominio o subdominio (por ejemplo, openproject.your-domain.com) apunta a la dirección IP de su VPS en los registros DNS.
Configuración de Nginx como proxy inverso
Nginx es un servidor web de alto rendimiento que es ideal para el rol de proxy inverso. Si Nginx no está instalado, instálelo:
sudo apt install nginx -y
sudo systemctl enable nginx
sudo systemctl start nginx
Cree un nuevo archivo de configuración para OpenProject en Nginx:
sudo nano /etc/nginx/sites-available/openproject
Pegue la siguiente configuración, reemplazando your_domain.com por su dominio real:
server {
listen 80;
server_name openproject.your-domain.com; # Reemplace con su dominio
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name openproject.your-domain.com; # Reemplace con su dominio
ssl_certificate /etc/letsencrypt/live/openproject.your-domain.com/fullchain.pem; # Ruta a su certificado
ssl_certificate_key /etc/letsencrypt/live/openproject.your-domain.com/privkey.pem; # Ruta a su clave privada
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers off;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
add_header X-XSS-Protection "1; mode=block";
location / {
proxy_pass http://localhost:8080; # Hacemos proxy al puerto donde se ejecuta OpenProject Docker
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
proxy_buffering off;
proxy_request_buffering off;
# Para soporte de WebSocket
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
Guarde el archivo. Ahora active la configuración y verifique la sintaxis de Nginx:
sudo ln -s /etc/nginx/sites-available/openproject /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
En este punto, Nginx está configurado como proxy inverso, pero HTTPS aún no funciona, ya que no tiene certificados. Para obtener certificados SSL gratuitos de Let's Encrypt, utilice Certbot:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d openproject.your-domain.com
Certbot obtendrá automáticamente los certificados y actualizará la configuración de Nginx. Después de esto, su OpenProject estará disponible en https://openproject.your-domain.com.
Uso de Caddy para HTTPS automático
Caddy es un servidor web moderno con soporte HTTPS automático a través de Let's Encrypt, lo que simplifica significativamente la configuración. Es una excelente alternativa a Nginx, especialmente si valora la simplicidad.
Instale Caddy (ejemplo para Ubuntu):
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy -y
Cree el archivo de configuración de Caddy (Caddyfile):
sudo nano /etc/caddy/Caddyfile
Elimine el contenido existente y pegue lo siguiente, reemplazando openproject.your-domain.com por su dominio:
openproject.your-domain.com {
reverse_proxy localhost:8080
# Habilitar compresión (opcional)
encode gzip zstd
# Cabeceras de seguridad (opcional, pero recomendado)
header {
X-Frame-Options "SAMEORIGIN"
X-Content-Type-Options "nosniff"
X-XSS-Protection "1; mode=block"
}
}
Guarde el archivo. Ahora verifique la configuración de Caddy y reinícielo:
sudo caddy validate --config /etc/caddy/Caddyfile
sudo systemctl restart caddy
sudo systemctl enable caddy
Caddy obtendrá e instalará automáticamente los certificados SSL para su dominio. Su OpenProject estará disponible en https://openproject.your-domain.com.
Después de configurar el reverse proxy, no olvide volver al archivo docker-compose.yml y establecer las variables de entorno para OpenProject, para que conozca su URL externa y utilice HTTPS. Edite la sección openproject:
openproject:
# ...
environment:
DATABASE_URL: postgres://openproject:your_strong_db_password_here@db:5432/openproject
RAILS_ENV: production
# ... otras configuraciones de correo ...
DEFAULT_URL_HOST: openproject.your-domain.com # Descomente y reemplace con su dominio
OPENPROJECT_HOST__NAME: openproject.your-domain.com # Descomente y reemplace con su dominio
OPENPROJECT_HTTPS: 'true' # Descomente
# ...
Después de guardar el archivo, reinicie los contenedores de OpenProject:
cd /opt/openproject
docker compose down
docker compose up -d
Esto garantiza que OpenProject conozca su dirección externa y generará enlaces correctos.
Copia de seguridad y actualización de OpenProject Docker
Las copias de seguridad regulares y las actualizaciones oportunas son aspectos críticamente importantes del mantenimiento de cualquier aplicación en producción, incluyendo OpenProject. Garantizan la seguridad de los datos y el acceso a nuevas funciones y correcciones de seguridad.
Estrategias de backup para OpenProject
Al utilizar OpenProject a través de Docker Compose, sus datos se almacenan en dos ubicaciones principales:
- Base de datos PostgreSQL: Contiene toda la información principal sobre proyectos, tareas, usuarios y configuración.
- Activos de OpenProject: Adjuntos, archivos, subidos por los usuarios (almacenados en el volumen
./data).
Para crear una copia de seguridad completa, es necesario copiar ambos componentes.
Copia de seguridad paso a paso:
- Detenga OpenProject (opcional, pero recomendado para la consistencia):
cd /opt/openproject docker compose stop openprojectEsto garantiza que los datos no se modificarán durante la copia de seguridad.
- Cree un volcado de la base de datos PostgreSQL:
docker compose exec db pg_dump -U openproject openproject > /path/to/backup/openproject_db_$(date +%Y%m%d_%H%M%S).sqlReemplace
/path/to/backup/con la ruta a su directorio de backups. Se le pedirá que introduzca la contraseña para el usuarioopenproject(la que especificó endocker-compose.yml). - Copie el directorio de activos:
cp -R /opt/openproject/data /path/to/backup/openproject_data_$(date +%Y%m%d_%H%M%S) - Inicie OpenProject de nuevo:
docker compose start openproject
Automatización de backups:
Puede automatizar este proceso utilizando un script y tareas cron. Por ejemplo, cree un script backup_openproject.sh:
#!/bin/bash
BACKUP_DIR="/var/backups/openproject"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
PROJECT_DIR="/opt/openproject"
DB_USER="openproject"
DB_NAME="openproject"
DB_PASSWORD="your_strong_db_password_here" # Utilice la misma contraseña que en docker-compose.yml
mkdir -p $BACKUP_DIR
echo "Deteniendo el contenedor OpenProject..."
docker compose -f $PROJECT_DIR/docker-compose.yml stop openproject
echo "Creando volcado de la base de datos PostgreSQL..."
PGPASSWORD=$DB_PASSWORD docker compose -f $PROJECT_DIR/docker-compose.yml exec db pg_dump -U $DB_USER $DB_NAME > $BACKUP_DIR/openproject_db_$TIMESTAMP.sql
echo "Copiando activos de OpenProject..."
cp -R $PROJECT_DIR/data $BACKUP_DIR/openproject_data_$TIMESTAMP
echo "Iniciando el contenedor OpenProject..."
docker compose -f $PROJECT_DIR/docker-compose.yml start openproject
echo "Limpiando backups antiguos (ej., mantener los últimos 7 días)..."
find $BACKUP_DIR -type f -name "openproject_db_*.sql" -mtime +7 -delete
find $BACKUP_DIR -type d -name "openproject_data_*" -mtime +7 -exec rm -rf {} +
echo "Backup completado: $BACKUP_DIR"
Haga el script ejecutable y añádalo a cron para su ejecución diaria:
chmod +x /path/to/backup_openproject.sh
sudo crontab -e
Añada la línea para ejecutar el script, por ejemplo, diariamente a las 3:00 de la madrugada:
0 3 * * * /path/to/backup_openproject.sh > /dev/null 2>&1
Considere la posibilidad de utilizar herramientas más avanzadas para backups, como Restic en VPS, para cifrar y enviar las copias de seguridad a un almacenamiento remoto.
Proceso de actualización de OpenProject
La actualización de OpenProject al utilizar Docker Compose es un proceso relativamente sencillo que se reduce a descargar nuevas imágenes y reiniciar los contenedores. ¡Siempre haga una copia de seguridad antes de actualizar!
- Cree una copia de seguridad: Antes de empezar, asegúrese de tener una copia de seguridad actualizada de la base de datos y los activos.
- Navegue al directorio de OpenProject:
cd /opt/openproject - Detenga los contenedores actuales:
docker compose downEsto detendrá y eliminará los contenedores actuales, pero conservará los volúmenes de datos.
- Descargue las últimas imágenes:
docker compose pullEsta comando descargará las últimas versiones de las imágenes, especificadas en
docker-compose.yml(por ejemplo,openproject/openproject:13). Si desea actualizar a una versión específica, cambie la etiqueta de la imagen endocker-compose.yml(por ejemplo, aopenproject/openproject:14) antes de ejecutardocker compose pull. - Inicie OpenProject con las nuevas imágenes:
docker compose up -dDocker Compose creará nuevos contenedores a partir de las imágenes descargadas. OpenProject ejecutará automáticamente las migraciones de base de datos necesarias en el primer inicio de la nueva versión. Esto puede tardar algún tiempo, especialmente para bases de datos grandes.
- Verifique el estado:
docker compose psAsegúrese de que todos los contenedores estén en ejecución.
- Verifique los logs:
docker compose logs -f openprojectAsegúrese de que no hay errores y la aplicación se ha iniciado correctamente.
Después de una actualización exitosa, su OpenProject funcionará con la última versión.
¿Buscas un servidor que simplemente funcione?
Valebyte VPS — NVMe, soporte 24/7, despliegue en 60 segundos.
¿Qué configuración de VPS elegir para OpenProject bajo carga real?
La elección de la configuración óptima de VPS para OpenProject depende de muchos factores: el número de usuarios activos, la intensidad de uso (frecuencia de creación de tareas, subida de archivos, generación de informes), el volumen de datos almacenados y la presencia de otras aplicaciones en el mismo servidor. Subestimar los requisitos puede llevar a un rendimiento lento, y sobreestimarlos, a gastos innecesarios. Valebyte.com ofrece diferentes tarifas que pueden ser adecuadas para OpenProject.
Estimación de carga y selección de recursos
Al elegir un VPS para OpenProject en el servidor, tenga en cuenta los siguientes parámetros:
- Número de usuarios: Este es el factor principal. Cuantos más usuarios, más solicitudes simultáneas a la base de datos y a la aplicación.
- Intensidad de uso: Un equipo que utiliza OpenProject activamente durante toda la jornada laboral (creando tareas constantemente, comentando, subiendo archivos) generará una carga mucho mayor que un equipo que lo usa solo para la planificación semanal.
- Tipo de disco: NVMe SSD no es una recomendación, sino un requisito para un funcionamiento estable y rápido de OpenProject. La base de datos PostgreSQL es muy sensible a la velocidad del subsistema de disco.
- Volumen de datos: A medida que crecen los proyectos y el número de adjuntos, se necesitará más espacio en disco.
- Servicios adicionales: Si en el mismo VPS se ejecutarán otras aplicaciones (por ejemplo, NocoDB para bases de datos, Wiki.js para documentación), esto aumentará la carga general sobre los recursos.
Recomendaciones de recursos:
- Procesador (vCPU): OpenProject utiliza activamente la CPU para procesar solicitudes, renderizar páginas y ejecutar tareas en segundo plano. Cuanto mayor sea la frecuencia de reloj y el número de núcleos, mejor.
- Memoria RAM: OpenProject, especialmente con PostgreSQL, puede ser bastante "glotón" de memoria. La falta de RAM provocará un uso activo del swap y una caída drástica del rendimiento.
- Espacio en disco: Comience con un margen. Si 50 GB de NVMe SSD son suficientes para un inicio pequeño, para un equipo activo con muchos adjuntos se necesitarán 100-200 GB.
Ejemplos de configuraciones de VPS de Valebyte.com
Basándonos en las necesidades de recursos, ofrecemos las siguientes configuraciones de VPS aproximadas de Valebyte.com para OpenProject:
| Escenario de uso | vCPU | RAM | NVMe SSD | Coste aproximado/mes. | Recomendaciones |
|---|---|---|---|---|---|
| Equipo pequeño (hasta 10 usuarios) Proyectos pequeños, funcionalidad básica |
2 núcleos | 4 GB | 50 GB | ~ $10-15 | Adecuado para startups y equipos pequeños. Asegúrese de que no hay otras aplicaciones que consuman muchos recursos en este mismo VPS. |
| Equipo mediano (10-30 usuarios) Uso activo, varios proyectos, adjuntos |
4 núcleos | 8 GB | 100 GB | ~ $20-35 | Elección óptima para la mayoría de los equipos en crecimiento. Proporciona un buen rendimiento bajo carga moderada. |
| Equipo grande (30-70 usuarios) Muchos proyectos, trabajo intensivo, informes |
6-8 núcleos | 16 GB | 200 GB | ~ $45-70 | Para equipos que utilizan OpenProject activamente como sistema de gestión central. Permite procesar un número significativo de solicitudes simultáneas. |
| Equipo muy grande / Empresa (más de 70 usuarios) Proyectos críticos, alta disponibilidad, grandes volúmenes de datos |
8+ núcleos | 32+ GB | 400+ GB | ~ $80+ | Requiere una monitorización cuidadosa y, posiblemente, soluciones de clúster para la base de datos. Contacte con los especialistas de Valebyte.com para una consulta individual. |
Importante: Siempre comience con una configuración que, en su opinión, se ajusta a las necesidades actuales, y esté preparado para escalar. La ventaja de un VPS es que puede aumentar fácilmente los recursos (vCPU, RAM, disco) a medida que su equipo y sus proyectos crecen. Valebyte.com ofrece planes de tarifas flexibles que le permiten adaptarse a los requisitos cambiantes.
Conclusiones
La instalación de OpenProject en un VPS a través de Docker Compose es una forma eficiente y escalable de obtener control total sobre su sistema de gestión de proyectos. La elección de la configuración correcta del VPS y seguir las recomendaciones de copia de seguridad y actualización garantizarán un funcionamiento estable y seguro de OpenProject para su equipo. Se recomienda comenzar con un VPS con 4 GB de RAM y 2 vCPU en NVMe SSD, escalando los recursos a medida que aumenta la carga.
¿Listo para elegir un servidor?
VPS y servidores dedicados en más de 72 países con activación instantánea y acceso root completo.
Empezar ahora →