প্রকল্প সম্পর্কে

static-server স্ট্যাটিক ওয়েবসাইট এবং SPA বিল্ডের জন্য একটি ছোট কন্টেইনারাইজড HTTP ফাইল সার্ভার প্রদান করে। ইমেজটি স্ক্র্যাচ থেকে স্ট্যাটিক্যালি লিঙ্কড গো বাইনারি দিয়ে তৈরি, স্ট্যান্ডার্ড লাইব্রেরি ব্যবহার করে, CGO_ENABLED=0 প্রয়োজন, এবং UID 65534 হিসেবে শেল, প্যাকেজ ম্যানেজার, libc, বা রানটাইম রাইটেবল পাথ ছাড়াই চলে। মূল সার্ভিং ক্ষমতাগুলির মধ্যে রয়েছে: - SERVE_DIR থেকে ফাইল পরিবেশন, বেকড-ইন ডিফল্টের জন্য ঐচ্ছিক FALLBACK_DIR ক্যাসকেড সহ। - SPA মোড যা এক্সটেনশনবিহীন নেভিগেশন রুটের জন্য index.html ফেরত দেয়, যেখানে অনুপস্থিত অ্যাসেট পাথ 404 রেসপন্স থাকে। - ক্লায়েন্ট এনকোডিং গ্রহণ করলে ঐচ্ছিক সিবলিং .br এবং .gz ডেলিভারি। - ফিঙ্গারপ্রিন্টেড অ্যাসেটের জন্য কনফিগারযোগ্য ইমিউটেবল ক্যাশ প্রিফিক্স, যেখানে HTML এবং নেভিগেশন রেসপন্স no-cache ব্যবহার করে। - স্বয়ংক্রিয় MIME টাইপ রেজিস্ট্রেশন, .wasm ফাইলের জন্য application/wasm সহ। - শুধুমাত্র GET এবং HEAD; অন্যান্য মেথড 405 রেসপন্স পায়। - ডিরেক্টরি লিস্টিং নিষ্ক্রিয়, ডিরেক্টরিগুলির জন্য index.html প্রয়োজন। - রেসপন্সে সিকিউরিটি হেডার এবং ঐচ্ছিক Content-Security-Policy সেটিং। সার্ভার কুবারনেটিস লাইভনেস এবং রেডিনেস চেকের জন্য /healthz, বিল্ড-টাইম সংস্করণের জন্য /version, এবং মেশিন-রিডেবল রেফারেন্স হিসেবে /llms.txt এক্সপোজ করে। এটি গ্রেসফুল শাটডাউনের জন্য SIGTERM হ্যান্ডেল করে এবং কনটেন্ট রিড-অনলি বাইন্ড মাউন্ট, কনফিগম্যাপ, initContainer দ্বারা পপুলেটেড emptyDir, বা অন্য ভলিউমের মাধ্যমে সরবরাহ করা যেতে পারে। কনফিগারেশন এনভায়রনমেন্ট ভেরিয়েবল-ভিত্তিক, যার মধ্যে রয়েছে PORT, SERVE_DIR, FALLBACK_DIR, SPA_FALLBACK, CACHE_IMMUTABLE_PREFIX, CONTENT_SECURITY_POLICY, এবং PRECOMPRESSED। রিপোজিটরিতে ডকার রান উদাহরণ, কুবারনেটিস ডিপ্লয়মেন্ট ম্যানিফেস্ট, কাস্টমাইজ কনফিগম্যাপ জেনারেশন, পার্শিয়াল ওভারলে উদাহরণ, এবং বিল্ড আউটপুট বা টেমপ্লেট রেন্ডারিংয়ের জন্য initContainer প্যাটার্ন অন্তর্ভুক্ত রয়েছে। ইমেজগুলি Quay.io এবং Docker Hub-এ latest এবং ভার্সনড ট্যাগ সহ প্রকাশিত হয়। লোকাল বিল্ড Docker, Docker Buildx, Make, এবং Go 1.24 বা তার নতুন সংস্করণ ব্যবহার করে; মাল্টি-প্ল্যাটফর্ম linux/amd64 এবং linux/arm64 বিল্ড সমর্থিত। বিল্ড আর্গুমেন্ট OCI লেবেল এবং ডিফল্ট index.html টেমপ্লেট কাস্টমাইজ করে। CI go vet এবং race-সক্ষম টেস্ট চালায়, যেখানে ট্যাগ পাবলিশিং মাল্টি-প্ল্যাটফর্ম ইমেজ পুশ করে। প্রজেক্টটি BSD Zero Clause লাইসেন্সের অধীনে প্রকাশিত।