Tannur

Deployment Guide

Step-by-step guide to deploying your first project on Tannur. From setup to going live.

Step 1: Get Your API Token

Every request to Tannur requires an API token for authentication.

  1. Log in to dashboard.tannur.xyz
  2. Navigate to Settings → API Tokens
  3. Click Generate New Token
  4. Copy and save your token securely

⚠️ Important: Store your token securely. Never commit it to version control. Use environment variables instead.

export TANNUR_API_TOKEN="your_token_here"

Step 2: Prepare Your Project

Make sure your project has the required files and commands.

Check Your package.json

Your project needs these npm scripts:

{
  "scripts": {
    "build": "your build command",
    "start": "your start command"
  }
}

Test Locally

Run these commands to verify everything works:

npm install
npm run build
npm start

Step 3: Start Provisioning

Send a POST request to provision your project.

Using curl

curl -X POST https://api.tannur.xyz/api/projects/prj_xyz/provision \
  -H "Authorization: Bearer $TANNUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "projectSlug": "my-awesome-app",
    "buildCommand": "npm run build",
    "installCommand": "npm install",
    "startCommand": "npm start"
  }'

Response: You'll get a JSON response with provisioningId. Save this for tracking.

Example Response

{
  "status": "provisioning_in_progress",
  "provisioningId": "pvn_abc123xyz",
  "statusCheckUrl": "/api/provisioning/pvn_abc123xyz/status",
  "estimatedCompletionTime": 180000
}

Step 4: Monitor Progress

Poll the status endpoint to check deployment progress.

Check Status

curl https://api.tannur.xyz/api/provisioning/pvn_abc123xyz/status \
  -H "Authorization: Bearer $TANNUR_API_TOKEN"

What to Expect

0-30 seconds: Token Validation & Project Creation

Tannur validates your credentials and creates your project.

30-60 seconds: Domain Binding & Environment Setup

Your project gets its subdomain and environment variables.

60-120 seconds: Build & Deployment

Your project is built and deployed to the edge network.

120-180 seconds: SSL Verification

HTTPS certificate is verified and activated.

Polling Loop Example

#!/bin/bash
PROVISIONING_ID="pvn_abc123xyz"

while true; do
  curl -s https://api.tannur.xyz/api/provisioning/$PROVISIONING_ID/status \
    -H "Authorization: Bearer $TANNUR_API_TOKEN" | jq .
  
  sleep 2
done

Step 5: Access Your Project

Once provisioning completes, your app is live and accessible globally.

Your Project URL

https://{projectSlug}.tannur.xyz

Example:
https://my-awesome-app.tannur.xyz

Verify Deployment

Test that your app is responding:

curl https://my-awesome-app.tannur.xyz

✅ Success! Your application is deployed and accessible to the world.

Next Steps

  • View Logs: Check build logs in the dashboard or via the logs endpoint.
  • Set Environment Variables: Use the API to add database URLs, API keys, and other secrets.
  • Custom Domain: Configure a custom domain through the dashboard.
  • CI/CD Integration: Set up automatic deployments with GitHub Actions, GitLab CI, or other platforms.
Ctrl+I