mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
docs: promote one-command quick start and refresh social card (#419)
README: - Add a one-command Quick Start above Key Features (single docker run) to show how fast setup is; rename the detailed section to Deployment and drop the duplicated one-liner. - List TinyWow among the alternatives. - Tighten the sponsor call to action. Branding: - Replace the social card's GDPR/HIPAA badges with Self-hosted, Privacy-sensitive, Compliance-friendly, Air-gap capable, Open source, matching the landing Hero. - Regenerate branding/social-preview.png and the synced landing/web OG images (counts refreshed to the live catalog). Claude-Session: https://claude.ai/code/session_01JQ8LmV8LPLi8yNTayHzSTQ
This commit is contained in:
@@ -20,13 +20,25 @@
|
||||
|
||||
<p align="center">
|
||||
<strong>Self-hosted file toolkit. 200+ tools across image, video, audio, PDF, and files.</strong><br />
|
||||
The open-source alternative to Smallpdf, iLovePDF, TinyPNG, CloudConvert, and Otter.ai, in one stack you host yourself.
|
||||
The open-source alternative to Smallpdf, iLovePDF, TinyPNG, TinyWow, CloudConvert, and Otter.ai, in one stack you host yourself.
|
||||
</p>
|
||||
|
||||

|
||||
|
||||
Stirling-PDF stops at PDFs. ConvertX stops at conversions. SnapOtter runs all five, and your files never leave your server. Edit images, convert video, transcribe audio, repair PDFs, batch your files: one Docker stack, on hardware you own.
|
||||
|
||||
## Quick Start
|
||||
|
||||
One command, no setup. An embedded Postgres 17 + Redis 8 boot inside the container, so there's nothing else to wire up:
|
||||
|
||||
```bash
|
||||
docker run -d --name SnapOtter -p 1349:1349 -v SnapOtter-data:/data snapotter/snapotter:latest
|
||||
```
|
||||
|
||||
Open [http://localhost:1349](http://localhost:1349) and log in with `admin` / `admin`. That's the whole install.
|
||||
|
||||
For the production Compose stack, NVIDIA GPU acceleration, and configuration, see [Deployment](#deployment) below.
|
||||
|
||||
## Key Features
|
||||
|
||||
- **200+ tools across 5 modalities:**
|
||||
@@ -45,15 +57,9 @@ Stirling-PDF stops at PDFs. ConvertX stops at conversions. SnapOtter runs all fi
|
||||
- **Multi-arch:** Runs on AMD64 and ARM64 (Intel, Apple Silicon, Raspberry Pi)
|
||||
- **Privacy first:** Your files never leave your network. Basic analytics help us catch bugs and improve tools -- disable anytime by rebuilding with `SNAPOTTER_ANALYTICS=off` ([Here's how to do it](https://docs.snapotter.com/guide/deployment.html#analytics))
|
||||
|
||||
## Quick Start
|
||||
## Deployment
|
||||
|
||||
One container, no setup. It starts an embedded Postgres 17 + Redis 8 on loopback and stores data in the `SnapOtter-data` volume:
|
||||
|
||||
```bash
|
||||
docker run -d --name SnapOtter -p 1349:1349 -v SnapOtter-data:/data snapotter/snapotter:latest
|
||||
```
|
||||
|
||||
For production, run the 3-container Compose stack (app + Postgres 17 + Redis 8). Save this as `compose.yaml`:
|
||||
The [Quick Start](#quick-start) one-liner above is all most people need. For production, run the 3-container Compose stack (app + Postgres 17 + Redis 8). Save this as `compose.yaml`:
|
||||
|
||||
```yaml
|
||||
services:
|
||||
@@ -140,7 +146,7 @@ We welcome bug reports, feature ideas, and pull requests. See [CONTRIBUTING.md](
|
||||
|
||||
SnapOtter is built and maintained independently with no venture capital or corporate backing. Sponsorships fund infrastructure, keep releases flowing, and ensure the project stays free and open for everyone.
|
||||
|
||||
If SnapOtter saves you from paying for cloud file-processing services, consider supporting its development:
|
||||
If SnapOtter has replaced a paid subscription or two in your workflow, a small sponsorship helps keep it that way:
|
||||
|
||||
<a href="https://github.com/sponsors/snapotter-hq">
|
||||
<img src="branding/sponsor-banner.svg" width="100%" alt="Sponsor SnapOtter on GitHub">
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 319 KiB After Width: | Height: | Size: 321 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 319 KiB After Width: | Height: | Size: 321 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 319 KiB After Width: | Height: | Size: 321 KiB |
@@ -22,8 +22,8 @@ const out = resolve(repoRoot, "branding/social-preview.png");
|
||||
// sibling logo and the ../apps fonts as file:// subresources.
|
||||
const htmlPath = resolve(repoRoot, "branding/.og.html");
|
||||
|
||||
// Enterprise trust badges (subset of Hero.astro's list).
|
||||
const BADGES = ["On-premise", "GDPR & HIPAA", "Air-gap", "SAML SSO", "Open source"];
|
||||
// Trust badges (subset of Hero.astro's trustBadges list).
|
||||
const BADGES = ["Self-hosted", "Privacy-sensitive", "Compliance-friendly", "Air-gap capable", "Open source"];
|
||||
|
||||
// lucide icon inner-SVG (stroke), matching the icons used in CategoryCards.astro.
|
||||
const ICON = {
|
||||
|
||||
Reference in New Issue
Block a user