A blazing fast API for Minecraft faces

jomo 9ed431d7ad remove images/ (see @4d94936) 10 lat temu
lib 0b58b3a4d1 add final log before shutting down on SIGTERM 10 lat temu
test 607dcaf6e5 use status -2 for 404s 10 lat temu
.buildpacks 2873157e97 Add 3d render support 10 lat temu
.editorconfig 16fdf8d1ac add editorconfig for .gitignore 10 lat temu
.gitignore 9ed431d7ad remove images/ (see @4d94936) 10 lat temu
.travis.yml c2d2644bbe make travis fast attempt 2 10 lat temu
CONTRIBUTING.md 8750b863a8 contributing: add tests for fixed issues 10 lat temu
LICENSE e8727a0d0d Happy New Year! :tada: :tada: 10 lat temu
Procfile 5f0a3dcb63 use postinstall script instead of Procfile 10 lat temu
README.md 256edd622f https 10 lat temu
app.json 27aa12a76b more crafatar/crafatar changes 10 lat temu
config.example.js 4d949362be change default config to use /var/lib/crafatr/images 10 lat temu
package.json 72708ca590 remove forever, update dependencies 10 lat temu
www.js 85e7b4b571 remove clusters 10 lat temu

README.md

Crafatar travis Coverage Status Code Climate

dependency status devDependency status docs status

logo 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, based on math by confuser.

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 help wanted show where we could especially need your help!

Examples

jomo's avatar Jake_0's avatar Notch's avatar sk89q's avatar
jomo's 3d head Jake_0's 3d head Notch's 3d head sk89q's 3d head
jomo's 3d body Jake_0's 3d body Notch's 3d body sk89q's 3d body
jomo's skin Jake_0's skin Notch's skin sk89q's skin

Usage / Documentation

Please visit the website for details.

Contact

  • You can follow us on twitter
  • Open an issue on GitHub
  • You can join IRC in #crafatar on irc.esper.net.

Installation on Heroku

Deploy

Installation on Dokku

[dokku server]

Install the dokku-redis plugin.

dokku redis:start
dokku apps:create crafatar
dokku config:set crafatar BIND=0.0.0.0 PORT=5000

For persistent images and logs:

dokku docker-options:add crafatar deploy "-v /var/lib/crafatar/images:/app/images"
dokku docker-options:add crafatar deploy "-v /var/log/crafatar:/app/logs"

If you want to listen on extra domains:

dokku domains crafatar:add example.com
[your machine]

Add dokku remote and deploy!

git remote add dokku dokku@example.com:crafatar
git push dokku master

Installation on your machine

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