启用双域名时以确认框提示锁死风险与恢复方式,不再强制校验 Host。 新增 clear-domains 运维 CLI 与相关文档。
2.9 KiB
Quick start
PicHost is a self-hosted image host for NAS, home servers, or VPS. Docker is recommended; the first visit runs a web wizard to create the admin account.
Try it online
| Branch | Notes |
|---|---|
| main | No public demo — see screenshots or the repository README |
| cloudflare | R2-only live demo: pic.roven.cc |
Docker (recommended)
docker run -d \
--name pichost \
-p 6892:6892 \
-v ./data:/data \
--restart unless-stopped \
muxui/pichost:latest
Default port: 6892. Open http://<host>:6892 and complete setup.
If you cloned the repo:
docker compose up -d
See docker-compose.yml in the repository.
First-time setup
- Open your instance URL (Docker default
http://<host>:6892). - Complete
/setupwith admin username and password. - (Optional) Configure site URL, image URL, Referer rules — see Environment variables and Dual-domain separation.
- Upload from the home page; use the top nav for Gallery, Storage (admin), Settings, and API.
Sign in
Management pages (upload, gallery, settings, etc.) require login. Enter username and password, complete the verification challenge, then click Sign in.
The default is a local slider (align the thumb with the gap). Admins can switch to Cloudflare Turnstile or Cap under Settings → Access control, with the matching site key / secret or API endpoint.
If registration is enabled, create an account from the register page (same verification). Legacy deployments may still use a secret key (see the on-screen hint).
Locked out of verification
If Turnstile / Cap is misconfigured and you cannot sign in, reset to the local slider on the server:
docker exec pichost slider
Local dev: npm run slider
Forgot password
Requires docker exec (server access):
docker exec pichost reset-password # admin only when there is exactly one
docker exec pichost reset-password <username> # admin or regular user
A random password is printed. Change it after login.
Local dev: npm run reset-password or npm run reset-password -- <username>
Dual-domain lockout
If dual-domain is enabled and IP / LAN access returns 404:
docker exec pichost clear-domains
Local: npm run clear-domains. See FAQ — Admin 404 after dual-domain setup.
Upgrading to v1.2.0
If data/ has legacy top-level folders next to images (e.g. blog/, twikoo/), read the v1.2 migration guide first.
Object-storage-only or files already under data/images/ — pull the new image and restart.
