mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
A release-readiness QA pass over the whole product. The commits split into defects a user would hit and gates that were reporting green while measuring nothing. ## Fixes that change behaviour Rate limiting was bypassable on every install: TRUST_PROXY defaulted to true, so request.ip came from a client-set header and a forged X-Forwarded-For got past the login limiter. The default is now a private-network trust list. A transient Postgres outage stranded in-flight jobs, leaving finished output on disk with no row pointing at it. A reconciler now resolves those rows and adopts the bytes rather than dropping the work. A Redis connection that moved to a new address wedged every read-blocked consumer, so completions stopped signalling while health still answered 200. Socket timeouts plus subscriber pings recover it. Installing more than one AI bundle left the shared venv multi-versioned and silently broke three tools. The installer now reconciles distributions to one version each. Converting an image to JXL at quality 1 through 4 returned a 500, because libjxl 0.7 rejects the distance those values compute. The quality is floored at what the encoder honours. A missing ffmpeg was also reported to the user as a corrupt upload; it now says the engine is unavailable. RAW uploads reached an unpatched LibRaw on arm64, so it is built from source at 0.22.2, and the release scan was split so it can fail on an unfixed critical instead of hiding it behind ignore-unfixed. ## Gates that could not fail Two mutation lanes ran zero mutants because Stryker crawled the gitignored docs build; coverage discarded its whole report on any failing test; the lint gate skipped root tests, scripts, and two workspaces; and several generated matrices counted a host missing ffmpeg as a passing tool. Each now measures what it claims. Full evidence and the outstanding release items are tracked locally and are not part of this branch.
87 lines
6.3 KiB
Plaintext
87 lines
6.3 KiB
Plaintext
# SnapOtter
|
|
|
|
> SnapOtter is open-source, self-hosted file-processing infrastructure. Conversion, compression, OCR, transcription, metadata scrubbing, and local AI across image, video, audio, PDF, and documents, through a UI, REST API, and pipelines. 200+ tools in one stack. Files never leave your network.
|
|
|
|
SnapOtter runs entirely on your own infrastructure. Files are processed locally with no data sent to external APIs. Deploy once with Docker and use it as much as you need. Supports GDPR, HIPAA, and CCPA compliance by architecture.
|
|
|
|
## Getting Started
|
|
|
|
- [Documentation](https://docs.snapotter.com/guide/getting-started): Installation, configuration, and deployment guide
|
|
- [Docker Hub](https://hub.docker.com/r/snapotter/snapotter): Official Docker image with multi-arch support (ARM + x86)
|
|
- [GitHub](https://github.com/snapotter-hq/snapotter): Source code, issues, and contributions
|
|
- [API Reference](https://docs.snapotter.com/api/rest): Full REST API with OpenAPI documentation
|
|
- [Demo](https://demo.snapotter.com): Try SnapOtter without installing
|
|
|
|
## Image Tools
|
|
|
|
Core: Resize Image, Crop Image, Rotate & Flip Image, Convert Image (JPEG/PNG/WebP/AVIF/TIFF/GIF/HEIC/RAW), Compress Image, Optimize for Web, Remove Image Metadata, Edit Image Metadata, Bulk Rename, Image to PDF, Favicon Generator.
|
|
|
|
Adjustments: Adjust Colors (brightness/contrast/saturation/temperature), Sharpen Image, Replace & Invert Color, Color Blindness Simulation, Duotone, Vignette, Pixelate.
|
|
|
|
AI-Powered: Remove Background (rembg), Remove GIF Background, Image Upscaling (2x/4x, RealESRGAN), Object Eraser (LaMa), Extract Text from Image (OCR) (built-in Tesseract plus optional RapidOCR/PP-OCR ONNX accuracy tiers), Blur Faces & PII, Smart Crop, Image Enhancement, Face Enhancement, AI Colorization, Noise Removal, Red Eye Removal, Photo Restoration, Passport Photo (30+ countries), Content-Aware Resize, AI Canvas Expand, Background Replace, Blur Background, PNG Transparency Fixer.
|
|
|
|
Watermark & Overlay: Text Watermark, Image Watermark, Text Overlay, Image Composition, Meme Generator.
|
|
|
|
Analysis: Image Info, Image Compare, Find Duplicates, Color Palette, Histogram, LQIP Placeholder.
|
|
|
|
Layout: Collage & Grid (25+ templates), Stitch Images, Split Image, Border & Frame, Beautify Screenshot, Circle Crop, Rounded Crop, Image Pad, Sprite Sheet.
|
|
|
|
Format: SVG to Raster, Image to SVG (vectorize), GIF Tools, GIF/WebP Converter, Image to Base64.
|
|
|
|
Generators: QR Code Generator, Barcode Generator, Barcode Reader, HTML to Image.
|
|
|
|
## Video Tools
|
|
|
|
Convert Video (MP4/MOV/WebM), Compress Video, Trim Video, Mute Video, Resize Video, Crop Video, Rotate Video, Change FPS, Video Color, Video Speed, Reverse Video, Normalize Video Audio, Stabilize Video, Aspect Pad, Blur Pad, Watermark Video, Merge Videos, Replace Audio, Extract Audio, Video to GIF, GIF to Video, Video to WebP, Video to Frames, Images to Video, Auto Subtitles (AI transcription), Burn Subtitles, Embed Subtitles, Extract Subtitles, Clean Video Metadata.
|
|
|
|
## Audio Tools
|
|
|
|
Transcribe Audio (AI speech-to-text), Convert Audio (MP3/WAV/OGG/FLAC/AAC), Trim Audio, Adjust Volume, Normalize Audio, Fade Audio, Reverse Audio, Audio Speed, Pitch Shift, Audio Channels (mono/stereo), Silence Removal, Noise Reduction (FFT), Merge Audio, Split Audio, Ringtone Maker, Waveform Image, Audio Metadata.
|
|
|
|
## PDF Tools
|
|
|
|
PDF: Merge PDFs, Split PDF, Compress PDF, Rotate PDF, Extract Pages, Remove Pages, Organize PDF, Protect PDF (AES-256), Unlock PDF, Repair PDF, Web-Optimize PDF (linearize), Grayscale PDF, PDF/A Converter, Crop PDF, Pages Per Sheet (N-up), Booklet PDF, Watermark PDF, PDF Page Numbers, Flatten PDF, Redact PDF, Sign PDF, PDF to Text, PDF to Word, PDF to Image, PDF Metadata, PDF OCR (AI).
|
|
|
|
Conversion: Word to PDF, Excel to PDF, PowerPoint to PDF, HTML to PDF, Convert Document (Word/ODT/RTF), Convert Presentation (PPTX/ODP), Convert Spreadsheet (Excel/ODS/CSV), Markdown to Word, Markdown to HTML, Markdown to PDF, Convert from EPUB, Convert to EPUB.
|
|
|
|
## File Tools
|
|
|
|
Chart Maker (bar/line/pie from CSV/JSON), CSV to Excel, CSV to JSON, JSON to XML, Convert YAML / JSON, XML to CSV, Split CSV, Merge CSVs, Excel to CSV, Create ZIP, Extract ZIP.
|
|
|
|
## AI Models (all running locally)
|
|
|
|
Background Removal (rembg), Super-Resolution (RealESRGAN 2x/4x), Object Eraser (LaMa inpainting), local image/PDF OCR (Tesseract or RapidOCR with PP-OCR ONNX models), Speech Transcription (faster-whisper), Face Detection (MediaPipe), Face Enhancement, AI Colorization, Noise Removal, Red Eye Removal, Photo Restoration, Smart Crop, Content-Aware Resize, AI Canvas Expand (outpainting), Background Replace, Blur Background, PNG Transparency Fixer, Passport Photo.
|
|
|
|
Models install on demand as feature bundles, so a fresh instance downloads only what you turn on.
|
|
|
|
Fast OCR is built into the image and adds about 25 MiB. The optional signed RapidOCR pack adds Balanced and Best tiers on Linux amd64 and arm64, uses CPU on CPU-only and NVIDIA hosts, and is about 208-234 MiB to download / 409-488 MiB installed depending on the target. The signed release index binds the exact compressed and extracted sizes used during verification. Explicit OCR tiers never silently downgrade.
|
|
|
|
## Enterprise Features
|
|
|
|
SAML SSO (Okta, Azure AD, Google Workspace, any OIDC), SCIM Provisioning, Multi-Factor Auth (TOTP), Multi-Tenancy, Per-Tool Permissions, Role-Based Access Control (admin/editor/user + custom), Audit Log Export, S3-Compatible Storage (AWS S3, MinIO, R2), Webhooks, API Keys with Scoped Permissions.
|
|
|
|
## Key Features
|
|
|
|
- Self-hosted: all processing on your infrastructure, no cloud dependency
|
|
- Privacy-first: files never leave your network, air-gapped capable
|
|
- 200+ tools across 5 modalities (image, video, audio, PDF, files)
|
|
- Local AI models, no external API calls
|
|
- Batch processing with ZIP output
|
|
- Pipeline automation: chain tools sequentially
|
|
- Full REST API with OpenAPI documentation
|
|
- 21 languages supported
|
|
- Docker: single container with Postgres + Redis bundled
|
|
- Kubernetes and bare metal deployment
|
|
- ARM and x86 architectures
|
|
- Free layer-based image editor with brushes, shapes, filters, curves, and keyboard shortcuts
|
|
- Open source: AGPLv3 with commercial license available
|
|
|
|
## Links
|
|
|
|
- Website: https://snapotter.com
|
|
- Documentation: https://docs.snapotter.com
|
|
- GitHub: https://github.com/snapotter-hq/snapotter
|
|
- Docker Hub: https://hub.docker.com/r/snapotter/snapotter
|
|
- Discord: https://discord.gg/hr3s7HPUsr
|
|
- Contact: contact@snapotter.com
|