Files
photon-dashboard/README.md

108 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Photon Screenshot Dashboard
![Photon Logo](/logo.png)
![Version](https://img.shields.io/badge/version-1.1.0-success)
![Docker](https://img.shields.io/badge/docker-grey?logo=docker)
![PHP](https://img.shields.io/badge/PHP-grey?logo=php)
![JS](https://img.shields.io/badge/JavaScript-grey?logo=javascript)
![Apache2](https://img.shields.io/badge/Apache2-grey?logo=apache)
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 processes (OCR and thumbnail generation).
3. **MariaDB Database** (`db`): Stores metadata and application data.
Keep up-to-date on new releases by following the [changelog](./changelog.md).
## 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**
```bash
git clone <repository-url>
cd photon-dashboard
```
2. **Configure environment**
```bash
cp .env.example .env
# Edit .env with your settings
```
3. **Create data directory**
```bash
mkdir data
# Copy your screenshots to ./data/
```
4. **Deploy with Docker Compose**
```bash
docker-compose -f examples/compose-default.yml up -d
```
5. **Access the dashboard**
- Open http://localhost:8090 in your browser
## Configuration
### Deployment Options
#### Standard Deployment
Use `examples/compose-default.yml` for simple deployments:
```bash
docker-compose -f examples/compose-default.yml up -d
```
#### Traefik Custom Domains
Use `examples/compose-traefik.yml` for reverse proxy setups, authentication and 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.example # Environment configuration
└── changelog.md # Version history
```
## Updates
Container images are available at:
- Dashboard: `git.jrdn.dev/photon/photon-dashboard:latest`
- Worker: `git.jrdn.dev/photon/photon-worker:latest`
View version history: [Container Registry](https://git.jrdn.dev/jordanwalster/-/packages/container/photon-dashboard/versions)
### Logs
```bash
# View photon logs
docker logs photon_dashboard
# View worker logs
docker logs photon_worker
# View database logs
docker logs photon_db
```