snapotter / README.md
StrangerInAStrangeLand's picture
Upload folder using huggingface_hub
aa14dfa verified
|
Raw History Blame Contribute Delete
2.38 kB
metadata
title: SnapOtter
emoji: 🦦
colorFrom: indigo
colorTo: purple
sdk: docker
app_port: 7860
pinned: false
license: agpl-3.0
fullWidth: true
short_description: Self-hosted file toolkit — 200+ convert/OCR/PDF tools

SnapOtter on a Hugging Face Docker Space (CPU)

SnapOtter is an open-source, self-hosted file-processing toolkit: 200+ image / video / audio / PDF / document tools (convert, compress, crop, merge, split, OCR, transcribe, convert-presets) behind a web UI, a REST API and pipelines.

This Space runs the official upstream image (snapotter/snapotter:latest, linux/amd64) in embedded mode — no external Postgres/Redis — on free CPU Basic hardware (2 vCPU / 16 GB RAM / 50 GB disk). It is deployed for the psychoguineapig.com box, which retired its local SnapOtter container on 2026-10-14 to reclaim ~8.6 GB of disk and ~200 MiB of RAM; running it here costs the host nothing.

What works and what does not

  • ✅ All 222 non-AI tools: image resize/crop/convert/compress/watermark, video trim/mute/remux, audio convert/normalize/trim, PDF merge/split/compress/rotate/protect, file conversions.
  • ⚠️ AI bundles (background removal, upscale, face enhance, transcription) need /dev/shm and are slow on 2 vCPU; the platform does not let a Space set shm_size, so expect some AI tools to fail or crawl. Install bundles from Settings → AI Features at your own risk.
  • ⚠️ This Space is ephemeral. HF Spaces have no persistent volume any more, so the embedded database, users and the file library all reset whenever the container is rebuilt or restarted. Treat it as a scratch tool, not storage.
  • ⚠️ Free CPU Basic Spaces sleep after ~48 h idle; the next visit wakes the Space (cold start ≈ 1–2 min, including the 8 GB image boot).

Ports

app_port: 7860 and ENV PORT=7860 — both sides pinned to the platform's convention.

Auth

AUTH_ENABLED defaults to true with a first-run admin account (DEFAULT_USERNAME / DEFAULT_PASSWORD supplied as Space secrets, never in this repo), and SKIP_MUST_CHANGE_PASSWORD is not set by us — the operator changes it on first login. The instance sits behind a Cloudflare Access wall at snapotter.psychoguineapig.com as well, so the app login is defence in depth rather than the only gate on the public Hub URL.