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.
You can pull Nikel API's prebuilt Docker images from Docker Hub.
- Pull the latest image from Docker Hub:
docker pull nikelapi/nikel
- Run image (you can tweak variables accordingly)
docker run --publish 8080:8080 --detach --name nikel-core nikelapi/nikel:latest
Make sure that your docker version supports the docker-compose version displayed in the docker-compose.yaml
file.
- Run
docker-compose
docker-compose up -d
Please make sure you have the same go version displayed in the go.mod
file. It should usually be the latest stable release. If you are unsure which go version you have, use go version
to find out.
Nikel should work on any 32/64 bit system with go installed.
- 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
Windows
./nikel-core.exe
Linux and macOS
./nikel-core
- 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 ratelimiting, add the environment variable
RATELIMIT
with a positive integer value representing the number of reqs/s.
For contributing, there are a few things to look out for:
- Always use
go fmt
to format code - Consult the article Godoc: documenting Go code on how to write docstrings if you aren't 100% sure
If you find any inconsistencies or parts of code that can be reworked, any pull requests are greatly appreciated.