mirror of
https://github.com/azures04/crafatar.git
synced 2026-03-21 23:41:18 +01:00
Crafatar

Crafatar serves Minecraft avatars based on the skin for use in external applications.
Inspired by Gravatar (hence the name) and Minotar.
Image manipulation is done by lwip. 3D renders are created with node-canvas / cairo.
Contributions welcome!
There are usually a few open issues.
We welcome any opinions or advice in discussions as well as pull requests.
Issues tagged with
show where we could especially need your help!
Examples
Usage / Documentation
Please visit the website for details.
Contact
Installation
Manual
- Install nodejs 12 (LTS)
- Install
redis-server - Run
npm install
If that fails, it's likely because because ofnode-canvasdependencies. Follow this guide to install them. - Run
npm start
Crafatar is now available at http://0.0.0.0:3000.
Docker
Download the docker image from releases (docker hub coming soon™️).
docker load -i crafatar-docker.tar
mkdir /path/to/crafatar-images
docker network create crafatar
docker run --net crafatar -d --name redis redis
docker run --net crafatar -v /path/to/crafatar-images:/crafatar/images -e REDIS_URL=redis://redis -p 3000:3000 crafatar:2.1.0
Environment variables
| Variable | Default | Description |
|---|---|---|
BIND |
0.0.0.0 |
Hostname to listen on |
PORT |
3000 |
Port to listen on |
DEBUG |
false |
Enable verbose debug logging |
REDIS_URL |
redis://127.0.0.1:6379 |
URI of the redis server |
EPHEMERAL_STORAGE |
If set, redis is flushed on start* |
* Use this to avoid issues when you have a persistent redis database but an ephemeral storage
Tests
npm test
If you want to debug failing tests:
# show logs during tests
env VERBOSE_TEST=true npm test
It can be helpful to monitor redis commands to debug caching errors:
redis-cli monitor
Languages
JavaScript
79.5%
EJS
13.6%
CSS
5.3%
Shell
0.9%
Dockerfile
0.7%