Deployment
azanAPI includes a production Docker image that runs the FastAPI application as a
non-root user, exposes port 8000, logs to standard output, and probes the real
GET /health endpoint.
Current production API
The public API is available at https://api.aakashsharma.com.np. It is deployed
through the Cloudflare Worker named azan-api. Its Workers.dev address is deployment
infrastructure and is not the recommended client base URL.
curl https://api.aakashsharma.com.np/health
curl "https://api.aakashsharma.com.np/api/v1/prayer-times?latitude=25.2048&longitude=55.2708&timezone=Asia/Dubai&date=2026-09-18&calculation_method=iacad_dubai"Build and run locally or self-hosted
From the API repository root:
docker build -t azanapi:latest .
docker run --rm -p 8000:8000 -e LOG_LEVEL=INFO azanapi:latestVerify from another terminal:
curl http://127.0.0.1:8000/health
curl "http://127.0.0.1:8000/api/v1/prayer-times?latitude=25.2048&longitude=55.2708&timezone=Asia/Dubai&date=2026-09-15&calculation_method=dubai"For a long-running test container, use a name and inspect its health and logs:
docker run -d --name azanapi-test -p 8000:8000 azanapi:latest
docker inspect --format='{{json .State.Health}}' azanapi-test
docker logs azanapi-test
docker stop azanapi-test
docker rm azanapi-testThe container provides HTTP only. Put it behind a managed platform or a reverse proxy before exposing it to the public internet. See Render for a managed deployment path and VPS for a self-managed path.
Last updated on