2.7 KiB
Avatars API
A self-hosted avatars API using some of the DiceBear CC0 styles
You can take a look at my own self-hosted version here: https://avatars.jusemon.com
The following endpoints are available:
- https://avatars.jusemon.com/list
- https://avatars.jusemon.com/random
- https://avatars.jusemon.com/:seed
The size and style of the image can be changed with the following query params:
size
: any number between16
and512
style
: see the list endpoint, the valid values are defined by the propertykey
Example:
https://avatars.jusemon.com/jusemon?size=256&style=open-peeps where jusemon is the :seed
Installation
Development
For run locally it needs a .env
file with the environment variables defined in the .env.example
ALLOWED_ORIGINS includes a comma separated list for the allowed CORS sites.
Install dependencies npm install
or yarn
To start the project run npm run dev
or yarn dev
Production
For run it in docker just run docker compose up
Alternatively, you can run the image without cloning this repo using the image published here
With docker run:
docker run -p 3000:3000 -e NODE_ENV=production -e HOST=0.0.0.0 -e PORT=3000 -e API_VERSION=1 -e ALLOWED_ORIGINS=https://example.com git.jusemon.com/jusemon/avatars-api:1.0.0
With docker compose:
name: avatars
services:
api:
image: git.jusemon.com/jusemon/avatars-api:1.0.0
ports:
- 3000:3000
environment:
NODE_ENV: "production"
HOST: "0.0.0.0"
PORT: 3000
API_VERSION: 1
ALLOWED_ORIGINS: "https://example.com"
Libraries Used
- DiceBear (for avatar generation)
- sharp (for png exportation)
- uuid (for random seeds)
Credits
- Created by Juan Sebastián Montoya
Credits for Styles:
Title | Creator | Source | Homepage | License |
---|---|---|---|---|
Open Peeps | Pablo Stanley | https://www.openpeeps.com/ | https://twitter.com/pablostanley | CC0 1.0 |
Pixel Art | DiceBear | https://www.figma.com/community/file/1198754108850888330 | https://www.dicebear.com | CC0 1.0 |
Thumbs | DiceBear | https://www.dicebear.com | https://www.dicebear.com | CC0 1.0 |
License
This project is licensed under the MIT License.