- Lyrion: Default media_path changed from /srv/media to /mnt/MUSIC - PhotoPrism: Default originals_path changed from /srv/photoprism/originals to /mnt/PHOTO These paths reflect the actual mount points used for external media storage. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| files | ||
| Makefile | ||
| README.md | ||
SecuBox PhotoPrism
Self-hosted Google Photos alternative with AI-powered features, running in an LXC container.
Features
- AI Face Recognition - Automatically detect and group faces
- Object Detection - Find photos by objects, scenes, colors
- Places / Maps - View photos on a world map
- Full-Text Search - Search across all metadata
- Albums & Sharing - Organize and share collections
- RAW Support - Process RAW files from cameras
- Video Playback - Stream videos with transcoding
Quick Start
# Install PhotoPrism (creates LXC container)
photoprismctl install
# Start the service
/etc/init.d/photoprism start
# Access the gallery
http://192.168.255.1:2342
CLI Commands
| Command | Description |
|---|---|
install |
Create LXC container with PhotoPrism |
uninstall |
Remove container (preserves photos) |
start/stop/restart |
Service lifecycle |
status |
JSON status for RPCD |
logs [N] |
Show last N log lines |
shell |
Open container shell |
index |
Trigger photo indexing |
import |
Import from inbox folder |
passwd [pass] |
Reset admin password |
backup |
Create database backup |
configure-haproxy <domain> |
Setup HAProxy + SSL |
emancipate <domain> |
Full public exposure |
Photo Management
Adding Photos
- Direct Copy: Copy files to
/srv/photoprism/originals/ - Import Inbox: Copy to
/srv/photoprism/import/, runphotoprismctl import - WebDAV: Enable WebDAV in PhotoPrism settings
Triggering Index
After adding photos, run indexing:
photoprismctl index
Public Exposure
Expose gallery to the internet with HAProxy + SSL:
photoprismctl emancipate photos.example.com
This configures:
- HAProxy vhost with Let's Encrypt SSL
- mitmproxy WAF routing
- DNS record (if dnsctl available)
Configuration
UCI config at /etc/config/photoprism:
config photoprism 'main'
option enabled '1'
option http_port '2342'
option memory_limit '2G'
config photoprism 'features'
option face_recognition '1'
option object_detection '1'
option places '1'
Resource Requirements
- RAM: 2GB recommended (1GB minimum)
- Storage: ~500MB for container + your photos
- CPU: AI indexing is CPU-intensive
LuCI Dashboard
Access via: Services → PhotoPrism
Features:
- Status cards (photos, videos, storage)
- Start/Stop/Index/Import buttons
- AI feature toggles
- Emancipate form for public exposure
Data Paths
| Path | Content |
|---|---|
/srv/photoprism/originals |
Your photos and videos |
/srv/photoprism/storage |
Cache, thumbnails, database |
/srv/photoprism/import |
Upload inbox |
Security
- Traffic routes through mitmproxy WAF (no bypass)
- Admin password stored in UCI
- Container runs with limited capabilities