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.
- Log in to dashboard.tannur.xyz
- Navigate to Settings → API Tokens
- Click Generate New Token
- 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
doneStep 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.xyzVerify 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.
