Sign inSign up

mobufan/random-pic-api

By mobufan

•Updated 3 months ago

随机壁纸 API,支持 amd64 / arm64 双架构自动适配,内置 836 张高清壁纸

Image
0

936

mobufan/random-pic-api repository overview

⁠Random Pic API 🖼️

随机壁纸 API,支持 amd64 / arm64 双架构自动适配,内置 836 张高清壁纸

根据设备类型自动返回横屏/竖屏壁纸,支持 WebP/JPG/PNG/GIF 格式。同时支持 Vercel 和 Docker 部署。


⁠🏗️ 多架构支持

镜像同时包含以下架构,无需手动指定版本,拉取时自动适配你的机器:

架构适用场景
linux/amd64Intel / AMD 云服务器、桌面 PC
linux/arm64Apple Silicon Mac、树莓派 4、ARM 云服务器
# 自动匹配当前机器架构
docker pull mobufan/random-pic-api:latest

⁠🚀 快速启动

docker run --name random-pic-api --rm -d -p 8588:3000 mobufan/random-pic-api:latest

访问 http://localhost:8588/


⁠🌐 API 端点

端点说明
/自适应(自动识别手机/电脑)
/pc随机横屏壁纸
/mobile随机竖屏壁纸
?type=json返回 JSON 格式(含 URL、类型、总数)
# 直接获取随机图片
curl -L https://your-domain:8588/pc

# 获取 JSON 格式
curl https://your-domain:8588/pc?type=json

⁠🔧 Docker Compose

services:
  random-pic-api:
    image: mobufan/random-pic-api:latest
    container_name: random-pic-api
    restart: always
    volumes:
      - ./public/landscape:/app/public/landscape
      - ./public/portrait:/app/public/portrait
      - ./photos:/app/photos
    ports:
      - 8588:3000
    environment:
      - TZ=Asia/Shanghai
      - PORT=3000
      - PUBLIC_HOST=http://10.10.10.251:8588
docker compose up -d

⁠⚙️ 环境变量

变量默认值说明
TZAsia/Shanghai时区设置
PORT3000容器内部端口
PUBLIC_HOSThttp://10.10.10.251:8588对外访问地址

⁠🖼️ 自定义壁纸图片

挂载自己的图片目录即可替换内置壁纸:

docker run -d \
  --name random-pic-api \
  --restart always \
  -p 8588:3000 \
  -e TZ=Asia/Shanghai \
  -v /path/to/your/landscape:/app/public/landscape \
  -v /path/to/your/portrait:/app/public/portrait \
  mobufan/random-pic-api:latest

💡 新增或替换图片后只需 docker restart random-pic-api 即可生效,无需重新构建镜像。


⁠📦 内置壁纸

类型数量格式
横屏壁纸418 张WebP / JPG / PNG / GIF
竖屏壁纸418 张WebP / JPG / PNG / GIF
总计836 张约 238 MB

⁠📖 功能特点

  • 836 张高清壁纸 — 内置精选横屏/竖屏图片
  • 自动识别设备 — 根据 UA 返回对应壁纸
  • 运行时生效 — 新增图片无需 rebuild,重启容器即可
  • 图片分类脚本 — classify.py 自动识别方向并转换为 WebP
  • 多架构镜像 — amd64 / arm64 双架构支持,开箱即用

⁠🌐 在线预览


⁠📦 使用示例

⁠HTML
<img src="https://your-domain:8588/pc" alt="随机壁纸" />
⁠CSS 背景
body {
  background: url('https://your-domain:8588/') no-repeat center/cover;
}
⁠JavaScript
fetch('https://your-domain:8588/mobile?type=json')
  .then(r => r.json())
  .then(data => console.log(data.url));

项目地址:https://github.com/meimolihan/random-pic-api⁠ MIT License · 免费商用 · 欢迎 Star ⭐

Tag summary

Content type

Image

Digest

sha256:e18ee12fa…

Size

235.9 MB

Last updated

3 months ago

docker pull mobufan/random-pic-api