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└── .dockerignoreCreating the Dockerfile
Create a Dockerfile in the root of your repository:
FROM php:8.1-apache
# Install dependenciesRUN 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 extensionsRUN docker-php-ext-configure gd --with-freetype --with-jpeg \ && docker-php-ext-install -j$(nproc) \ gd \ mysqli \ pdo_mysql \ zip \ intl \ ldap
# Enable Apache modulesRUN a2enmod rewrite headers
# Download and install ProjeQtOrENV PROJEQTOR_VERSION=10.4.0RUN 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 rootENV APACHE_DOCUMENT_ROOT /var/www/projeqtorRUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.confRUN sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf
# Copy PHP configurationCOPY php.ini /usr/local/etc/php/conf.d/projeqtor.ini
# Create directories and set permissionsRUN 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 limitmemory_limit = 512M
; Upload settingsupload_max_filesize = 100Mpost_max_size = 100M
; Execution timemax_execution_time = 300max_input_time = 300
; Session settingssession.gc_maxlifetime = 3600
; Error reportingerror_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICTdisplay_errors = Offlog_errors = On
; Timezonedate.timezone = UTCCreating the .dockerignore File
Create a .dockerignore file:
.git.github*.mdLICENSE.gitignore*.log.DS_StoreDeploying ProjeQtOr on Klutch.sh
- Select HTTP as the traffic type
- Set the internal port to 80
- Detect your Dockerfile automatically
- Build the container image
- Attach the persistent volumes
- Start the ProjeQtOr container
- Provision an HTTPS certificate
- Select your language
- Enter database connection details
- Create the administrator account
- Complete the setup
Push Your Repository to GitHub
Initialize your repository and push to GitHub:
git initgit add Dockerfile php.ini .dockerignoregit commit -m "Initial ProjeQtOr deployment configuration"git remote add origin https://github.com/yourusername/projeqtor-deploy.gitgit push -u origin mainCreate 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:
Set Environment Variables
Add the following environment variables:
| Variable | Value |
|---|---|
DB_HOST | Your database host |
DB_NAME | projeqtor |
DB_USER | Your database user |
DB_PASSWORD | Your database password |
Attach Persistent Volumes
Add the following volumes:
| Mount Path | Recommended Size | Purpose |
|---|---|---|
/var/www/projeqtor/files | 50 GB | Document and attachment storage |
/var/www/projeqtor/logs | 5 GB | Application logs |
Deploy Your Application
Click Deploy to start the build process. Klutch.sh will:
Complete Installation
Access your ProjeQtOr instance at https://your-app-name.klutch.sh and follow the web-based installation wizard:
Initial Configuration
Setting Up Projects
- Log in as administrator
- Navigate to Projects section
- Click Create New Project
- Enter project details, dates, and assigned team
- Configure project settings
Creating Users
- Go to Administration > Users
- Click Create User
- Set username, email, and password
- Assign roles and permissions
- Associate with projects
Configuring Resources
- Navigate to Resources section
- Define resource types and capacities
- Set working calendars
- 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
| Feature | Description |
|---|---|
| Capacity Planning | View resource availability |
| Skill Tracking | Match skills to tasks |
| Workload Analysis | Balance team workload |
| Vacation Management | Track 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
- ProjeQtOr Official Website
- ProjeQtOr Documentation
- ProjeQtOr SourceForge
- Klutch.sh Persistent Volumes
- Klutch.sh Deployments
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.