Skip to content

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

    Create Your Dockerfile

    Create a Dockerfile in your repository:

    FROM php:8.1-apache
    # Install system dependencies
    RUN 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 extensions
    RUN docker-php-ext-configure gd --with-freetype --with-jpeg \
    && docker-php-ext-install -j$(nproc) \
    gd \
    mysqli \
    pdo_mysql \
    zip \
    intl \
    opcache
    # Enable Apache modules
    RUN a2enmod rewrite headers
    # Download and install QloApps
    WORKDIR /var/www/html
    RUN 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 permissions
    RUN chown -R www-data:www-data /var/www/html \
    && chmod -R 755 /var/www/html
    # Configure PHP
    RUN 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:

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

    Set Environment Variables

    Configure the following environment variables:

    VariableValue
    DB_SERVERYour database host
    DB_NAMEqloapps
    DB_USERYour database username
    DB_PASSWORDYour database password
    PS_DOMAINyour-app-name.klutch.sh

    Attach Persistent Volumes

    Add persistent storage:

    Mount PathRecommended SizePurpose
    /var/www/html/img20 GBHotel and room images
    /var/www/html/upload10 GBDocument uploads
    /var/www/html/config1 GBConfiguration 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

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.