Skip to content

Deploying Zenphoto

Introduction

Zenphoto is a standalone CMS designed specifically for multimedia websites, with a focus on photography. It provides a simple yet powerful platform for creating photo galleries, video showcases, and multimedia portfolios with an emphasis on image quality and presentation.

Key highlights of Zenphoto:

  • Gallery Management: Organize photos into albums and categories
  • Video Support: Host videos alongside photos
  • Image Processing: Automatic thumbnail generation and watermarking
  • EXIF Data: Display camera settings and metadata
  • Theme System: Extensive theming options for customization
  • Comment System: Built-in commenting for engagement
  • User Management: Control access to private galleries
  • Plugin Architecture: Extend functionality with plugins

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

Why Deploy Zenphoto on Klutch.sh

Deploying Zenphoto on Klutch.sh provides several advantages:

Photographer Control: Own your portfolio without platform restrictions.

Full Resolution: Display photos at original quality without compression.

HTTPS by Default: Secure access with automatic SSL certificates.

Persistent Storage: Your photos and galleries persist with Klutch.sh volumes.

Prerequisites

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

Deploying Zenphoto on Klutch.sh

    Create Your Repository

    Create a new GitHub repository with a Dockerfile:

    FROM php:8.2-apache
    # Install dependencies
    RUN apt-get update && apt-get install -y \
    libpng-dev \
    libjpeg-dev \
    libfreetype6-dev \
    libzip-dev \
    unzip \
    wget \
    && docker-php-ext-configure gd --with-freetype --with-jpeg \
    && docker-php-ext-install gd pdo pdo_mysql zip exif
    # Enable Apache modules
    RUN a2enmod rewrite
    WORKDIR /var/www/html
    # Download Zenphoto
    RUN wget https://github.com/zenphoto/zenphoto/releases/latest/download/zenphoto.zip \
    && unzip zenphoto.zip \
    && mv zenphoto/* . \
    && rm -rf zenphoto zenphoto.zip \
    && chown -R www-data:www-data /var/www/html
    EXPOSE 80

    Push to GitHub

    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.

    Deploy a MySQL Database

    Zenphoto requires a MySQL/MariaDB database. Deploy one within your project first.

    Create a New App

    Create a new app for Zenphoto and connect your GitHub repository.

    Configure HTTP Traffic

    Set the traffic type to HTTP with port 80.

    Set Environment Variables

    Configure your database connection details for the installer.

    Attach Persistent Volumes

    Add persistent volumes:

    Mount PathPurpose
    /var/www/html/albumsPhoto albums storage
    /var/www/html/cacheGenerated thumbnails
    /var/www/html/zp-dataConfiguration and data

    Deploy Your Application

    Click Deploy to build and launch Zenphoto.

    Run Setup Wizard

    Access your Zenphoto instance and complete the web-based installation wizard to configure your database and create an admin account.

    Upload Photos

    Start uploading photos through the admin interface or directly to the albums directory.

Additional Resources

Conclusion

Zenphoto on Klutch.sh provides photographers and artists with a powerful platform for showcasing their work. Create beautiful galleries, maintain full control over your images, and present your portfolio professionally without third-party platform limitations.