RouHim / turbo-pix

A Rust-based image processing and management application

Repository from Github https://github.comRouHim/turbo-pixRepository from Github https://github.comRouHim/turbo-pix

TurboPix

A fast photo gallery that automatically organizes and displays your photos with smart thumbnails and search.

Features

  • πŸš€ Fast Browsing: Browse thousands of photos quickly
  • πŸ–ΌοΈ Smart Thumbnails: Automatically creates thumbnails in multiple sizes
  • πŸ” Photo Search: Find photos by name, date, or camera details
  • πŸ“± Works Everywhere: Runs on desktop, tablet, and mobile
  • πŸ—οΈ Easy Setup: Run with Docker or install locally
  • πŸ“Š Reliable: Built-in health monitoring and performance tracking

Quick Start

Local Development

  1. Prerequisites

    # Install Rust (1.75+)
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    
    # Install dependencies (Linux)
    sudo apt-get update && sudo apt-get install -y \
      libsqlite3-dev \
      pkg-config \
      build-essential
  2. Clone and Run

    git clone <repository-url>
    cd turbo-pix
    
    # Set photo directory and run
    TURBO_PIX_PHOTO_PATHS=/path/to/your/photos cargo run
  3. Open Browser Visit http://localhost:8080

Docker

# Build and run with Docker
docker-compose up --build

# Or manually:
docker build -t turbo-pix .
docker run -p 8080:8080 \
  -v /path/to/photos:/photos \
  -v ./data:/app/data \
  -e TURBO_PIX_PHOTO_PATHS=/photos \
  turbo-pix

Configuration

Environment Variable Default Description
TURBO_PIX_PHOTO_PATHS ./photos Comma-separated list of photo directories
TURBO_PIX_DB_PATH ./data/turbo-pix.db SQLite database path
TURBO_PIX_PORT 8080 Server port
TURBO_PIX_HOST 0.0.0.0 Server host address
TURBO_PIX_CACHE_PATH ./data/cache Cache directory path
TURBO_PIX_THUMBNAIL_SIZES 200,400,800 Comma-separated thumbnail sizes
TURBO_PIX_WORKERS 4 Number of worker threads
TURBO_PIX_MAX_CONNECTIONS 100 Maximum database connections
TURBO_PIX_CACHE_SIZE_MB 512 LRU cache size in MB
TURBO_PIX_MEMORY_CACHE_SIZE 1000 In-memory cache item count
TURBO_PIX_MEMORY_CACHE_MAX_SIZE_MB 100 In-memory cache size limit
TURBO_PIX_SCAN_INTERVAL 3600 Directory scan interval in seconds
TURBO_PIX_BATCH_SIZE 1000 Processing batch size
TURBO_PIX_METRICS_ENABLED true Enable metrics collection
TURBO_PIX_HEALTH_CHECK_PATH /health Health check endpoint path
RUST_LOG info Log level (trace, debug, info, warn, error)

About

A Rust-based image processing and management application


Languages

Language:Rust 55.5%Language:JavaScript 32.9%Language:CSS 8.5%Language:HTML 2.3%Language:Dockerfile 0.6%Language:Shell 0.2%