मुख्य सामग्री पर जाएँ
Studio सेटअप गाइड मैं एक वेब डेवलपर हूँ

वेब डेवलपर्स के लिए Studio सेटअप

Studio डाउनलोड में दोनों एडिशन का पूरा सोर्स, Cloudflare के लिए एक डिप्लॉय टूल और तकनीकी दस्तावेज़ शामिल हैं। यह गाइड उन लोगों के लिए संक्षिप्त संस्करण है जो हर चरण खुद चलाना पसंद करते हैं।

सर्वश्रेष्ठ के लिए
वेब डेवलपर और IT टीमें जो Studio डाउनलोड में मौजूद सोर्स से Studio को खुद इंस्टॉल करना पसंद करते हैं।
आपको क्या चाहिए
Studio डाउनलोड; PHP एडिशन के लिए, PHP 8.0 या उससे नए वर्ज़न वाला Apache, LiteSpeed या nginx होस्ट; Cloudflare एडिशन के लिए, R2 चालू किया हुआ Cloudflare अकाउंट और Node.js 20 या उससे नया वर्ज़न।
एडिशन
एक ही ऐप के दो एडिशन, जिनके URL, अपलोड API, डैशबोर्ड और भूमिकाएँ एक जैसी हैं: बिना डेटाबेस वाला PHP ऐप, और R2 व D1 पर टिका Cloudflare Worker।

Studio का डाउनलोड पाएँ

उस अकाउंट से Maxisnap में साइन इन करें जिसके पास Studio है, फिर:

  • Windows पर: Maxisnap में सेटिंग्स → अकाउंट → Maxisnap Studio सेटअप विज़ार्ड खोलें, “शुरू करें” पर क्लिक करें, फिर “डैशबोर्ड डाउनलोड करें”। Maxisnap, Studio की ZIP फ़ाइल को आपके डाउनलोड फ़ोल्डर में सहेजता है और वह फ़ोल्डर खोल देता है।
  • Mac पर: Maxisnap में Settings → Welcome & Help → Studio Setup Guide खोलें, “Get Started” पर क्लिक करें, फिर “Download Dashboard”। Maxisnap, Studio की ZIP फ़ाइल को आपके डाउनलोड फ़ोल्डर में सहेज देता है।

ZIP फ़ाइल को एक्सट्रैक्ट करें। Windows पर उस पर राइट-क्लिक करें और “सभी निकालें” (Extract All) चुनें। Mac पर उस पर डबल-क्लिक करें।

Maxisnap-Studio-v<version>/
  Maxisnap Studio - Start Here.html   guided setup (branding + every route)
  snaps/                              PHP edition: upload this folder to a web host
  cloudflare/                         Cloudflare Workers edition (Worker + R2 + D1)
    deploy/cli.mjs                    deploys it through the Cloudflare API (Node 20+)
  docs/Developer guide.html           architecture, upload API, security, updates
  docs/Cloudflare setup - technical brief.html
  AGENTS.md                           instructions for AI coding assistants

पूरी Developer guide में आर्किटेक्चर, अपलोड API, कुंजियाँ और भूमिकाएँ, सुरक्षा मॉडल और समस्या-समाधान की जानकारी है। यह डाउनलोड में docs/Developer guide.html है।

PHP एडिशन: अपलोड करें और सेटअप पूरा करें

  1. snaps फ़ोल्डर को वेब रूट में अपलोड करें, उसकी छिपी हुई .htaccess फ़ाइलों समेत, ताकि नतीजा public_html/snaps/index.php बने। Start Here पेज से बनी ब्रांडेड snaps.zip भी इसी तरह काम करती है; उसे वहीं एक्सट्रैक्ट करें और snaps/snaps जैसा नेस्टेड फ़ोल्डर न बनने दें।
  2. https://yourcompany.com/snaps/ को एक बार खोलें। सेटअप पेज PHP और फ़ोल्डर की अनुमतियाँ जाँचता है और 40 अक्षरों की एक एडमिन कुंजी सुझाता है; कुंजी में कम से कम 16 अक्षर होने चाहिए। उसे कॉपी करें, फिर “Create my dashboard” पर क्लिक करें।
  3. nginx पर snaps/.htaccess के रूटिंग और deny नियमों को दोबारा बनाएँ। uploads, data और branding को निजी रखें।

सेटअप पेज your-settings.php लिखता है, जो अपडेट के बाद भी बनी रहती है:

'dashboard_key' => '…',          // the Admin key; the setup page writes it
'base_url'      => 'https://yourcompany.com/snaps',  // the address setup was opened at; fix it here if share links come out wrong
'max_upload_mb' => 500,          // your host's PHP limits still apply

Cloudflare एडिशन: टर्मिनल से डिप्लॉय करें

साथ में आने वाला CLI पहले अकाउंट को पढ़ता है, एक प्लान दिखाता है कि वह क्या बनाएगा और क्या नहीं छुएगा, और जो नाम पहले से इस्तेमाल में हैं उन्हें मना कर देता है। अगर कोई डिप्लॉय बीच में रुक जाए, तो वही कमांड फिर से चलाने पर वह बिना कुछ दो बार बनाए आगे बढ़ता है।

cd cloudflare
# Option 1: the bundled CLI (Node 20+; plan first, then --yes). PowerShell:
$env:CLOUDFLARE_API_TOKEN = "<token: Account Settings Read; Workers Scripts, R2 and D1 Edit;
                              for --zone/--hostname also Zone Read, DNS Read, Workers Routes Read>"
node deploy/cli.mjs whoami
node deploy/cli.mjs plan --account <account id> --name snaps
#   no workers.dev name on the account yet? The plan asks you to "Choose your free
#   workers.dev name": add --subdomain <your-company> to both commands (account-wide).
#   A subdomain of your domain as well: add --zone <zone id> --hostname snaps.example.com
node deploy/cli.mjs deploy --account <account id> --name snaps --yes
#   prints the Studio address and the Admin key once, and writes deployment.json here

# Option 2: plain Wrangler (create the bucket and database, set their ids in wrangler.jsonc)
npm install
npx wrangler r2 bucket create maxisnap-studio-media
npx wrangler d1 create maxisnap-studio
npx wrangler secret put ADMIN_KEY
npm run sync
npx wrangler deploy

डिप्लॉय Studio का पता और एडमिन कुंजी सिर्फ़ एक बार प्रिंट करता है, और जिस फ़ोल्डर से चलता है उसमें deployment.json लिख देता है। उस फ़ाइल को सँभालकर रखें: update और remove उसका इस्तेमाल करते हैं।

जाँचें कि यह काम कर रहा है

curl.exe -s -H "X-Dashboard-Key: <Admin key>" https://<studio address>/api/health.php
# {"ok":true,"app":"Maxisnap Studio","version":"…"}   the Cloudflare edition adds "edition":"cloudflare"

फिर Studio का पता ब्राउज़र में खोलें और एडमिन कुंजी से साइन इन करें। 401 का मतलब है गलत कुंजी; 404 का मतलब है गलत पता या फ़ोल्डर।

Maxisnap कनेक्ट करें

  • Windows के लिए Maxisnap: सेटिंग्स → अकाउंट → Maxisnap Studio सेटअप विज़ार्ड खोलें, “शुरू करें” पर क्लिक करें, फिर चरण 4, “Maxisnap कनेक्ट करें”, आने तक “अगला” पर क्लिक करते जाएँ। अपने Studio का पता और कुंजी पेस्ट करें, “कनेक्शन टेस्ट करें” पर क्लिक करें, फिर “अगला” पर, और आख़िरी पेज पर “पूरा करें और सहेजें” पर क्लिक करें। सेटअप में मिली एडमिन कुंजी काम करती है, और आपके डैशबोर्ड में People & access से लिया गया अपलोड कोड भी काम करता है।
  • Mac के लिए Maxisnap: Settings → Welcome & Help → Studio Setup Guide खोलें और “I already have a dashboard” चुनें। अपने Studio का पता और कुंजी पेस्ट करें, “Test Connection” पर क्लिक करें, फिर “Next”, फिर “Finish & Save”।

अपलोड API के बारे में जानें

  • Maxisnap ऐप X-Dashboard-Key हेडर के साथ api/upload.php पर अपलोड करते हैं। इमेज (PNG, JPG, GIF और WebP) और वीडियो (MP4, WebM और MOV) स्वीकार किए जाते हैं।
  • Windows के लिए Maxisnap और Mac के लिए Maxisnap हर अपलोड को Cloudflare Studio पर एक ही रिक्वेस्ट में भेजते हैं, और वह हर फ़ाइल के लिए 25 MB तक स्वीकार करता है।
  • Cloudflare एडिशन में बड़ी फ़ाइलों के लिए एक चंक्ड अपलोड API भी है, जिसका वर्णन Developer guide में है: api/upload/start, part और complete।
  • शेयर पेज और उनकी मीडिया फ़ाइलें इन पाथ का इस्तेमाल करती हैं; बाकी हर पाथ आंतरिक है: /<slug> /<slug>.<ext>

बाद में इसे अपडेट करें या हटाएँ

PHP: सिर्फ़ snaps/How to update.txt में सूचीबद्ध फ़ाइलें बदलें, फिर होस्ट और CDN का कैश साफ़ करें। कैप्चर, लोग, ब्रांडिंग और सेटिंग्स बने रहते हैं।

Cloudflare: नीचे दिए गए कमांड नए पैकेज के cloudflare फ़ोल्डर से चलाएँ, उसमें पुरानी deployment.json कॉपी करने के बाद।

# Update: from a newer package's cloudflare folder, with the old deployment.json copied in
node deploy/cli.mjs update --record deployment.json --yes
# New Admin key (shown once):
node deploy/cli.mjs update --record deployment.json --yes --new-admin-key
# Remove the custom domain and the Worker; the bucket and database (the captures) stay
node deploy/cli.mjs remove --record deployment.json --yes
# Also delete every capture: cannot be undone
node deploy/cli.mjs remove --record deployment.json --yes --delete-data

Cloudflare तकनीकी ब्रीफ़ पढ़ें: हर रिसोर्स, अनुमति और API कॉल।

अगर कुछ गड़बड़ हो जाए

हेल्थ चेक 401 देता है

{"error":"unauthorized"}

कुंजी गलत है, बंद कर दी गई है, या Studio द्वारा स्वीकार की जाने वाली लंबाई से छोटी है, या PHP होस्ट पर सेटअप पूरा नहीं हुआ है। इसे X-Dashboard-Key हेडर में भेजें, पते में कभी नहीं।

हेल्थ चेक 404 देता है, या JSON की जगह HTML

पता या फ़ोल्डर गलत है, होस्ट Studio के .htaccess नियमों को अनदेखा करता है (nginx, या रीराइटिंग के बिना Apache), या Studio की जगह कोई CDN या सिक्योरिटी लेयर जवाब दे रही है। nginx पर snaps/.htaccess के रूटिंग और deny नियमों को दोबारा बनाएँ; Developer guide में वे दिए गए हैं।

हेल्थ चेक 429 देता है

Too many incorrect codes. Wait a few minutes before trying again.

बार-बार गलत कुंजी डालने के बाद Studio आपके नेटवर्क से आगे की कोशिशें 15 मिनट के लिए मना कर देता है। इंतज़ार करें, फिर सही कुंजी से दोबारा कोशिश करें।

कस्टम डोमेन पर अपलोड 403 देते हैं

उस होस्टनेम पर Cloudflare Access, कोई WAF नियम या Bot Fight Mode ऐप्स के अपलोड रोक देता है। इन सेटिंग्स से Studio होस्टनेम को बाहर रखें; चेकलिस्ट तकनीकी ब्रीफ़ में है। Viewer कोड से भी अपलोड पर 403 मिलता है: एडमिन कुंजी या कोई अपलोड कोड इस्तेमाल करें।

अपलोड 413 देते हैं

PHP पर upload_max_filesize, post_max_size या होस्ट या CDN की कोई सीमा फ़ाइल के आकार से कम है; Studio की अपनी सीमा your-settings.php में max_upload_mb है।

Cloudflare पर एक रिक्वेस्ट 25 MB तक ले जा सकती है; इससे बड़ी फ़ाइलों के लिए चंक्ड अपलोड API चाहिए।

Cloudflare Studio का हर पेज 503 देता है

This Studio is not set up correctly: its ADMIN_KEY secret must be at least 16 characters.

ज़्यादा लंबा ADMIN_KEY सीक्रेट सेट करें, उदाहरण के लिए update कमांड और --new-admin-key के साथ, या npx wrangler secret put ADMIN_KEY से।

प्लान एक “x” वाली पंक्ति पर आकर रुक जाता है

हर “x” वाली पंक्ति एक रुकावट है, और वह बताती है कि क्या करना है: R2 चालू करें, workers.dev नाम के बिना अकाउंट के लिए --subdomain जोड़ें, या जब कोई नाम अमान्य हो, पहले से लिया जा चुका हो या डोमेन से बाहर हो, तो --name, --zone या --hostname बदलें। फिर प्लान दोबारा चलाएँ। जिन बकेट और डेटाबेस के नाम पहले से लिए जा चुके हैं, उन्हें बिना किसी रुकावट के अगला खाली नाम मिल जाता है।

CLI deployment.json को मना कर देता है

deployment.json belongs to the Studio "snaps". Keep it, and pass --record <another file> for this one.

हर Studio का अपना रिकॉर्ड होता है। उस फ़ाइल को सँभालकर रखें और दूसरे Studio को --record के साथ कोई दूसरी फ़ाइल दें। किसी भी रिकॉर्ड के बिना update और remove नहीं चल सकते; सही फ़ाइल का पाथ दें।

workers.dev पर चलने वाला Studio “Error 1027” दिखाता है

मुफ़्त प्लान की रोज़ाना की रिक्वेस्ट सीमा पूरी हो गई। यह आधी रात UTC पर रीसेट होती है।

अब भी मदद चाहिए?

हमें ईमेल करें, और कोई व्यक्ति आपको जवाब लिखेगा, आमतौर पर एक कार्य-दिवस के भीतर। ये जानकारियाँ हमें एक ही बार में जवाब देने में मदद करती हैं:

  • आपने कौन-सा सेटअप विकल्प चुना और आप किस चरण पर हैं।
  • स्क्रीन का एक स्क्रीनशॉट, जिसमें कोई भी एरर संदेश पूरा दिखे।
  • आपका Studio कहाँ लगने वाला है: नया या मौजूदा Cloudflare अकाउंट, या आपकी वेब होस्टिंग कंपनी का नाम।
  • आपका Maxisnap वर्ज़न: Windows पर सेटिंग्स → “के बारे में”; Mac पर Maxisnap → “About Maxisnap”।

कृपया अपनी एडमिन कुंजी, कोई Cloudflare कुंजी या पासवर्ड न भेजें। आपकी मदद करने के लिए हमें इनकी ज़रूरत नहीं है।

सेटअप की दूसरी गाइड