บอกลาคำสั่ง Docker CLI ที่ซับซ้อน: คู่มือติดตั้ง Dockge จัดการ Docker Compose บน Home Server อย่างมือโปร
ยกระดับการจัดการคอนเทนเนอร์บน Home Server ให้ง่ายและเป็นระเบียบ ด้วย Dockge ตัวจัดการ Docker Compose สไตล์มินิมอลที่เน้นความโปร่งใส ควบคุมไฟล์ .yml ได้โดยตรง 100%
สำหรับผู้ที่เริ่มต้นสร้าง Home Server เพื่อทวงคืนอธิปไตยเหนือข้อมูลส่วนตัว สิ่งหนึ่งที่เราต้องทำความคุ้นเคยอย่างหลีกเลี่ยงไม่ได้คือ Docker และ Docker Compose ไม่ว่าจะเป็นการติดตั้ง Vaultwarden, Nextcloud, Immich หรือ n8n
แต่เมื่อจำนวนบริการในบ้านเริ่มเพิ่มขึ้นจาก 2-3 ตัวกลายเป็น 10-20 ตัว ปัญหาคลาสสิกที่มักจะเกิดขึ้นคือ: * ต้องคอยจำคำสั่ง Terminal ยาวๆ เช่น docker compose up -d, docker compose logs -f * ไฟล์ docker-compose.yml กระจัดกระจายอยู่ตามโฟลเดอร์ต่างๆ จนจำไม่ได้ว่าเซอร์วิสไหนตั้งค่าอะไรไว้ * การใช้เครื่องมือรุ่นพี่อย่าง Portainer บางครั้งก็รู้สึกว่า "หนักเกินไป" และมีเลเยอร์การตั้งค่าที่ซับซ้อนเกินจำเป็น ซ้ำยังชอบซ่อนไฟล์ Compose ไว้ในฐานข้อมูลภายในจนเราจัดการไฟล์ดิบได้ยาก
หากคุณกำลังมองหาเครื่องมือจัดการ Docker ที่ เร็ว เบา คลีน และตรงไปตรงมา คำตอบที่สมบูรณ์แบบที่สุดในตอนนี้คือ Dockge ครับ
ทำไมต้องเลือก Dockge?
Dockge (อ่านว่า ด็อก-เจ) เป็นโปรเจกต์โอเพนซอร์สที่พัฒนาโดย Louis Lam ผู้สร้างเครื่องมือมอนิเตอร์ชื่อดังอย่าง Uptime Kuma ที่ชาว Self-host ชื่นชอบ
จุดเด่นของ Dockge ที่เหนือกว่าเครื่องมือตัวจัดการคอนเทนเนอร์แบบเดิมๆ ได้แก่:
- ยึดไฟล์
docker-compose.ymlเป็นศูนย์กลาง (Directory-based): ทุก Stack ที่คุณสร้างใน Dockge จะถูกบันทึกเป็นไฟล์.ymlและโฟลเดอร์ข้อมูลจริงบนฮาร์ดดิสก์ของคุณ ไม่มีการซ่อนไว้ในฐานข้อมูลปิด ทำให้คุณสามารถแก้ไขไฟล์ผ่าน VS Code, Terminal หรือ Dockge UI ได้พร้อมกันแบบไร้รอยต่อ - หน้าตาเว็บแบบ Reactive และทันสมัย: หน้าจอ UI ตอบสนองแบบเรียลไทม์ผ่าน WebSocket ไม่ต้องคอยกดรีเฟรชหน้าเว็บเพื่อดูสถานะการดาวน์โหลดอิมเมจหรือการสตาร์ตคอนเทนเนอร์
- Interactive Terminal และ Log Viewer ในตัว: คุณสามารถดูบันทึกการทำงาน (Logs) แบบสดๆ หรือเปิด Terminal สั่งการเข้าไปในคอนเทนเนอร์ผ่านเว็บเบราว์เซอร์ได้ทันทีโดยไม่ต้องเปิด SSH ซ้ำซ้อน
- น้ำหนักเบามาก: ใช้ทรัพยากรเครื่องน้อยมาก เหมาะอย่างยิ่งสำหรับ Home Server สเปกประหยัดหรือ Mini PC
สิ่งที่ต้องเตรียมก่อนเริ่มติดตั้ง
- Home Server หรือ Mini PC ที่ติดตั้ง Linux (เช่น Ubuntu Server, Debian) และติดตั้ง Docker Engine + Docker Compose V2 เรียบร้อยแล้ว
- โฟลเดอร์หลักสำหรับเก็บ Stacks ทั้งหมดของเซิร์ฟเวอร์ เช่น
/home/linn/stacks
ขั้นตอนที่ 1: เตรียมโครงสร้างโฟลเดอร์และไฟล์ติดตั้ง
เข้าสู่เซิร์ฟเวอร์ของคุณผ่าน Terminal หรือ SSH จากนั้นสร้างโฟลเดอร์สำหรับ Dockge และโฟลเดอร์เก็บ Stacks:
# สร้างโฟลเดอร์หลักสำหรับเก็บ Stacks ของบริการทั้งหมด
mkdir -p ~/stacks
# สร้างโฟลเดอร์สำหรับรัน Dockge เอง
mkdir -p ~/dockge
cd ~/dockge
สร้างไฟล์ docker-compose.yml ภายในโฟลเดอร์ ~/dockge:
version: "3.8"
services:
dockge:
image: louislam/dockge:1
container_name: dockge
restart: unless-stopped
ports:
- "5001:5001"
volumes:
# เชื่อมต่อ Docker Socket เพื่อให้ Dockge คุมคอนเทนเนอร์ได้
- /var/run/docker.sock:/var/run/docker.sock
# โฟลเดอร์เก็บข้อมูลคอนฟิกของ Dockge
- ./data:/app/data
# โฟลเดอร์หลักที่ใช้เก็บ Stacks ทั้งหมดบนเซิร์ฟเวอร์
- /home/linn/stacks:/home/linn/stacks
environment:
- DOCKGE_STACKS_DIR=/home/linn/stacks
ข้อควรระวัง: ตรวจสอบให้แน่ใจว่าพาธ/home/linn/stacksในส่วนvolumesและDOCKGE_STACKS_DIRตรงกับชื่อโฟลเดอร์และชื่อผู้ใช้จริงบนเซิร์ฟเวอร์ของคุณ
ขั้นตอนที่ 2: สั่งรัน Dockge และตั้งค่าผู้ดูแลระบบ
สั่งให้ Docker Compose ดาวน์โหลดอิมเมจและรัน Dockge ในเบื้องหลัง:
docker compose up -d
เมื่อระบบเริ่มทำงานเรียบร้อย: 1. เปิดเว็บเบราว์เซอร์บนคอมพิวเตอร์ของคุณแล้วไปที่ http://<IP_ของ_Home_Server>:5001 2. ระบบจะแสดงหน้าจอแรกเพื่อสร้าง บัญชีผู้ดูแลระบบ (Admin Account) 3. กรอก Username และ Password ที่ปลอดภัย แล้วกด Create
คุณจะเข้าสู่หน้า Dashboard หลักของ Dockge ที่สะอาดตา พร้อมใช้งานได้ทันที
ขั้นตอนที่ 3: วิธีสร้าง Stack บริการใหม่ผ่าน Dockge UI
เมื่อต้องการติดตั้งบริการใหม่ (เช่น Uptime Kuma หรือ Vaultwarden) คุณไม่ต้องต่อ SSH เข้าเซิร์ฟเวอร์อีกต่อไป:
- กดปุ่ม + Compose ที่มุมบนซ้ายของหน้าจอ Dockge
- ตั้งชื่อ Stack (เช่น
uptime-kuma) - ในช่องแก้ไขทางขวามือ คุณสามารถพิมพ์หรือวางโค้ด Docker Compose ได้ทันที:
version: "3.8"
services:
uptime-kuma:
image: louislam/uptime-kuma:1
container_name: uptime-kuma
restart: always
ports:
- "3001:3001"
volumes:
- ./uptime-kuma-data:/app/data
- ในช่องซ้ายมือ Dockge จะแปลงโครงสร้าง YAML ออกมาเป็น UI Form ให้คุณปรับเปลี่ยนพอร์ตหรือตัวแปร Environment ได้ง่ายๆ
- กดปุ่ม Deploy ระบบจะทำการดึง Image และรันคอนเทนเนอร์พร้อมแสดงสถานะให้เห็นแบบสดๆ
ขั้นตอนที่ 4: การนำเข้า (Import) Stacks เดิมที่มีอยู่แล้ว
หากคุณมีโฟลเดอร์ Docker Compose ที่เคยสร้างไว้ก่อนหน้านี้ เพียงแค่ย้ายโฟลเดอร์โปรเจกต์เหล่านั้นมาไว้ในไดเรกทอรี ~/stacks:
# ตัวอย่าง: ย้ายโฟลเดอร์ vaultwarden มาไว้ใน stacks directory
mv ~/vaultwarden ~/stacks/vaultwarden
จากนั้นเปิดหน้าต่าง Dockge แล้วกดปุ่ม Scan Stacks Folder บริการเดิมของคุณทั้งหมดจะปรากฏขึ้นในแถบด้านซ้ายมือโดยอัตโนมัติ พร้อมให้คุณกด Start, Stop, Update หรือแก้ไขคอนฟิกได้ทันที
ข้อแนะนำเพิ่มเติมเพื่อความปลอดภัย
- เข้าถึงผ่านเครือข่ายส่วนตัว: ไม่ควรเปิดพอร์ต
5001ออกสู่อินเทอร์เน็ตสาธารณะโดยตรง ควรเข้าใช้งานผ่านเครือข่ายภายในบ้าน (LAN) หรือผ่าน VPN ส่วนตัวอย่าง Tailscale - สำรองข้อมูลไดเรกทอรี
~/stacks: เนื่องจากการตั้งค่าบริการทั้งหมดอยู่ในรูปไฟล์.ymlภายในโฟลเดอร์นี้ คุณสามารถใช้เครื่องมืออย่าง Restic หรือ Git สำรองข้อมูลโฟลเดอร์stacksได้ง่ายและกู้คืนได้ทันทีหากฮาร์ดดิสก์มีปัญหา
บทสรุป
การทำ Self-Hosting ไม่จำเป็นต้องทนกับความยุ่งยากของ Command-line เสมอไป การมีเครื่องมืออย่าง Dockge ประจำการอยู่บน Home Server จะช่วยเปลี่ยนกระบวนการดูแลระบบให้กลายเป็นเรื่องสนุก รวดเร็ว และเป็นระเบียบ
ที่สำคัญที่สุด คุณยังคงเป็น เจ้าของข้อมูลและการตั้งค่าทั้งหมด 100% ผ่านไฟล์ข้อความธรรมดาที่เปิดอ่านได้ทุกเมื่อ นี่คือหัวใจสำคัญของการสร้างโครงสร้างพื้นฐานสำหรับ Private Brain OS ที่มั่นคงและยั่งยืนครับ