ราคาบล็อก
ภาษา
Helipack Engine

Dockerfile โดยไม่ต้องเขียนเอง

Helipack คือ build engine ภายในของ Helipod ที่ตรวจจับ framework จาก repository ของคุณและสร้าง Dockerfile พร้อมใช้งานจริง พร้อม multi-stage build, build secrets และแนวปฏิบัติด้านความปลอดภัยที่ดี

Helipack Engineเดโม
1
2
3
4
ตรวจจับ runtime
composer.json
artisan
package.json
yarn.lock
Dockerfile (สร้างอัตโนมัติ)
FROM dunglas/frankenphp:latest-php8.3-alpine AS base
WORKDIR /app
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
 
FROM base AS deps
COPY composer.json composer.lock ./
RUN composer install --no-dev --prefer-dist
 
FROM base AS runner
COPY . .
COPY --from=deps /app/vendor ./vendor
RUN composer dump-autoload --optimize
 
RUN --mount=type=secret,id=build_env \
php artisan config:cache && php artisan route:cache
 
EXPOSE 8000
CMD ["frankenphp", "run"]

ทำไมจึงสำคัญ

สิ่งที่คุณจะได้รับ

การตรวจจับ Runtime

Helipack สแกน repository และตรวจจับ framework จากไฟล์การตั้งค่า, dependencies และโครงสร้างโปรเจกต์

Multi-stage Build

Dockerfile ที่สร้างขึ้นใช้ multi-stage build เพื่อลดขนาด image production ให้เล็กที่สุด

Build Secrets

Environment variables ที่ใช้ตอน build จะไม่ถูกเก็บใน image layer โดยใช้ BuildKit secrets

ความปลอดภัยในตัว

Non-root user, tini init process และ layer caching ที่ปรับให้เหมาะสม ทั้งหมดตั้งค่าให้อัตโนมัติ

รู้จัก Framework

FrankenPHP สำหรับ Laravel 8.2+, standalone mode สำหรับ Next.js, gunicorn สำหรับ Python เหมาะสมที่สุดสำหรับแต่ละ framework

Cache ที่เหมาะสม

Layer ถูกจัดเรียงตามความถี่ในการเปลี่ยนแปลง dependency เปลี่ยนไม่บ่อย ซอร์สโค้ดเปลี่ยนบ่อย ทำให้ build เร็ว

ขั้นตอน

วิธีการทำงาน

  1. 01

    เชื่อมต่อ Repository

    เชื่อมต่อ repo GitHub/GitLab Helipack เริ่มสแกนไฟล์ใน repository

  2. 02

    ตรวจจับ Framework

    Helipack อ่าน composer.json, package.json, requirements.txt และไฟล์ config เพื่อตรวจจับ framework

  3. 03

    สร้าง Dockerfile

    Dockerfile แบบ multi-stage ที่เหมาะสมถูกสร้างอัตโนมัติ พร้อมแนวปฏิบัติด้านความปลอดภัยที่ดี

  4. 04

    Build และดีพลอย

    Docker image ถูก build ด้วย cache ที่เหมาะสม แล้วดีพลอยไปยัง production

คำถามที่พบบ่อย

คำถามที่พบบ่อย

Helipack รองรับ framework อะไรบ้าง
Helipack รองรับ Node.js (Next.js, Nuxt, Remix, Astro, Express, NestJS), PHP (Laravel, Symfony), Python (Django, FastAPI, Flask) และ Go (Gin, Echo) สำหรับภาษาอื่น (Rust, Ruby, Java) ใช้ Dockerfile ของคุณเอง
ดู Dockerfile ที่สร้างขึ้นได้อย่างไร
ดูได้ใน Build Logs ตอนดีพลอย หรือสำหรับการพัฒนาในเครื่อง ตั้ง HELIPACK_KEEP_DOCKERFILE=1 ก่อน build แล้ว Helipack จะบันทึกไฟล์เป็น .helipack.Dockerfile
แก้ไขทับการตั้งค่า Helipack ได้อย่างไร
สร้างไฟล์ helipack.json ที่ root ของ repository เพื่อแก้ไขทับคำสั่ง build, คำสั่ง start, พอร์ต, health check, packages และอื่นๆ อ่านคู่มือฉบับเต็มในบล็อก
Helipack ปลอดภัยสำหรับ production ไหม
ใช่ ทุก Dockerfile ใช้ BuildKit secrets (env vars ไม่ถูกเก็บใน layer), non-root user และ tini init process เพื่อการปิดระบบอย่างนุ่มนวล

ฟีเจอร์อื่นๆ

ทำงานได้ดีขึ้นเมื่อใช้ร่วมกัน

ดูฟีเจอร์ทั้งหมด

พร้อมลองหรือยัง

เข้าสู่ระบบด้วย Google หรือ GitHub เชื่อมต่อ repository และชำระจากยอดเงิน Rupiah ไม่ต้องใช้บัตรเครดิต
WhatsApp