Documentation • API Wrappers • Self Hosting • Configuration • Contributing • License
Please feel free to submit a pull request to add your own API wrapper to this list!
Please consult the configuration section on what environment variables to set.
Make sure your docker version supports the docker-compose version displayed in the docker-compose.yaml
file.
- Run
docker-compose
docker-compose up -d
Nikel should work on any 32/64 bit system with go installed (version 1.18+ is required).
- git clone
git clone https://github.com/nikel-api/nikel.git
- cd into nikel
cd nikel
- Update submodules
git submodule update --init
- cd into nikel-core
cd nikel-core
- Build nikel-core
go build
- Run nikel-core
./nikel-core (add .exe suffix if on Windows)
- By default, nikel-core should be listening and serving on port 8080. To change the port, modify the
PORT
environment variable. - To suppress debug logs, add the environment variable
GIN_MODE
with the valuerelease
. - To add optional rate limiting, add the environment variable
RATE_LIMIT
with a positive integer value representing the number of reqs/s. - To add optional disk backed cache (using LevelDB), add the environment variable
CACHE_EXPIRY
with a positive integer value representing the number of seconds to expire.
For contributing, there are a few things to look out for:
- Use
go fmt github.com/nikel-api/nikel/...
to format code. - Consult the article Godoc: documenting Go code on how to write comments if you aren't sure.
- Use
go test github.com/nikel-api/nikel/... -v
to run all tests. - Please try to make a few tests to test code changes (not required, but is always good).
If you find any inconsistencies or parts of code that can be reworked, any pull requests are greatly appreciated.