snapotter / README.md
StrangerInAStrangeLand's picture
Upload folder using huggingface_hub
aa14dfa verified
|
Raw History Blame Contribute Delete
2.38 kB
---
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](https://docs.snapotter.com/) 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.