2026-04-30 03:44:00 +01:00
2026-04-30 01:27:12 +01:00
2026-04-30 03:44:00 +01:00
2026-04-30 01:27:12 +01:00
2026-04-30 03:44:00 +01:00

Photon Screenshot Dashboard

Photon Logo

Version Docker

A modern, self-hosted PHP screenshot and media management dashboard with powerful organization features, sharing capabilities, and a clean web interface.

The project consists of three main components:

  1. Photon Dashboard (photon): Web interface for managing screenshots.
  2. Photon Worker (worker): Background processing and file scanning.
  3. MariaDB Database (db): Stores metadata and application data.

Keep up-to-date on new releases by following the changelog.

Features

  • Smart Organization: Organize screenshots with folders and tags.
  • Advanced Search: Find images quickly by name or content using OCR.
  • Easy Sharing: Built-in public sharing URLs.
  • Media Support: JPG, PNG, GIF, and MP4 (experimental) file support.
  • Bulk Operations: Select and manage multiple files at once.
  • Sorting Options: Sort by date, size, or filename.
  • Trash Management: Safe deletion with trash functionality.
  • Background Processing: Dedicated worker for compression and OCR processing.
  • Database Storage: MariaDB backend for reliable data persistence.

An external authentication proxy is recommended to protect your dashboard from unwanted eyes.

Quick Start

  1. Clone the repository

    git clone <repository-url>
    cd photon-dashboard
    
  2. Configure environment

    cp .env.example .env
    # Edit .env with your settings
    
  3. Create data directory

    mkdir data
    # Copy your screenshots to ./data/
    
  4. Deploy with Docker Compose

    docker-compose -f examples/compose-default.yml up -d
    
  5. Access the dashboard

Configuration

Environment Variables

Copy the .env file and customize these key settings:

Dashboard Settings

  • PHOTON_PORT: Web interface port (default: 8090)
  • USER_EMAIL: Admin email address
  • DATA_PATH: Path to your screenshots folder

Worker Settings

  • SCAN_RATE: File scanning interval in seconds (default: 10)

Database Settings

  • MYSQL_DATABASE: Database name used by Photon (defaults to photon).
  • MYSQL_USER: Database user used by Photon.
  • MYSQL_PASSWORD: Database password used by Photon user.
  • MYSQL_ROOT_PASSWORD: Database root password.

Domain Options

  • PHOTON_DOMAIN: Domain used for dashboard.
  • PHOTON_SHARE_DOMAIN: Optional subdomain for sharing links.
  • COOKIE_DOMAIN: Required when adding a subdomain for sharing.

Deployment Options

Standard Deployment

Use examples/compose-default.yml for simple deployments:

docker-compose -f examples/compose-default.yml up -d

Traefik Custom Domains

Use examples/compose-traefik.yml for reverse proxy setups with custom domains.

Project Structure

photon-dashboard/
├── examples/
│   ├── compose-default.yml    # Default example for basic usage.
│   ├── compose-traefik.yml    # Traefik example for custom domain routing.
│   └── .env                   # Environment configuration
│
└── changelog.md               # Version history

Updates

Container images are available at:

  • Dashboard: git.jrdn.dev/jordanwalster/photon-dashboard:latest
  • Worker: git.jrdn.dev/jordanwalster/photon-worker:latest

View version history: Container Registry

Logs

# View photon logs
docker logs photon_dashboard

# View worker logs  
docker logs photon_worker

# View database logs
docker logs photon_db
S
Description
The PHP Screenshot Management Dashboard
Readme 2.3 MiB
Release 1.1.2 Latest
2026-07-31 12:44:19 +01:00
Languages
Markdown 100%