Skip to content

Deploying ProjeQtOr

Introduction

ProjeQtOr (Project Quality Organizer) is a comprehensive, open-source project management software that combines all the tools needed to organize and track projects in a single, integrated platform. It covers the complete project lifecycle from requirements gathering through delivery, including resource management, risk tracking, financial planning, and quality assurance.

Built with PHP and MySQL, ProjeQtOr offers an extensive feature set that rivals commercial project management solutions. It follows project management best practices and supports methodologies like PMBOK, PRINCE2, and Agile frameworks.

Key highlights of ProjeQtOr:

  • Complete Project Management: Tasks, milestones, Gantt charts, and dependencies
  • Resource Management: Capacity planning, skill tracking, and workload analysis
  • Risk Management: Risk identification, assessment, and mitigation tracking
  • Financial Management: Budgets, costs, billing, and financial reports
  • Quality Management: Test cases, requirements traceability, and quality metrics
  • Document Management: Version control and document organization
  • Time Tracking: Timesheets and work hour reporting
  • Multi-Project Support: Manage multiple projects with portfolio views
  • Customizable: Extensive configuration options and plugin support
  • Open Source: Licensed under AGPL v3

This guide walks through deploying ProjeQtOr on Klutch.sh using Docker.

Why Deploy ProjeQtOr on Klutch.sh

Deploying ProjeQtOr on Klutch.sh provides several advantages:

Simplified Deployment: Klutch.sh automatically detects your Dockerfile and builds ProjeQtOr without complex configuration.

Persistent Storage: Attach persistent volumes for database, documents, and attachments.

HTTPS by Default: Klutch.sh provides automatic SSL certificates for secure access.

GitHub Integration: Connect your repository directly from GitHub for automatic deployments.

Scalable Resources: Allocate CPU and memory based on team size and project complexity.

Custom Domains: Assign a custom domain for your project management portal.

Prerequisites

Before deploying ProjeQtOr on Klutch.sh, ensure you have:

  • A Klutch.sh account
  • A GitHub account with a repository for your ProjeQtOr configuration
  • A MySQL or MariaDB database
  • Basic familiarity with Docker and containerization concepts
  • (Optional) A custom domain for your ProjeQtOr instance

Preparing Your Repository

Create a GitHub repository containing your Dockerfile for ProjeQtOr deployment.

Repository Structure

projeqtor-deploy/
├── Dockerfile
├── php.ini
└── .dockerignore

Creating the Dockerfile

Create a Dockerfile in the root of your repository:

FROM php:8.1-apache
# Install dependencies
RUN apt-get update && apt-get install -y \
libpng-dev \
libjpeg-dev \
libfreetype6-dev \
libzip-dev \
libicu-dev \
libldap2-dev \
unzip \
wget \
&& rm -rf /var/lib/apt/lists/*
# Configure and install PHP extensions
RUN docker-php-ext-configure gd --with-freetype --with-jpeg \
&& docker-php-ext-install -j$(nproc) \
gd \
mysqli \
pdo_mysql \
zip \
intl \
ldap
# Enable Apache modules
RUN a2enmod rewrite headers
# Download and install ProjeQtOr
ENV PROJEQTOR_VERSION=10.4.0
RUN wget -O /tmp/projeqtor.zip https://sourceforge.net/projects/projectorria/files/projeqtorV${PROJEQTOR_VERSION}.zip/download \
&& unzip /tmp/projeqtor.zip -d /var/www/ \
&& mv /var/www/projeqtorV* /var/www/projeqtor \
&& rm /tmp/projeqtor.zip
# Set document root
ENV APACHE_DOCUMENT_ROOT /var/www/projeqtor
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf
RUN sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf
# Copy PHP configuration
COPY php.ini /usr/local/etc/php/conf.d/projeqtor.ini
# Create directories and set permissions
RUN mkdir -p /var/www/projeqtor/files /var/www/projeqtor/logs \
&& chown -R www-data:www-data /var/www/projeqtor \
&& chmod -R 755 /var/www/projeqtor
EXPOSE 80
CMD ["apache2-foreground"]

Creating php.ini Configuration

Create a php.ini file with recommended settings:

; ProjeQtOr PHP Configuration
; Memory limit
memory_limit = 512M
; Upload settings
upload_max_filesize = 100M
post_max_size = 100M
; Execution time
max_execution_time = 300
max_input_time = 300
; Session settings
session.gc_maxlifetime = 3600
; Error reporting
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
display_errors = Off
log_errors = On
; Timezone
date.timezone = UTC

Creating the .dockerignore File

Create a .dockerignore file:

.git
.github
*.md
LICENSE
.gitignore
*.log
.DS_Store

Deploying ProjeQtOr on Klutch.sh

    Push Your Repository to GitHub

    Initialize your repository and push to GitHub:

    Terminal window
    git init
    git add Dockerfile php.ini .dockerignore
    git commit -m "Initial ProjeQtOr deployment configuration"
    git remote add origin https://github.com/yourusername/projeqtor-deploy.git
    git push -u origin main

    Create a New Project on Klutch.sh

    Navigate to the Klutch.sh dashboard and create a new project. Give it a descriptive name like “projeqtor” or “project-manager”.

    Create a New App

    Within your project, create a new app. Connect your GitHub account if you haven’t already, then select the repository containing your ProjeQtOr Dockerfile.

    Configure HTTP Traffic

    In the deployment settings:

    • Select HTTP as the traffic type
    • Set the internal port to 80

    Set Environment Variables

    Add the following environment variables:

    VariableValue
    DB_HOSTYour database host
    DB_NAMEprojeqtor
    DB_USERYour database user
    DB_PASSWORDYour database password

    Attach Persistent Volumes

    Add the following volumes:

    Mount PathRecommended SizePurpose
    /var/www/projeqtor/files50 GBDocument and attachment storage
    /var/www/projeqtor/logs5 GBApplication logs

    Deploy Your Application

    Click Deploy to start the build process. Klutch.sh will:

    • Detect your Dockerfile automatically
    • Build the container image
    • Attach the persistent volumes
    • Start the ProjeQtOr container
    • Provision an HTTPS certificate

    Complete Installation

    Access your ProjeQtOr instance at https://your-app-name.klutch.sh and follow the web-based installation wizard:

    1. Select your language
    2. Enter database connection details
    3. Create the administrator account
    4. Complete the setup

Initial Configuration

Setting Up Projects

  1. Log in as administrator
  2. Navigate to Projects section
  3. Click Create New Project
  4. Enter project details, dates, and assigned team
  5. Configure project settings

Creating Users

  1. Go to Administration > Users
  2. Click Create User
  3. Set username, email, and password
  4. Assign roles and permissions
  5. Associate with projects

Configuring Resources

  1. Navigate to Resources section
  2. Define resource types and capacities
  3. Set working calendars
  4. Configure skill matrices

Key Features Overview

Project Planning

  • Work Breakdown Structure: Organize work into hierarchical tasks
  • Gantt Charts: Visual timeline with dependencies
  • Milestones: Track key project deliverables
  • Critical Path: Identify schedule-critical tasks

Resource Management

FeatureDescription
Capacity PlanningView resource availability
Skill TrackingMatch skills to tasks
Workload AnalysisBalance team workload
Vacation ManagementTrack time off

Financial Tracking

  • Budget Management: Set and track project budgets
  • Cost Tracking: Monitor actual vs. planned costs
  • Billing: Generate invoices and track payments
  • Financial Reports: Revenue and profitability analysis

Quality Management

  • Requirements: Trace requirements to deliverables
  • Test Cases: Define and execute test scenarios
  • Issue Tracking: Log and resolve issues
  • Quality Metrics: Track quality indicators

Troubleshooting Common Issues

Database Connection Errors

Solutions:

  • Verify database credentials
  • Ensure database server is accessible
  • Check that the database exists

File Upload Issues

Solutions:

  • Verify PHP upload limits in configuration
  • Check file permissions on the files directory
  • Ensure adequate storage space

Performance Problems

Solutions:

  • Increase PHP memory limit
  • Optimize database queries with indexes
  • Consider database server resources

Additional Resources

Conclusion

Deploying ProjeQtOr on Klutch.sh gives you a comprehensive, self-hosted project management platform that covers all aspects of project delivery. From planning and resource management to financial tracking and quality assurance, ProjeQtOr provides the tools teams need to successfully execute projects of any size.

With Klutch.sh handling the infrastructure, you can focus on managing your projects rather than managing servers.