Skip to content

Deploying Microweber

Introduction

Microweber is an open-source drag-and-drop website builder and CMS that enables users to create beautiful websites and online stores without writing code. Built with PHP and Laravel, Microweber provides an intuitive visual editor that allows real-time editing directly on your pages.

The platform combines the flexibility of a traditional CMS with the simplicity of modern website builders. Whether you’re creating a blog, portfolio, business website, or full e-commerce store, Microweber offers the tools and templates to bring your vision to life.

Key highlights of Microweber:

  • Drag-and-Drop Editor: Visual page builder with real-time preview
  • E-Commerce Built-In: Full shopping cart, payments, and inventory management
  • Template System: Professional templates with easy customization
  • Blog Platform: Complete blogging with categories, tags, and comments
  • SEO Tools: Built-in SEO optimization features
  • Multi-Language: Support for multiple languages and localization
  • Module System: Extend functionality with modules and plugins
  • Responsive Design: Mobile-friendly websites out of the box
  • White-Label Ready: Rebrand for agencies and resellers
  • 100% Open Source: Self-host with complete code access

This guide walks through deploying Microweber on Klutch.sh using Docker, configuring persistent storage, and setting up your website builder.

Why Deploy Microweber on Klutch.sh

Deploying Microweber on Klutch.sh provides several advantages for self-hosted website building:

Simplified Deployment: Klutch.sh automatically detects your Dockerfile and builds Microweber without complex orchestration. Push to GitHub, and your website builder deploys automatically.

Persistent Storage: Attach persistent volumes for your database, uploads, and website content. Your sites survive container restarts and redeployments.

HTTPS by Default: Klutch.sh provides automatic SSL certificates for secure website access and e-commerce transactions.

GitHub Integration: Connect your configuration repository directly from GitHub. Updates trigger automatic redeployments.

Scalable Resources: Allocate CPU and memory based on your traffic and content needs.

Custom Domains: Assign custom domains for professional websites.

Always-On Availability: Your websites remain accessible 24/7 without managing your own hardware.

Prerequisites

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

  • A Klutch.sh account
  • A GitHub account with a repository for your configuration
  • Basic familiarity with Docker and containerization concepts
  • A MySQL/MariaDB database (can be deployed on Klutch.sh)
  • (Optional) Custom domains for your websites

Preparing Your Repository

To deploy Microweber on Klutch.sh, create a GitHub repository containing your Dockerfile and configuration.

Repository Structure

microweber-deploy/
├── Dockerfile
├── README.md
└── .dockerignore

Creating the Dockerfile

Create a Dockerfile in the root of your repository:

FROM php:8.1-apache
# Install system dependencies
RUN apt-get update && apt-get install -y \
git \
curl \
libpng-dev \
libonig-dev \
libxml2-dev \
libzip-dev \
zip \
unzip \
libfreetype6-dev \
libjpeg62-turbo-dev \
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
&& docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd zip \
&& rm -rf /var/lib/apt/lists/*
# Enable Apache mod_rewrite
RUN a2enmod rewrite
# Install Composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
# Set working directory
WORKDIR /var/www/html
# Download Microweber
RUN curl -L https://github.com/microweber/microweber/archive/master.tar.gz | tar xz --strip-components=1
# Install PHP dependencies
RUN composer install --no-dev --optimize-autoloader
# Set permissions
RUN chown -R www-data:www-data /var/www/html \
&& chmod -R 755 /var/www/html/storage \
&& chmod -R 755 /var/www/html/userfiles
# Configure Apache
RUN sed -i 's!/var/www/html!/var/www/html/public!g' /etc/apache2/sites-available/000-default.conf
# PHP configuration
RUN echo "upload_max_filesize = 100M" >> /usr/local/etc/php/conf.d/uploads.ini \
&& echo "post_max_size = 100M" >> /usr/local/etc/php/conf.d/uploads.ini \
&& echo "memory_limit = 256M" >> /usr/local/etc/php/conf.d/uploads.ini
# Expose port
EXPOSE 80
# Health check
HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
CMD curl -f http://localhost/ || exit 1

Environment Variables Reference

VariableRequiredDefaultDescription
APP_KEYYes-Laravel application key
APP_URLYes-Public URL of your installation
DB_CONNECTIONYesmysqlDatabase driver
DB_HOSTYes-Database hostname
DB_PORTNo3306Database port
DB_DATABASEYes-Database name
DB_USERNAMEYes-Database username
DB_PASSWORDYes-Database password
MW_APP_KEYNo-Microweber specific encryption key

Deploying on Klutch.sh

    Set Up a Database

    Deploy a MySQL or MariaDB database on Klutch.sh or use an external provider. Note the connection details.

    Generate an Application Key

    Generate a Laravel application key:

    Terminal window
    php -r "echo 'base64:'.base64_encode(random_bytes(32)).PHP_EOL;"

    Push Your Repository to GitHub

    Initialize your repository and push to GitHub:

    Terminal window
    git init
    git add Dockerfile .dockerignore README.md
    git commit -m "Initial Microweber deployment configuration"
    git remote add origin https://github.com/yourusername/microweber-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 “microweber” or “website-builder”.

    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 Microweber Dockerfile.

    Configure HTTP Traffic

    Microweber serves its web interface over HTTP. 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
    APP_KEYYour generated application key
    APP_URLhttps://your-app.klutch.sh
    DB_CONNECTIONmysql
    DB_HOSTYour database host
    DB_DATABASEYour database name
    DB_USERNAMEYour database user
    DB_PASSWORDYour database password

    Attach Persistent Volumes

    Add the following volumes:

    Mount PathRecommended SizePurpose
    /var/www/html/storage10 GBApplication storage and cache
    /var/www/html/userfiles50 GBUser uploads and media

    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 Microweber container
    • Provision an HTTPS certificate

    Access Microweber

    Once deployment completes, access your Microweber instance at https://example-app.klutch.sh and complete the installation wizard.

Initial Setup

Installation Wizard

On first access, complete the setup:

  1. Select your language
  2. Enter database connection details
  3. Create your admin account
  4. Choose a website template
  5. Complete installation

Admin Dashboard

Access the admin panel at /admin:

  1. Log in with your admin credentials
  2. Explore the dashboard
  3. Configure site settings
  4. Start building your website

Building Your Website

Using the Visual Editor

Create pages with the drag-and-drop editor:

  1. Navigate to your page
  2. Click Edit to enter edit mode
  3. Drag modules from the sidebar
  4. Drop onto the page
  5. Click elements to customize
  6. Save your changes

Available Modules

Microweber includes many built-in modules:

  • Text: Rich text content blocks
  • Image: Single images with effects
  • Gallery: Image galleries and sliders
  • Video: Embed videos from any source
  • Contact Form: Customizable forms
  • Posts: Blog post listings
  • Shop: E-commerce product displays
  • Social: Social media integrations

Templates and Themes

Customize your site’s appearance:

  1. Go to Admin > Templates
  2. Browse available templates
  3. Install and activate your choice
  4. Customize colors and layouts

E-Commerce Features

Setting Up Your Store

Configure online selling:

  1. Go to Admin > Online Shop
  2. Configure payment methods
  3. Set up shipping options
  4. Configure tax settings

Adding Products

Create products for sale:

  1. Navigate to Admin > Shop > Products
  2. Click Add Product
  3. Enter product details
  4. Upload images
  5. Set pricing and inventory
  6. Publish

Payment Integration

Accept payments with:

  • PayPal
  • Stripe
  • Bank transfer
  • Cash on delivery
  • Custom payment modules

Content Management

Blog Posts

Create blog content:

  1. Go to Admin > Content > Posts
  2. Click Add Post
  3. Write your content
  4. Add categories and tags
  5. Publish or schedule

Categories and Navigation

Organize your content:

  1. Create categories for posts and products
  2. Build navigation menus
  3. Set up breadcrumbs
  4. Configure URL structure

SEO Optimization

Built-in SEO Tools

Optimize for search engines:

  • Meta titles and descriptions
  • Open Graph tags
  • XML sitemaps
  • URL customization
  • Image alt texts

Per-Page SEO

Configure SEO for each page:

  1. Edit the page
  2. Click SEO Settings
  3. Enter meta title and description
  4. Preview search appearance

Troubleshooting

Installation Issues

  • Verify database credentials
  • Check PHP extensions are installed
  • Ensure proper file permissions
  • Review PHP error logs

Editor Not Loading

  • Clear browser cache
  • Check JavaScript console for errors
  • Verify all assets are loading
  • Test in incognito mode

File Upload Errors

  • Check PHP upload limits
  • Verify file permissions on userfiles
  • Ensure sufficient disk space
  • Review allowed file types

Additional Resources

Conclusion

Deploying Microweber on Klutch.sh gives you a powerful, self-hosted website builder with complete control over your web presence. The drag-and-drop editor makes it easy to create professional websites without coding, while the built-in e-commerce features enable online selling.

The combination of Microweber’s user-friendly interface and Klutch.sh’s reliable infrastructure provides everything needed to build and host websites for yourself, clients, or your organization. Whether you’re creating a simple portfolio or a full-featured online store, Microweber on Klutch.sh delivers a complete website building solution.