Sign inSign up

jnstockley/api

By jnstockley

•Updated 1 day ago

Custom API written in Python using FastAPI

Image
Developer tools
0

10K+

jnstockley/api repository overview

⁠API

This is a custom API, written in Python using FastAPI, to help me accomplish tasks the can be improved through a RESTful API

⁠Setup

Simplest setup is to start from compose.yml⁠ and template.env⁠, which should be renamed to .env

⁠Environment Vairables
  • API_KEY - Any long, random string. Keep this secret as this is the only form of authentication for the API. All routes require it, except /health-check/
  • DATABASE_URL - The URL to connect to postgres DB. Must start with postgresql+psycopg://. Should be in the format specifiec in template.env⁠
  • TZ - Timezone of the container
  • PGTZ - Timezone the Postgres container should use
  • NEXTCLOUD_URL - Base URL (must be https://) of the Nextcloud instance used by /webhook/nextcloud-talk
  • NEXTCLOUD_TALK_TOKEN - Conversation token of the registered Nextcloud Talk bot⁠ used by /webhook/nextcloud-talk
  • NEXTCLOUD_TALK_SECRET - Shared secret of the registered Nextcloud Talk bot used by /webhook/nextcloud-talk

⁠Webhooks

  • POST /webhook/nextcloud-talk - Forwards a header and message to a Nextcloud Talk conversation via the Nextcloud Talk Bot API⁠, using the nctalk⁠ package. Requires the X-API-KEY header and a JSON body: {"header": "...", "message": "..."}

⁠How to Access

Using the compose.yml⁠ file, you can access the API at http://<IP>:5000/health-check. If everything is setup correctly, you should see {"status":"ok"}

Tag summary

Content type

Image

Digest

sha256:8b26ba90a…

Size

46.8 MB

Last updated

1 day ago

docker pull jnstockley/api