CBPHOTOGRAPHY / PROJECT

A hobby project you can build on

Photography.
Technology.
Your portfolio.

This website grew from two interests: taking photographs and building the technology behind them. If you are a photographer looking for something similar, you can host it on your own webspace.

Self-hosted · PHP & database · Private, non-commercial use

Explore the project

01Gallery & featuresExplore images, technical details and examples.

01 / The gallery

Room for your photos.
With the details behind them.

The interface stays understated. Visitors can open technical details and additional features whenever they want to learn more about a photograph.

01

Albums & discovery

Present photos in series and search the entire collection from the homepage. Combine camera, lens, aperture, shutter speed, ISO, lighting and location filters, even without a search term.

02

The photograph takes centre stage

An image viewer with optional EXIF details. Swipe to change photos, pull down to close, or swipe up to show image information.

03

The right size for each display

Preview images and image variants for different displays. Original files are retained for requested downloads.

04

Downloads by email

Collect images, enter an email address and request a personal link. Get 48-hour access to individual files or a combined ZIP.

05

Subscribe to new photos

An optional photo subscription with email confirmation and an unsubscribe link. The photographer prepares and starts notifications in the admin area.

06

Map, ratings & contact

An optional photo map on the homepage and gallery after activation. Use “Show images in this map area” to filter the visible region. Includes aperture-based ratings, dark mode and a contact form with server-side security checks and sending limits.

Gallery & albumsA photo series in the clear album view.
Image details & EXIFAufnahmedaten direkt beim Foto einblenden.
Search & filtersFind images by technical data and other attributes.
02The admin areaImage management, statistics, configuration and other tools.

02 / The workspace

Manage it in your browser.

Try the admin demo ↗

Try it without registering. The public demo password Demo-Portfolio-2026! is also shown on the login page. All visitors share changes; after one hour, the initial state is restored on the next visit. Emails are simulated and statistics use sample data.

A protected admin area brings together images, configuration and feedback. Here is an overview:

01Clear sections for image management

Five tabs for uploads, images, ratings, EXIF editing and publishing. Upload photos and videos, synchronise files and manage albums. Deleting an album keeps its media files.

02Drafts & scheduled publication

New uploads and FTP imports start as drafts. Publish images immediately, withdraw them or schedule a time in Europe/Berlin. They become available at that time without a cron job. Originals, previews, search, downloads and new subscription campaigns respect the status. Previously saved copies cannot be recalled; emails are still started manually.

03Detect duplicate uploads

Byte-identical files are detected using SHA-256, even with different filenames. Instead of saving a second copy, the existing image can be added to the selected album. Recompressed or merely similar-looking images are not considered duplicates.

04Edit EXIF data in bulk

A filterable table with thumbnails and ten metadata columns. Edit up to 50 selected images at a time: set values, clear fields or fill missing information only. Camera and lens filters also support EMPTY. Every field offers existing values from the whole collection as suggestions. New values can be entered freely and become suggestions after saving. Changes affect the gallery database; original files remain unchanged.

05Prepare image variants

Prepare thumbnails and display sizes in the admin area so visitors do not have to wait for generation on their first visit.

06Statistics & ratings

Seven sections: overview, image views, live, visitor map, browsers & devices, daily overview and notes. Image views count opening the image viewer, not thumbnails. Live estimates visible gallery tabs active in the last two minutes; multiple tabs can count separately. The country map uses local geolocation data without external lookup requests. No unique people are identified and no raw IP addresses are stored. Date-range reports can be exported as CSV; Live shows current activity.

07Download requests

A clear table showing email, file selection, sending status and view/download-start counts. Disable personal links when needed.

08Photo subscriptions

View subscribers and sending logs in tables, gather new images for a message, and start, pause or resume sending. Keep the admin area open while sending.

09Software updates in the admin area

Check for new versions and choose to install compatible updates. HTTPS, digital signatures and checksums protect the download. The current code is backed up before replacement; interrupted updates can be rolled back through a protected recovery page. Images, database, credentials and settings are retained. Local code changes or required database migrations stop automatic updating. Version 1.5.0 is the baseline; older versions need a fresh installation or a separate manual migration first.

10Suggest improvements

The self-hosted admin shows the shared anonymised ideas board with status, target version, filters and support counts. Support existing ideas by confirmed email or submit your own. Each address gets one vote per suggestion. Central administration, personal messages and contact details remain with the developer.

11Access & security

Change the admin password directly, or request a one-time recovery link to the saved contact address. The self-hosted edition requires changing the password on first login. Consistent form destinations and the technical account identifier admin help password managers identify the login.

12Tabbed configuration

Seven tabs for general settings, features, appearance, images, social links, slideshow and legal details, saved together. Enter a custom hex accent colour or choose one of six presets. Arrange social links with matching icons.

13Choose your features & layout

Enable or disable photo subscriptions, the admin link, dark-mode switch, homepage search and filters, and the contact form individually. Place albums above or below selected photos. Search inside albums stays available, and existing subscribers can still unsubscribe.

14System check in the admin area

Check the server and PHP extensions, upload limits, directory permissions, cache and logged email sending. A step-by-step media check finds missing or unreadable files and image variants not yet prepared. Checks do not change images or send test emails.

15Set EXIF visibility per device

Under Configuration → Images, choose separately whether the viewer starts with EXIF details on desktop or mobile/tablet. Both defaults are initially off. Visitors can toggle the display at any time.

16Live preview on desktop

The admin navigation stays on the left while the website appears on the right. Use Refresh preview to review saved changes. The preview is not loaded on phones and tablets.

17A direct route between website and admin

A discreet admin link in the website footer shows Signed in when your session is valid. Back to website returns from admin to the gallery in the same tab.

18Enable or disable downloads

A toggle for the entire download feature and basket. When off, selection and requests are disabled and personal download links are paused. Links that are still valid work again after enabling it.

03Requirements & privacyHosting, database, email delivery and operating information.

03 / Behind the scenes

For your own webspace.

This edition is for photographers who run their own website and have some experience with hosting and databases.

  • Apache 2.4 with .htaccess and mod_rewrite
  • PHP 8.3+ with PDO MySQL, GD/WebP, EXIF, Zip, Fileinfo, Mbstring and OpenSSL
  • Your own empty MySQL 8.0+ or MariaDB 10.6+ database
  • HTTPS, outbound HTTPS requests and working PHP email delivery

What you should know

The web wizard guides you through requirements, verification, database details and website settings. After uploading, open the website over HTTPS, upload the provided verification file unchanged and continue in the browser. No PHP file needs editing. Finally, tables and configuration are created and the personal password-change page opens. The fixed initial password is Photography-Start-2026!. If you leave the setup session before changing the password, your first login also requires the individual access key from the completion page. The installer locks itself automatically. Existing tables are not overwritten.

The contact form, download links and photo subscriptions require working email delivery from your host. Subscription notifications are started manually in the admin area.

The optional map loads Leaflet and OpenStreetMap after activation. Update your content, operator details and privacy information before publishing.

Installation reporting: During setup, when saving settings, and subsequently at most once a day when the website is used, the self-hosted edition reports its website URL, version and a random installation identifier to brehmen.com. This is disclosed beforehand. No images, visitor or subscriber data are sent; no reports are sent without page visits. There is no switch to disable reporting in the admin area.

Internal statistics count aggregate page and image views. Live briefly records active gallery tabs; a random token is held only in memory, while the server stores its hash, country and last activity time. Approximate country lookup happens locally using DB-IP Country Lite (CC BY 4.0); VPNs and providers can affect accuracy. There is no individual browsing history or personal email-open tracking.

04Download & current versionSigned ZIP, current version and licence information.

04 / Try it yourself

Your starting point.

The complete website package with source code, an empty database schema, a guided web installer and updates in the admin area.

Your installation starts without my photos, credentials, subscribers or statistics. A neutral camera icon replaces my personal logo.

Download ZIP

Version 1.7.0 · 4.637 KB · 17.10.2026

CURRENT VERSION

Version 1.7.0

New in version 1.7.0: the shared ideas board appears directly in the self-hosted admin. View and filter anonymised suggestions from all users with progress, target version and support counts, and support them by confirmed email. Unmodified installations from version 1.5.0 can install this version using Software updates.

Licence
Private, non-commercial use. Modifications and free redistribution under the same conditions are permitted. Commercial use requires separate permission.
Included
79 files including installer, README and licence
Checksum / SHA-256
30651c084d4ce4ece0c46169861c03f92e696e0f11fb07abae1c414f9577bac9

A hobby project with no guaranteed support or update schedule. Test it on your hosting before production use. Initial installation requires an empty database. Compatible subsequent releases can then be installed using the update button. Database changes and migration from 1.3/1.4 still require a separate migration or fresh installation.

05Installation & first admin loginFrom ZIP to your own portfolio, including initial password and setup.

From ZIP to portfolio

  1. PrepareCreate a new website and empty database with your host. Check the requirements.
  2. Set upUpload the files and open the website over HTTPS. The wizard checks your hosting; upload the verification file and enter your database details in the browser.
  3. Get startedSet a personal admin password, review your details, publish test images and test email delivery. The installer locks itself automatically.

All steps are explained in the browser; the README provides additional help. Create the database with your host beforehand. Back up existing installations first – this edition does not include a general-purpose database upgrader.

Guided web installerSet up requirements, verification, database and website in the browser · Example view.
06Release information & version historyAll releases since 1.0.0 and what changed.

Release Info

Version history

From the first self-hosted edition to the current version. This information was compiled from published packages and their changelogs.

Version 1.7.0Shared ideas board & support
  • New: shared anonymised ideas board directly in the self-hosted admin, with progress, target version, status filters and support counts.
  • New: support suggestions on the central project page using confirmed email; one vote per address and suggestion.
  • Public descriptions are reviewed centrally; personal messages and contact details remain private.
  • Update from unmodified 1.6.0 or 1.5.0 via Software updates; no database schema change.
Version 1.6.0Visible initial credentials & suggestions
  • New: initial admin password highlighted before completion; password and individual access key shown clearly on the completion page.
  • New: Improvements menu with an explicit link to the central suggestion form, email confirmation and implementation updates.
  • Updates from unmodified version 1.5.0 are available via Software updates; database schema remains 1.
Version 1.5.0Web installer & signed updates
  • Guided web installer: requirements, verification file, database details in the browser, website details and automatic completion. No manual setup-config.php.
  • Signed software updates in the self-hosted admin with backup, maintenance mode and recovery; compatible database schemas only.
Version 1.4.0Publishing, system check & live statistics
  • Drafts, scheduled publication without cron, and protected original/preview images. New uploads and FTP imports start as drafts.
  • Detects byte-identical upload duplicates even with different filenames.
  • System check for server, media, cache and email status.
  • Image views, live activity and approximate visitor countries using a local geolocation dataset.
  • Feature switches for downloads, photo subscriptions, admin link, dark-mode switch, homepage search and contact; configurable order of albums and photos.
  • Map area as a search filter, homepage map, more reliable large-file uploads and mobile admin layout.
  • Locally hosted Inter Tight font, custom 404 page and updated operator information.
  • No automatic database upgrader. Existing installations need a verified schema/cache migration before replacing files.
Version 1.3.0Suggestions, global search & live preview
  • Bulk EXIF editing: suggestions from all existing field values and free entry of new values.
  • Separate EXIF defaults for desktop and mobile/tablet under Configuration → Images; both initially off.
  • Statistics tabs for overview, browsers & devices, daily overview and notes. The date range is retained.
  • Desktop live preview of the website in admin, with a refresh button.
  • Global search and all EXIF/location filters on the homepage, even without search text.
  • Discreet footer admin link with sign-in status; Back to website opens in the same tab.
  • Improved password-manager detection through consistent form destinations and the account identifier admin.
  • Initial installer for an empty database; no automatic database upgrader. No images, credentials or runtime data included.
Version 1.2.0Bulk EXIF editing & management tabs
  • Image management with Upload, Images, Ratings and Optimise EXIF data tabs.
  • Filterable EXIF table with previews, ten metadata fields and bulk editing for up to 50 selected images per operation.
  • Keep, set or clear individual fields; fill missing values only; EMPTY filters for camera and lens. Original files remain unchanged.
  • Configuration in five tabs, a shared download/basket toggle and consistent social-link fields.
  • Tables for download requests, photo subscriptions and sending logs.
  • Compact back link in the gallery.
Version 1.1.1Separate installation reporting
  • Registers the owner installation, reports daily when used, and keeps the central hub completely separate from the self-hosted package. Includes password changes and email recovery, gallery, admin area, email downloads and photo subscriptions.
Version 1.1.0Password management & initial activation
  • Password changes, email recovery, protected first activation of the fixed initial password and transparent installation reporting. Includes gallery, admin area, email downloads and photo subscriptions.
Version 1.0.0First self-hosted edition
  • First independently installable edition with gallery, admin area, email downloads, photo subscriptions and individual configuration.
07Ideas & improvementsFollow shared progress, support ideas or submit your own.

Developing together

Your idea for the portfolio.

What feature is missing? What could be easier? After you confirm your email address, your suggestion will be reviewed in the central admin area. You will receive updates about the decision and the released version.

Shared ideas & progress

Browse confirmed suggestions from all users. Public descriptions are reviewed for personal information first. Supporting an idea shows that you would also find it useful.

1 suggestions · Page 1 of 1 · Sorted by support

On smaller screens, scroll the table horizontally.

Anonymised suggestions with status, release version and support counts
SuggestionStatusVersionVotesSupport
#1Verbesserungen optimieren

alle Eingegangenen Verbesserungen auch in der Selfhostet version sehen und den aktuellen fortschritt sehen

CompletedAvailable since1.7.01Closed

Submit a new idea