Features

Tenrankai is packed with features designed to make hosting and managing photo galleries a breeze. Whether you're a photographer showcasing your portfolio or an organization managing multiple image collections, Tenrankai has you covered.

📂 File-Based Architecture

No Database Required

Tenrankai operates entirely on files and folders - no database setup or maintenance:

  • Drop images in folders to create galleries
  • Add markdown files for descriptions and captions
  • Write blog posts as simple markdown files
  • Configuration is just a TOML file
  • Everything is human-readable and version-control friendly

SyncThing Integration

Perfect for distributed workflows with SyncThing:

  • Edit your gallery on any device
  • Changes sync automatically to your server
  • No deployment process - just save and sync
  • Keep multiple servers in sync effortlessly
  • Works with any file synchronization tool

Simple Deployment

Since everything is files, deployment is straightforward:

  • Copy files to server - you're done!
  • Use rsync, SyncThing, Dropbox, or git
  • No database migrations or schema updates
  • Easy backup - just copy the folders
  • Portable between servers
  • Docker support with official images

🖼️ Gallery Management

Multiple Independent Galleries

Run unlimited galleries from a single Tenrankai instance, each with:

  • Custom URL prefixes (e.g., /portfolio, /family, /projects)
  • Independent source directories and cache locations
  • Per-gallery configuration for image quality and sizes
  • Custom templates for unique gallery experiences

Responsive Masonry Layout

Beautiful, mobile-friendly gallery layouts that adapt to any screen size:

  • Automatic column adjustment based on viewport
  • Smooth animations and transitions
  • Touch-friendly navigation on mobile devices
  • Optimized for both portrait and landscape orientations

Folder Organization

Organize photos hierarchically with full support for nested folders:

  • Automatic breadcrumb navigation
  • Folder descriptions via markdown files
  • Hidden folders for private collections
  • Custom folder titles and metadata

📸 Image Processing

Automatic Resizing

Generate multiple image sizes automatically:

  • Thumbnail: Small previews for gallery grids
  • Gallery: Standard viewing size
  • Medium: Larger size with optional watermarking
  • Large: Full quality (authentication required)
  • @2x variants for all sizes (retina display support)

Format Optimization

Intelligent format selection for optimal performance:

  • Full AVIF support with HDR preservation and gain maps
  • Automatic WebP conversion for supported browsers
  • JPEG fallback for maximum compatibility
  • PNG support with transparency preservation
  • Configurable quality settings per format
  • Content negotiation based on Accept headers

Color Profile Preservation

Full support for professional color management:

  • ICC profile extraction and preservation
  • Display P3 and Adobe RGB support
  • Color profiles maintained through watermarking
  • Both JPEG and WebP profile embedding

Metadata Extraction

Comprehensive EXIF data parsing:

  • Camera make, model, and settings
  • GPS coordinates and location data
  • Capture date and time
  • Lens information and focal length
  • ISO, aperture, and shutter speed

⚡ Performance & Caching

Intelligent Caching System

Multi-level caching for lightning-fast performance:

  • In-memory metadata cache with persistence
  • Processed image cache on disk
  • Automatic cache refresh in background
  • Version-based cache invalidation
  • Configurable cache directories per gallery

Concurrent Processing

Blazing-fast image processing:

  • Parallel image processing with rate limiting
  • Non-blocking background tasks
  • Async I/O throughout the application
  • Efficient memory usage with streaming

Pre-generation Options

Optional cache pre-generation for instant loading:

  • Generate all image sizes on startup
  • Background processing without blocking
  • Progress tracking and logging
  • Skip already cached images

📝 Content Management

Markdown Support

Rich content with simple markdown files:

  • Folder descriptions with _folder.md
  • Image captions with [imagename].md
  • TOML frontmatter for metadata
  • Full CommonMark support

Built-in Blog System

Multiple markdown-based blog systems:

  • TOML frontmatter for post metadata
  • Automatic HTML generation
  • Chronological sorting and pagination
  • Subdirectory organization
  • Gallery image embedding support
  • Automatic reload on file changes

Dynamic Content Updates

Keep content fresh without restarts:

  • API endpoints for content refresh
  • Automatic periodic refresh options
  • Hot-reload for development
  • Individual file update detection

🔒 Security & Protection

Copyright Watermarking

Protect your images with intelligent watermarking:

  • Automatic text color selection based on background
  • Configurable watermark text and positioning
  • Applied only to medium-sized images
  • Preserves image quality and color profiles

Modern Authentication

Secure, user-friendly authentication system:

  • Email-based passwordless login
  • WebAuthn/Passkey support for biometric login
  • Hardware security key support (YubiKey, etc.)
  • Session management with secure cookies
  • Rate limiting protection against attacks
  • User management CLI tools

Privacy Protection

Control what information is visible to the public:

  • Date Privacy: Show only month/year instead of exact timestamps
  • Location Privacy: Hide GPS coordinates and location data from public viewers
  • Perfect for family galleries, travel photos, or event collections
  • Full details remain available to authenticated users
  • Per-gallery privacy settings for flexible control

🐳 Deployment Options

Docker Support

Official Docker images for easy containerized deployment:

  • Optimized multi-stage builds (~168 MB)
  • Security hardening with non-root user
  • Environment variable configuration
  • Docker Compose examples included
  • Kubernetes-ready with health checks
  • Support for Docker Swarm deployments

Traditional Deployment

Deploy directly on any Linux server:

  • Single static binary - no runtime dependencies
  • Systemd service examples provided
  • Nginx and Apache reverse proxy configurations
  • Built-in Let's Encrypt support via proxy
  • Resource-efficient - runs on minimal VPS

🛠️ Developer Features

Template System

Flexible Liquid templating engine:

  • Customizable gallery and image templates
  • Reusable partial components
  • Per-gallery template configuration
  • Full Liquid syntax support
  • Automatic cache-busting with asset_url filter

Cascading Static Directories

Advanced asset management with precedence:

  • Multiple static directories with override support
  • Theme customization without modifying defaults
  • Perfect for A/B testing and seasonal themes
  • Automatic file version tracking
  • Cache-busting for all static assets

RESTful API

Comprehensive API endpoints:

  • Gallery preview and metadata
  • Image serving with size parameters
  • Content refresh triggers
  • Health check endpoints

Monitoring & Logging

Production-ready observability:

  • Structured logging with configurable levels
  • HTTP access logs with latency tracking
  • Error tracking and reporting
  • Performance metrics

Ready to Experience These Features?

Get started with Tenrankai today and build your perfect gallery.