Platform for publishing and organising media content (videos and photos) built on ProcessWire CMS.
Live Demo: media.smnv.org
Description
SMNV Media is a fully-featured media platform for hosting and managing video content with Backblaze B2 and Cloudflare integration. The platform showcases 4K walking tours through Switzerland, served directly from Backblaze B2 via Cloudflare with zero bandwidth costs.
Key Features
- Video Galleries - Organise and publish video content
- ️ Photo Collections - Manage photo galleries
- Authors and Persons - System for author profiles and featured persons
- Categories - Organise content by categories
- Collections - Curated media content collections
- Playlists - Create video playlists
- Search - Full-text content search
- Backblaze B2 Integration - Cloud media file storage
- ⚡ Cloudflare CDN - Fast content delivery with zero bandwidth costs
Technologies
- CMS: ProcessWire 3.x
- PHP: 8.1+
- Database: MySQL/MariaDB
- Storage: Backblaze B2
- CDN: Cloudflare
- Frontend: Responsive design, Alpine.js
Screenshots
Homepage

Homepage featuring hero section, browse by category, latest videos, featured people, and new content sections
Video Page

Individual video page with player, description, and related videos sidebar
Videos Listing

Videos archive page showing all 4K walking tours through Switzerland
Project Structure
site-media/
├── templates/ # Page templates
│ ├── home.php # Homepage
│ ├── videos.php # Video listing
│ ├── video.php # Video page
│ ├── photos.php # Photo gallery
│ ├── authors.php # Authors listing
│ ├── persons.php # Persons listing
│ ├── categories.php # Categories
│ └── collections.php # Collections
├── modules/ # Custom modules
│ ├── AddImageUrls/ # Add URLs to images
│ ├── Dashboard/ # Admin dashboard
│ └── FieldtypeFileB2/ # Backblaze B2 integration
├── classes/ # PHP classes
├── install/ # Installation files
│ ├── install.sql # SQL dump
│ └── files/ # Media files
└── assets/ # Static files
Content Types
Videos
- Title and description
- Preview image
- Video file (via B2)
- Categories
- Authors
- Featured persons
- Publication date
Photos
- Title
- Images
- Categories
- Authors
Authors
- Author name
- Biography
- Avatar
- Related publications
Persons
- Person name
- Description
- Photo
- Related materials
Categories
- Name
- Description
- Preview image
- Content count
Collections
- Collection name
- Description
- Curated videos/photos
Installation
- Download and Install ProcessWire: Ensure you have ProcessWire installed on your server. If not, download it from ProcessWire's official website.
- Import the Site Profile: Import the SMNV Media site profile into your ProcessWire installation.
- Configure Your Environment: Set up any necessary configurations in the Admin panel, including setting up templates and fields.
- Styling Customization: Customize the appearance of your URL shortener by modifying the Tailwind CSS styles according to your preferences.
Custom Modules
FieldtypeFileB2
Module for integrating ProcessWire with Backblaze B2 cloud storage. Allows storing media files in B2 and serving them through Cloudflare CDN.
Dashboard
Enhanced admin panel with analytics and quick access to functions.
AddImageUrls
Automatic URL addition to uploaded images.
Requirements
- PHP 8.1 or higher
- MySQL 5.7+ / MariaDB 10.2+
- ProcessWire 3.0.210+
- Apache/Nginx with mod_rewrite
- Backblaze B2 account (optional)
- Cloudflare account (optional)
Implementation Features
Zero Bandwidth Costs
Through Backblaze B2 + Cloudflare integration, zero bandwidth costs are achieved:
- Files stored in Backblaze B2 ($0.005/GB/month)
- Served via Cloudflare CDN (free)
- Backblaze doesn't charge for bandwidth through Cloudflare Bandwidth Alliance
Responsive Design
All templates are optimised for mobile devices and tablets.
SEO Optimisation
- Semantic markup
- Open Graph tags
- Optimised URLs
- Sitemap generation
Licence
ProcessWire - MPL 2.0
Custom code - MIT Licence
Author
Maxim Alex
Support
For enquiries and support, contact maxim@smnv.org