Skip to content

crazyma99/appicon-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

appicon-server

license GitHub stars node GitHub Template

🎨 Custom icon API server for appicon-cli — a self-hosted app icon library with Web UI management console.

📖 Documentation: https://crazyma99.github.io/appicon-cli-docs/

English | 中文


English

What is this?

A reference implementation of the appicon-cli Custom Provider API. Deploy your own private app icon library with:

  • REST API — search, upload, download icons (compatible with appicon-cli)
  • Web UI — manage icons, API keys, view stats (dark/light theme, EN/ZH)
  • Auto-resize — upload one image, get 64/128/256/512px variants automatically
  • SQLite — zero-config embedded database, single-file storage

Quick Start

# Clone this template
git clone https://github.com/crazyma99/appicon-server.git
cd appicon-server

# Install & build
npm install
cd web && npm install && npm run build && cp -r dist ../public && cd ..
npm run build:server

# Start
npm start

Open http://localhost:3000 for the Web UI.

Default API Key: default-dev-key

Connect with appicon-cli

appicon config add-source \
  --name my-icons \
  --url http://localhost:3000/api/icons \
  --key default-dev-key

appicon search "wechat" --store custom
appicon download <icon-id> --store custom

API Endpoints

Method Path Auth Description
GET /api/icons/search?q=&limit= Key Search icons
GET /api/icons/:id Key Get icon details
GET /api/icons/:id/download?size= Key Download icon binary
POST /api/icons/upload Key Upload icon (multipart)
PUT /api/icons/:id Key Update icon info
DELETE /api/icons/:id Key Delete icon
GET /api/stats Key Get statistics
GET /api/keys Key List API keys
POST /api/keys Key Create API key
DELETE /api/keys/:key Key Delete API key
GET /api/health - Health check

Tech Stack

  • Backend: Express + TypeScript + better-sqlite3
  • Frontend: React + Vite + Tailwind CSS
  • Image Processing: sharp (auto multi-size generation)

Use as GitHub Template

Click "Use this template" to create your own icon server. Customize categories, add your icons, deploy anywhere.


中文

这是什么?

appicon-cli 自定义数据源 API 服务器的参考实现。部署你自己的私有图标库:

  • REST API — 搜索、上传、下载图标(兼容 appicon-cli)
  • Web 管理后台 — 管理图标、API 密钥、查看统计(深浅主题、中英切换)
  • 自动缩放 — 上传一张图,自动生成 64/128/256/512px 多尺寸
  • SQLite — 零配置嵌入式数据库,单文件存储

快速开始

git clone https://github.com/crazyma99/appicon-server.git
cd appicon-server

npm install
cd web && npm install && npm run build && cp -r dist ../public && cd ..
npm run build:server

npm start

浏览器打开 http://localhost:3000 查看管理后台。

默认 API Key:default-dev-key

对接 appicon-cli

appicon config add-source \
  --name my-icons \
  --url http://localhost:3000/api/icons \
  --key default-dev-key

appicon search "微信" --store custom
appicon download <icon-id> --store custom

作为 GitHub 模板使用

点击 "Use this template" 一键创建你自己的图标服务器,自定义分类、添加图标、随处部署。


License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages