sora-digital-photo-frame

skill
Security Audit
Warn
Health Warn
  • No license — Repository has no license file
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Community trust — 73 GitHub stars
Code Warn
  • process.env — Environment variable access in docker-compose.yml
  • fs module — File system access in scripts/setup.js
  • process.env — Environment variable access in server/config/paths.js
  • fs module — File system access in server/controllers/accessAccountController.js
  • network request — Outbound network request in server/controllers/googlePhotosController.js
  • process.env — Environment variable access in server/controllers/imageController.js
  • process.env — Environment variable access in server/controllers/viewController.js
  • fs module — File system access in server/controllers/viewController.js
  • process.env — Environment variable access in server/middleware/auth.js
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

Sora Digital Photo Frame - Turn any screen into a smart digital photo frame with ease

README.md
sora_github_banner

Open Source Digital Photo Frame

Website | Quick Start | Docs | API References

SORA Frame

Turn any device with a web browser into a smart, open-source digital photo frame. Manage your photos remotely and enjoy a beautiful, full-screen slideshow on any tablet, laptop, or smart TV.

slideshow-preview

Features

  • Run Anywhere: Works on any device with a modern web browser.
  • Beautiful Slideshow: A clean, full-screen photo display with smooth fade transitions, auto-advance, and random image display.
  • Remote Management: A Finder-like admin panel to upload, organize, and delete photos and folders from any device on your network. Supports drag-and-drop.
  • Targeted Slideshows: An interactive folder selector to display photos from specific folders, including nested ones. Your last selected folder is even remembered across sessions.
  • Modern UI: Clean and responsive interface following Material Design 3 principles.
  • Keyboard-Friendly: Full keyboard navigation and shortcuts for both the slideshow and admin panel.
  • Always On: Wake Lock support prevents the display device from sleeping during a slideshow.
  • Responsive Design: Optimized for all screen sizes and orientations.

Quick Start

Requires Node.js 18+.

git clone https://github.com/sorbh/digital-photo-frame.git
cd digital-photo-frame
npm install        # installs the server and creates server/.env
npm start

Set ADMIN_PASSWORD in server/.env, then open http://localhost:3000 for the slideshow and http://localhost:3000/admin to manage photos.

Prefer Docker? ADMIN_PASSWORD=yourpassword docker compose up -d - see DOCKER.md.

How It Works

Managing Photos

Access the admin panel by navigating to http://your-server-ip:3000/admin and logging in with your password.

From there, you can:

  • Upload Photos: Drag and drop images directly into the current folder or use the upload button.
  • Organize: Create and delete nested folders to organize your library.
  • Supported formats: JPEG, PNG, WebP, GIF.

Viewing the Slideshow

On the slideshow screen, you can:

  • Filter by Folder: Click the folder icon to open the folder selector. You can view all photos or select a specific folder, including nested ones. The slideshow updates instantly.
  • Control Playback: Use keyboard shortcuts to play/pause, advance to the next image, and more.

Slideshow Keyboard Shortcuts

  • Space or K: Play/pause slideshow
  • Right Arrow or N: Next image
  • F: Toggle fullscreen mode
  • I: Show/hide image information

License

This project is licensed under the ISC License - see the LICENSE file for details.

Support


Transform any device into a beautiful digital photo frame! 📸✨


Built with ❤️ by Claude Code - Monitored & Prompted by Saurabh K. Sharma

Reviews (0)

No results found