Lightweight personal image hosting · Simple uploads, clean management
Self-hosted / Multi-user / Docker / API / Twikoo · Local disk or object storage
Docs · Screenshots · Features · Tech Stack · Quick Start · 简体中文
--- ## Screenshots **main** has no public demo. **cloudflare** branch live demo: [pic.roven.cc](https://pic.roven.cc) | API | Gallery | | :--: | :-----: | |  |  | | Storage | Settings | | :-----: | :-------: | |  |  | ## Features - **Drag, click, or Ctrl+V paste** — server-side WebP, Referer hotlink protection - **Multi-user** — login with slider, Turnstile, or Cap verification; optional registration; users see only their images - **Multi-backend storage** — local disk + S3-compatible (R2 / COS / OSS / AWS); hybrid `proxy` / `public` URLs - **Gallery** — browse, search, filter by storage/source, grid/list views, batch delete; stats overview and source breakdown - **API & Twikoo** — global / per-user tokens; `POST /api/index.php` compatible - **Zero-config Docker** — first-run web wizard, no secrets upfront ## Tech Stack | Layer | Technologies | | ----- | ------------ | | Frontend | [Nuxt 4](https://nuxt.com) · [Nuxt UI 4](https://ui.nuxt.com) · [Vue 3](https://vuejs.org) · [Tailwind CSS 4](https://tailwindcss.com) · TypeScript | | Backend | [Nitro](https://nitro.build) (`node-server`) · REST API | | Data | SQLite · local `data/pichost.db` | | Images | [sharp](https://sharp.pixelplumbing.com) (server-side WebP) | | Storage | Local disk · S3-compatible ([AWS SDK](https://aws.amazon.com/sdk-for-javascript/) · R2 / COS / OSS, etc.) | | i18n | [@nuxtjs/i18n](https://i18n.nuxtjs.org) (zh-CN / English) | | Quality & docs | [Vitest](https://vitest.dev) · [VitePress](https://vitepress.dev) docs site | | Deploy | Docker · Node.js 22 | ## Quick Start ```bash docker run -d \ --name pichost \ -p 6892:6892 \ -v ./data:/data \ --restart unless-stopped \ muxui/pichost:latest ``` Open `http://