Nyeki's API
This is a simple API I built for a few utilities I've found myself recoding over and over or using across projects. The documentation can be found at https://api.nyeki.dev/ and at the root endpoint if you're self-hosting.
This API provides no stability guarantees (unless you're self-hosting it and modify it). It's not made for mass usage and with the small set of features it has, if you need something production-ready you'll be better off writing something yourself.
Self-hosting
This API is quite simple to self-host.
Env variables:
NYEKI_DEBUG: Whether to start in debug mode.NYEKI_GITHUB_TOKEN: A PAT token. You can get one here.NYEKI_DISCORD_TOKEN: A bot token. You can get one here.NYEKI_BIND_HOST: Docker-only. The IP to bind the API to. Defaults to0.0.0.0.NYEKI_BIND_PORT: Docker-only. The port to bind the API to. Defaults to8000.NYEKI_WORKERS: Docker-only. The amount of async web workers to spawn. Defaults to$(nproc)(the amount of CPU cores).NYEKI_REDIS_URL: The Redis URL to use for caching.
You can run it using uv by doing:
$ uv run uvicorn nyekiapi:app
To run deploy the API with Docker, just run:
$ docker run git.moan.dev/nyeki/nyeki-api:v2.0.0 -p 8000:80 \
$ -e NYEKI_DISCORD_TOKEN="..." \
$ -e NYEKI_GITHUB_TOKEN="..."
You can also clone this repository and run:
$ docker build -t nyeki-api .
$ docker run nyeki-api -p 8000:80 \
$ -e NYEKI_DISCORD_TOKEN="..." \
$ -e NYEKI_GITHUB_TOKEN="..."
Support
Enjoyed using this? Consider supporting this and other projects like this by making a donation here. It really helps me keep this up and running!