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.
🎉 New in Latest Release: Enhanced metadata system with XMP support, gallery filters, click-to-zoom loupe, React frontend, flexible image indexing, and much more! Tenrankai now supports professional photography workflows with user comments, picks, and tags.
📂 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
- Permissions in config: Define access rules right in your TOML
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
- Gallery-specific permissions: Different access rules per gallery
- Individual copyright holders: Different watermarks per gallery
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
- Metadata badges: ✓ (picks), ★ (highlights), 💬 (comments)
- Filter bar: Persistent URL-based filtering
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: 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
- Smart format selection based on browser capabilities
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
Enhanced Metadata System
Multi-source metadata with priority cascade:
- Markdown frontmatter: Override any metadata with TOML
- XMP sidecar files: Adobe Lightroom compatible
- EXIF extraction: Camera, lens, GPS, settings
- Astronomy support: Telescope, mount, exposure hours
- Custom fields: Tags, descriptions, additional details
- Priority order: Markdown > XMP > EXIF
⚡ 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
- Permission-aware: Posts visibility based on user roles
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
- Permission-protected refresh: Only admins can trigger updates
🎉 Interactive Features NEW
Enhanced user interaction capabilities:
- Click-to-Zoom Loupe: 2x magnification with click-and-hold
- User Metadata Storage: Comments, picks, highlights, tags in .toml sidecars
- Area-Specific Comments: Select and comment on specific parts of images
- Gallery Filters: Filter by picks, rejects, highlights, comments
- Permission-based interaction: Fine-grained control over features
- Collaborative workflows: Multiple users can comment and organize
- React Frontend: Modern SPA with swipe navigation on mobile
- Image Protection: Harder to save images via right-click
👥 Collaboration & Feedback
Area-Specific Comments NEW
Provide precise feedback by commenting on specific parts of images:
- Visual Selection: Click and drag to select rectangular areas
- Mobile Friendly: Touch gestures supported on tablets and phones
- Context Preservation: Areas remain highlighted when viewing comments
- Edit Support: Add, change, or remove areas when editing comments
- Responsive Display: Percentage-based coordinates adapt to any screen size
- Visual Previews: See highlighted areas in comment threads
Use Cases for Area Comments
Perfect for professional workflows and collaboration:
- Client Feedback: "Please adjust the lighting in this corner"
- Photo Critique: Point out composition elements or technical issues
- Quality Control: Mark blemishes, dust spots, or areas needing retouching
- Education: Highlight examples of good technique or areas for improvement
- Collaborative Editing: Discuss specific elements without ambiguity
- Event Photography: Identify people or important details in group shots
🔒 Security & Permissions
Role-Based Access Control (RBAC)
Fine-grained permissions system with over 20 different permissions:
- Viewing permissions: Control basic image viewing and folder browsing
- Privacy permissions: Show/hide dates, location, and technical details
- Download permissions: Control access to different image sizes
- Interactive permissions: NEW Enable zoom and metadata reading
- Content management: Comments, picks, and tags with user-level control
- Custom roles: Create roles tailored to your needs
- Per-gallery settings: Different permissions for each gallery
- Folder-level overrides: Fine-tune access within galleries
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
- Per-gallery copyright holders: Different watermarks for different galleries
Modern Authentication
Secure, user-friendly authentication system:
- WebAuthn/Passkey support: Biometric login on phones and computers
- Hardware security keys: YubiKey and FIDO2 device support
- Passwordless email login: Simple magic link authentication
- Session management: Secure cookies with configurable expiry
- Rate limiting: Protection against brute force attacks
- User management CLI: Easy user and role administration
- Permission-aware UI: Features automatically show/hide based on permissions
Privacy Protection
Multiple layers of privacy control:
- Date Privacy: Show only month/year to viewers without permissions
- Location Privacy: Hide GPS coordinates based on user roles
- Technical Details: Hide camera/lens info per folder
- URL Privacy: Three indexing modes (filename, sequence, unique_id)
- Non-guessable URLs: 6-character base36 IDs prevent enumeration
- Per-gallery privacy: Different settings for each gallery
- Folder-level control: Override gallery settings per folder
🐳 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
- Permission-aware API: Responses filtered by user roles
- User metadata API: Comment and pick management
- Filter API: Query parameters for metadata filtering
Monitoring & Logging
Production-ready observability:
- Structured logging with configurable levels
- HTTP access logs with latency tracking
- Error tracking and reporting
- Performance metrics
CLI Tools
Powerful command-line utilities:
- User management: add, list, update, remove users
- AVIF debugging: Analyze AVIF metadata and color properties
- Server control: Auto-shutdown for testing
- Configuration: Override settings via CLI flags
- Consistent help: Improved command documentation
Ready to Experience These Features?
Get started with Tenrankai today and build your perfect gallery.