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:f385ae4c9

Size

45.2 MB

Last updated

1 day ago

docker pull jnstockley/api