Self-hosted image, video, and file management platform
Multi-user · WebP compression · HLS video · File hosting · Tags · Multi-backend storage · Full backup and migration
Screenshots · Features · Deployment · Development · Documentation source · 简体中文
--- ## Overview PicHost is a media management platform for NAS devices, home servers, and small self-hosted deployments. It manages images, videos, and general-purpose files in one place, with multi-user access, tags, search, multiple storage backends, HLS video processing, full-site backup and restore, backend migration, and site-to-site synchronization. The first visit opens a web setup wizard. Administrators can either create an account or restore an existing `.phost.tar.gz` backup. ## Screenshots | Upload | Gallery | | :----: | :-----: | |  |  | | API | Tag management | | :-: | :------------: | |  |  | | Storage | Settings | | :-----: | :-------: | |  |  | | First-time setup | Restore from backup | | :--------------: | :-----------------: | |  |  | | Activity log | | :----------: | |  | ## Features ### Images - Upload by drag and drop, file picker, or `Ctrl+V` paste, with configurable formats, size limits, batch limits, and rate limits. - Server-side Sharp-based WebP compression, with optional original preservation and optional browser-side WebP compression. - Search, pagination, storage/source/tag filters, grid or list layouts, detail views, multiple link formats, bulk tagging, and bulk deletion. - Media counts and source statistics, Referer hotlink protection, and configurable referrer allowlists. ### Video and HLS - Dedicated video upload and library pages for MP4, M4V, WebM, MOV, MKV, AVI, FLV, WMV, MPG, and MPEG. - Automatic thumbnail generation and optional asynchronous HLS transcoding. - `copy`, `veryfast`, `medium`, `slow`, and `compress` presets, with configurable concurrency, CPU thread count, and target bitrate. - Transcode progress and failure reporting, with automatic cleanup of the source, thumbnail, playlist, and HLS segments. - Original, thumbnail, and HLS links, plus MP4 remux download for HLS videos. ### File Hosting - A dedicated file library with uploads, search, pagination, tags, bulk deletion, direct links, and download links. - Configurable file-bed access policy, with separate domains supported for images, videos, and files. ### Users and Access Control - Administrator and standard-user accounts; standard users only see and manage their own media. - Slider, Cloudflare Turnstile, and Cap verification, with optional public registration. - Profile and password management, administrator password reset, and account-system migration. - Per-user tags and automatic deletion policies. - Login and upload rate limits, global and personal API tokens, and activity logs. ### Storage - Local disk, S3-compatible object storage, and Telegram channels or groups. - S3-compatible support includes R2, COS, OSS, AWS S3, and similar services, with `proxy` or `public` access modes. - Multiple backends, configurable default and enabled states, and per-backend capacity quotas. - Migration of images, videos, files, and indexes between configured backends, with an optional target backend switch after migration. ### Backup and Synchronization - Complete `.phost.tar.gz` site backups containing the database, images, videos, files, thumbnails, HLS content, and tags. - Restore previews for file count, media size, new files, conflicts, and skip/overwrite conflict handling. - Streaming uploads for large backups without loading the complete archive into memory. - Restore directly from the first-run setup page; cloud storage secrets are excluded and must be re-entered after restore. - Push or pull synchronization between two PicHost sites, for all media or only images, videos, or files. - Resume support, conflict policies, and job progress; matching usernames must already exist on both sites. ### API and Compatibility - APIs for images, videos, files, tags, search, bulk operations, backups, and system information. - Global and personal tokens, accepted through request headers or upload forms. - Twikoo / EasyImage-compatible uploads through `POST /api/index.php`. - Built-in API documentation and debugger with generated `curl` examples. ## Deployment ### Docker ```bash docker run -d \ --name pichost \ -p 6892:6892 \ -v ./data:/data \ --restart unless-stopped \ yeomaiyelove/pichost:latest ``` Open `http://