imgd

module
v0.0.0-...-fdc8e6b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 13, 2022 License: Unlicense

README

imgd

imgd is a simple avatar serving system. You're probably looking for Minotar.net

imgd is a single binary for quickly getting up and running with skins + processed avatars.

We also provide skind (just skins) and processd (just processing). You should then configure processd to point at your instance(s) or skind.

How to install?

Installation is simple - however it requires an installation of Go. Ensure you are set up there before trying these commands.

git clone https://github.com/minotar/imgd
cd imgd

make imgd

This should compile a binary to ./cmd/imgd/imgd which can then be used for serving your images.

Try ./cmd/imgd/imgd --help to see the options. You can also pass ENV vars (uppercasing and replacing -/. with _).


IMGD_SERVER_HTTP_LISTEN_PORT=8080 ./cmd/imgd/imgd

Thanks

Big thanks to lukegb for porting the old version of this script from PHP to Go.

Directories

Path Synopsis
minotar document Todo: Could we instead use the prometheus.DefaultGatherer and Gather() to then use the Prometheus counters vs.
minotar document Todo: Could we instead use the prometheus.DefaultGatherer and Gather() to then use the Prometheus counters vs.
storage/util/expiry
A non-thread safe library for handling TTL of keys
A non-thread safe library for handling TTL of keys
cmd
pkg
cache
Provide a standardised interface for using our backend caches Insert/InsertTTL should be ran in goroutines to avoid waiting for results Retrieve/TTL functions should return the same error `ErrNotFound` when the key does not exist TTL functions should return `ErrNoExpiry` if they key was found, but no expiry info was found
Provide a standardised interface for using our backend caches Insert/InsertTTL should be ran in goroutines to avoid waiting for results Retrieve/TTL functions should return the same error `ErrNotFound` when the key does not exist TTL functions should return `ErrNoExpiry` if they key was found, but no expiry info was found
cache/migrate_cache
Migrate from bolt to badger
Migrate from bolt to badger
cache/util/expiry
Common methods for Expiry packages Common methods for Expiry packages
Common methods for Expiry packages Common methods for Expiry packages
cache/util/expiry/memory
memory is a thread safe library for handling TTL of keys as an expiry solution, `memory` is only suitable of in-memory store as the exoiry records do not persist
memory is a thread safe library for handling TTL of keys as an expiry solution, `memory` is only suitable of in-memory store as the exoiry records do not persist
cache/util/expiry/store
Implement expiry within the the actual value storage The underlying store will need to use this when Inserting/Retrieving
Implement expiry within the the actual value storage The underlying store will need to use this when Inserting/Retrieving
cache_converter
cache_converter is the go between to migrate to/from v3/4 To read the source data, it needs to loop through all it's keys For this reason, it will likely only ever support Redis (on v3) and BoltCache on v4
cache_converter is the go between to migrate to/from v3/4 To read the source data, it needs to loop through all it's keys For this reason, it will likely only ever support Redis (on v3) and BoltCache on v4
mcclient
Usernames and UUIDs should be normalized before calling mcclient (eg.
Usernames and UUIDs should be normalized before calling mcclient (eg.
processd/mcskin
The problem that is sovled by using the handlers is that you can pass in the minecraft.Skin and it does the rest - vs.
The problem that is sovled by using the handlers is that you can pass in the minecraft.Skin and it does the rest - vs.
util/sample_skin
Generated by load_skin.go
Generated by load_skin.go
util/tinytime
TinyTime sacrifices sub-second precision and longevity for minimal time storage One aim is to avoid storing pointers to timezones, so simply UTC Uses just 4 bytes when Encoded, also low memory
TinyTime sacrifices sub-second precision and longevity for minimal time storage One aim is to avoid storing pointers to timezones, so simply UTC Uses just 4 bytes when Encoded, also low memory
minecraft Module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL