fix: use Docker Hub as primary one-liner (GHCR is private)

GHCR packages default to private and require docker login. Switch the
primary quick-start command to Docker Hub (snapotter/snapotter) which
is publicly accessible. GHCR remains available as an alternative.
This commit is contained in:
SnapOtter
2026-04-25 01:28:02 +08:00
parent 3e3eb6f180
commit 6c43802280
5 changed files with 9 additions and 9 deletions
+2 -2
View File
@@ -25,7 +25,7 @@
## Quick Start ## Quick Start
```bash ```bash
docker run -d --name SnapOtter -p 1349:1349 -v SnapOtter-data:/data ghcr.io/snapotter-hq/snapotter:latest docker run -d --name SnapOtter -p 1349:1349 -v SnapOtter-data:/data snapotter/snapotter:latest
``` ```
Open http://localhost:1349 in your browser. Open http://localhost:1349 in your browser.
@@ -36,7 +36,7 @@ Open http://localhost:1349 in your browser.
Add `--gpus all` for GPU-accelerated background removal, upscaling, and OCR: Add `--gpus all` for GPU-accelerated background removal, upscaling, and OCR:
```bash ```bash
docker run -d --name SnapOtter -p 1349:1349 --gpus all -v SnapOtter-data:/data ghcr.io/snapotter-hq/snapotter:latest docker run -d --name SnapOtter -p 1349:1349 --gpus all -v SnapOtter-data:/data snapotter/snapotter:latest
``` ```
> Requires an NVIDIA GPU and [Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html). Falls back to CPU if no GPU is found. See [Docker Tags](https://docs.snapotter.com/guide/docker-tags) for benchmarks and Docker Compose examples. > Requires an NVIDIA GPU and [Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html). Falls back to CPU if no GPU is found. See [Docker Tags](https://docs.snapotter.com/guide/docker-tags) for benchmarks and Docker Compose examples.
+4 -4
View File
@@ -3,14 +3,14 @@
## Quick Start ## Quick Start
```bash ```bash
docker run -d --name SnapOtter -p 1349:1349 -v SnapOtter-data:/data ghcr.io/snapotter-hq/snapotter:latest docker run -d --name SnapOtter -p 1349:1349 -v SnapOtter-data:/data snapotter/snapotter:latest
``` ```
Open [http://localhost:1349](http://localhost:1349) in your browser. Open [http://localhost:1349](http://localhost:1349) in your browser.
::: tip Also on Docker Hub ::: tip Also on GHCR
```bash ```bash
docker run -d --name SnapOtter -p 1349:1349 -v SnapOtter-data:/data snapotter/snapotter:latest docker run -d --name SnapOtter -p 1349:1349 -v SnapOtter-data:/data ghcr.io/snapotter-hq/snapotter:latest
``` ```
Both registries publish the same image on every release. Both registries publish the same image on every release.
@@ -40,7 +40,7 @@ Requires the [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud
```yaml ```yaml
services: services:
SnapOtter: SnapOtter:
image: ghcr.io/snapotter-hq/snapotter:latest # or snapotter/snapotter:latest image: snapotter/snapotter:latest # or ghcr.io/snapotter-hq/snapotter:latest
ports: ports:
- "1349:1349" - "1349:1349"
volumes: volumes:
+1 -1
View File
@@ -31,7 +31,7 @@ features:
<div class="quick-start-banner"> <div class="quick-start-banner">
```bash ```bash
docker run -d --name SnapOtter -p 1349:1349 -v SnapOtter-data:/data ghcr.io/snapotter-hq/snapotter:latest docker run -d --name SnapOtter -p 1349:1349 -v SnapOtter-data:/data snapotter/snapotter:latest
``` ```
</div> </div>
+1 -1
View File
@@ -6,7 +6,7 @@ import { useState } from "react";
import { FadeIn } from "./fade-in"; import { FadeIn } from "./fade-in";
const command = const command =
"docker run -d --name SnapOtter -p 1349:1349 -v SnapOtter-data:/data ghcr.io/snapotter-hq/snapotter:latest"; "docker run -d --name SnapOtter -p 1349:1349 -v SnapOtter-data:/data snapotter/snapotter:latest";
export function HowItWorks() { export function HowItWorks() {
const [copied, setCopied] = useState(false); const [copied, setCopied] = useState(false);
+1 -1
View File
@@ -27,7 +27,7 @@ beforeEach(() => {
afterEach(cleanup); afterEach(cleanup);
const DOCKER_COMMAND = const DOCKER_COMMAND =
"docker run -d --name SnapOtter -p 1349:1349 -v SnapOtter-data:/data ghcr.io/snapotter-hq/snapotter:latest"; "docker run -d --name SnapOtter -p 1349:1349 -v SnapOtter-data:/data snapotter/snapotter:latest";
describe("HowItWorks", () => { describe("HowItWorks", () => {
it("renders the section heading", () => { it("renders the section heading", () => {