A simple web-based media viewer for S3-compatible storage (MinIO, AWS S3, DigitalOcean Spaces, etc.).
- Browse and view files from S3-compatible storage (AWS S3, MinIO, DigitalOcean Spaces, etc.)
- Support for multiple file types: images, videos, audio, 3D models, and documents
- Filter files by type (All, Images, Videos, Audio, 3D)
- Search files by name
- Keyboard navigation (arrow keys for file navigation, filter switching, and image zoom)
- Image viewer with zoom (mouse wheel) and pan (drag) controls
- Video player with custom controls (play/pause, progress bar, volume control, mute)
- Audio player with custom controls (play/pause, skip forward/backward, progress bar)
- 3D model viewer using Google Model Viewer (with AR support for mobile devices)
- PLY point cloud/mesh viewer using Three.js (orbit controls, wireframe toggle, reset view)
- Document viewer (open text files in new tab, download other document types)
- Signed URLs with 24-hour expiration for secure temporary access
- Web-based configuration interface (settings modal for S3 credentials and options)
- Local storage persistence for configuration
- Responsive dark theme UI
- Loading states and error handling
- File metadata display (file size, last modified date)
- Bucket switching and prefix support for folder navigation
- Node.js 18+
- pnpm (or npm/yarn)
pnpm installEdit .env file with your S3 credentials:
AWS_ACCESS_KEY_ID=your_access_key
AWS_SECRET_ACCESS_KEY=your_secret_key
S3_BUCKET=your_bucket_name
S3_PREFIX=your/folder/path/
AWS_REGION=us-east-1
AWS_ENDPOINT=https://s3.amazonaws.com # Optional, for S3-compatible servicespnpm devpnpm build- Images: jpg, jpeg, png, gif, bmp, webp, svg, ico, avif
- Videos: mp4, webm, ogg, mov, avi, mkv, flv, wmv, m3u8
- Audio: mp3, wav, ogg, flac, aac, m4a, wma, opus
- 3D Models: glb, gltf, fbx, obj, dae, 3ds, ply
MIT

