Deploying QloApps
Introduction
QloApps is a free, open-source hotel reservation and booking system designed for hotels, hostels, bed and breakfasts, and other hospitality businesses. Built on a robust PHP framework, QloApps provides a complete solution for managing room inventory, reservations, guest information, and payments.
Key features of QloApps include:
- Room Management: Configure room types, amenities, pricing, and availability
- Booking Engine: Accept direct bookings through an integrated reservation system
- Channel Manager Integration: Connect with OTAs and booking channels
- Payment Processing: Support for multiple payment gateways
- Guest Management: Track guest information, preferences, and booking history
- Multi-Property Support: Manage multiple hotels from a single dashboard
- Reporting and Analytics: Generate revenue reports and occupancy statistics
- Multi-Language Support: Serve guests in their preferred language
- Responsive Design: Mobile-friendly booking interface
This guide walks through deploying QloApps on Klutch.sh using Docker, configuring the database, and setting up persistent storage for your hotel management system.
Prerequisites
Before deploying QloApps on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your QloApps configuration
- A MySQL or MariaDB database (can be provisioned separately)
- Basic familiarity with Docker and PHP applications
Deploying QloApps on Klutch.sh
- Select HTTP as the traffic type
- Set the internal port to 80
Create Your Dockerfile
Create a Dockerfile in your repository:
FROM php:8.1-apache
# Install system dependenciesRUN apt-get update && apt-get install -y \ libpng-dev \ libjpeg-dev \ libfreetype6-dev \ libzip-dev \ libicu-dev \ unzip \ curl \ && 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 \ opcache
# Enable Apache modulesRUN a2enmod rewrite headers
# Download and install QloAppsWORKDIR /var/www/htmlRUN curl -L https://github.com/Starter-Developer/qloapps/archive/refs/heads/master.zip -o qloapps.zip \ && unzip qloapps.zip \ && mv qloapps-master/* . \ && rm -rf qloapps-master qloapps.zip
# Set permissionsRUN chown -R www-data:www-data /var/www/html \ && chmod -R 755 /var/www/html
# Configure PHPRUN echo "memory_limit = 256M" > /usr/local/etc/php/conf.d/qloapps.ini \ && echo "upload_max_filesize = 50M" >> /usr/local/etc/php/conf.d/qloapps.ini \ && echo "post_max_size = 50M" >> /usr/local/etc/php/conf.d/qloapps.ini
EXPOSE 80
CMD ["apache2-foreground"]Push Your Repository to GitHub
Commit and push your Dockerfile to your GitHub repository.
Create a New Project on Klutch.sh
Navigate to the Klutch.sh dashboard and create a new project named “qloapps-hotel”.
Create a New App
Create a new app within your project and connect your GitHub repository containing the Dockerfile.
Configure HTTP Traffic
In the deployment settings:
Set Environment Variables
Configure the following environment variables:
| Variable | Value |
|---|---|
DB_SERVER | Your database host |
DB_NAME | qloapps |
DB_USER | Your database username |
DB_PASSWORD | Your database password |
PS_DOMAIN | your-app-name.klutch.sh |
Attach Persistent Volumes
Add persistent storage:
| Mount Path | Recommended Size | Purpose |
|---|---|---|
/var/www/html/img | 20 GB | Hotel and room images |
/var/www/html/upload | 10 GB | Document uploads |
/var/www/html/config | 1 GB | Configuration files |
Deploy Your Application
Click Deploy to build and start your QloApps instance.
Complete Installation
Access https://your-app-name.klutch.sh/install to complete the web-based installation wizard. After installation, remove or rename the install directory for security.
Additional Resources
- Official QloApps Website
- QloApps Documentation
- QloApps GitHub Repository
- Klutch.sh Persistent Volumes
Conclusion
Deploying QloApps on Klutch.sh gives you a complete hotel management and booking system with automatic builds, persistent storage, and secure HTTPS access. Manage your property, accept direct bookings, and streamline your hospitality operations with this powerful open-source solution.