อยากทำ AI Server เอง เริ่มจาก OS ต้องนิ่งก่อน
หลายคนเริ่มสนใจทำ AI Server ใช้เองในบ้านหรือในแล็บ เช่น ใช้รัน Local LLM, Ollama, Open WebUI, Node-RED, n8n, MQTT หรือระบบ Automation ต่าง ๆ แต่ปัญหาที่เจอบ่อยคือ “ติดตั้งเครื่องเสร็จแล้วไม่รู้ต้องเตรียมอะไรต่อ” สุดท้ายเครื่องกลายเป็น Linux Server ที่ลงของกระจัดกระจาย ดูแลยาก และอัปเดตลำบาก
บทความนี้แนะนำโดยเริ่มจากศูนย์ตั้งแต่: ติดตั้ง Ubuntu Server 26.04 LTS แล้วเตรียมระบบให้พร้อมเป็นฐานสำหรับงาน AI และ Automation โดยใช้แนวทางที่เหมาะกับ Home Lab, ห้องเรียน, Server ขนาดเล็ก และเครื่องทดลองของผู้ดูแลระบบ
Ubuntu 26.04 LTS มีรหัสรุ่นว่า Resolute Raccoon ออกอย่างเป็นทางการวันที่ 23 เมษายน 2026 และเป็นรุ่น LTS ที่ได้รับการดูแลมาตรฐาน 5 ปีถึงเดือนเมษายน 2031 พร้อมทางเลือกขยายระยะดูแลผ่าน Ubuntu Pro/ESM สำหรับงานระยะยาว
บทความนี้จะได้อะไร
ในบทความนี้เราจะติดตั้งและเตรียม Ubuntu Server 26.04 LTS ให้เหมาะกับ 4 งานหลัก
1. AI Server
สำหรับรันเครื่องมืออย่าง Ollama, Open WebUI, Python Environment และ Container สำหรับ AI workload
2. Automation Server
สำหรับรัน Node-RED, n8n, MQTT, API automation, LINE Bot หรือระบบ workflow automation
3. Docker Host
ใช้ Docker Compose จัดการ service หลายตัวอย่างเป็นระบบ แยก volume และดูแลให้ง่าย
4. Remote Admin Server
ตั้งค่า SSH, Firewall, Update, Timezone และโครงสร้าง directory ให้พร้อมดูแลระยะยาว
⚠️ Disclaimer: คำสั่งในบทความนี้เหมาะสำหรับเครื่องใหม่หรือเครื่องทดสอบ หากใช้งานบนเครื่อง Production ควรสำรองข้อมูล ตรวจสอบ IP, disk, firewall rule และ remote access ก่อนทุกครั้ง
พื้นฐานที่จำเป็นก่อนเริ่ม
Hardware ที่แนะนำ
สำหรับ Ubuntu Server อย่างเดียว เอกสาร Ubuntu Server ระบุขั้นต่ำแนะนำที่ RAM 2 GB และพื้นที่ดิสก์ 5 GB ขึ้นไป แต่สำหรับงาน AI และ Automation ควรเผื่อสเปกมากกว่านั้นอย่างชัดเจน
สเปกสำหรับเริ่มต้นแบบ Home Lab
-
CPU: 4 cores ขึ้นไป
-
RAM: 16 GB ขึ้นไป
-
Storage: SSD 120 GB ขึ้นไป
-
Network: LAN 1 Gbps
-
GPU: ไม่จำเป็น แต่ถ้าจะรัน LLM จริงจังควรใช้ NVIDIA GPU ที่มี VRAM 8–12 GB ขึ้นไป
สเปกสำหรับ AI + Automation แบบจริงจัง
-
CPU: 8 cores ขึ้นไป
-
RAM: 32–64 GB
-
Storage: NVMe SSD 500 GB ขึ้นไป
-
GPU: NVIDIA GPU พร้อม driver ที่รองรับ
-
UPS: แนะนำสำหรับเครื่องที่ต้องทำงานต่อเนื่อง
Software ที่ใช้ในบทความ
-
OS: Ubuntu Server 26.04 LTS
-
Container Runtime: Docker Engine
-
Compose: Docker Compose Plugin
-
AI Runtime: Ollama
-
AI UI: Open WebUI
-
Automation: Node-RED และ n8n
Docker รองรับ Ubuntu Resolute 26.04 LTS ในรายการ OS requirements ของ Docker Engine บน Ubuntu และแนะนำให้ติดตั้งผ่าน Docker apt repository สำหรับเครื่องที่ต้องดูแลอัปเดตระยะยาว
ขั้นตอนที่ 1: ดาวน์โหลดและติดตั้ง Ubuntu Server 26.04 LTS
ให้ดาวน์โหลดไฟล์ ISO ของ Ubuntu Server 26.04 LTS จากหน้า Download ของ Ubuntu จากนั้นทำ USB Boot ด้วยเครื่องมืออย่าง Rufus, Balena Etcher หรือ Ventoy
เมื่อ boot เข้าหน้า installer ให้ตั้งค่าตามแนวทางนี้
ค่าที่แนะนำระหว่างติดตั้ง
-
Language: English
-
Keyboard: English (US)
-
Network: ใช้ DHCP ก่อน แล้วค่อยตั้ง Static IP หลังติดตั้ง
-
Storage: ใช้ทั้ง disk หากเป็นเครื่องใหม่
-
Profile: สร้าง user admin แยกจาก root
-
SSH: เปิดติดตั้ง OpenSSH Server
-
Snap packages: ยังไม่ต้องเลือกเพิ่มในขั้นตอนนี้
แนะนำ Screenshot: ถ่ายภาพหน้าจอช่วงเลือก disk, สร้าง user และเปิด OpenSSH Server เพื่อใช้ประกอบบทความ
หลังติดตั้งเสร็จ ให้ login ผ่าน console หรือ SSH
ssh youruser@SERVER_IP
ตรวจสอบเวอร์ชัน Ubuntu
lsb_release -a

ผลลัพธ์ควรเห็นว่าเป็น Ubuntu 26.04 LTS
ขั้นตอนที่ 2: อัปเดตระบบหลังติดตั้ง
หลังติดตั้งใหม่ ควรอัปเดต package ทั้งหมดก่อนเริ่มลง service อื่น
sudo apt update
sudo apt upgrade -y
sudo apt autoremove -y
ติดตั้งเครื่องมือพื้นฐานที่ SysAdmin ใช้บ่อย
sudo apt install -y \
curl \
wget \
git \
vim \
nano \
htop \
net-tools \
unzip \
ca-certificates \
gnupg \
lsb-release \
software-properties-common
คำอธิบายสั้น ๆ:
-
curl,wgetใช้ดาวน์โหลดไฟล์หรือเรียก API -
gitใช้ clone project และ compose file -
htopใช้ดู resource แบบ interactive -
ca-certificates,gnupgใช้สำหรับ repository ที่มี signed key
ตั้ง Timezone เป็นประเทศไทย
sudo timedatectl set-timezone Asia/Bangkok
timedatectl

ตรวจสอบ hostname
hostnamectl
ตั้ง hostname ใหม่ เช่น ai-auto-01
sudo hostnamectl set-hostname ai-auto-01
ขั้นตอนที่ 3: ตั้งค่า Static IP ด้วย Netplan
งาน Server ควรใช้ Static IP เพื่อให้เข้าถึงบริการอย่าง Open WebUI, Node-RED และ n8n ได้คงที่ Ubuntu Server ใช้ Netplan สำหรับจัดการ network configuration โดยไฟล์ config อยู่ใน /etc/netplan
ดูชื่อ interface ก่อน
ip a
ตัวอย่าง interface อาจเป็น enp0s3, ens18, eno1 หรือชื่ออื่นตาม hardware
ดูไฟล์ netplan
ls /etc/netplan/
เปิดไฟล์ config
sudo nano /etc/netplan/00-installer-config.yaml
ตัวอย่าง Static IP
network:
version: 2
ethernets:
enp0s3:
dhcp4: false
addresses:
- 192.168.1.50/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses:
- 1.1.1.1
- 8.8.8.8
เปลี่ยน
enp0s3, IP address, gateway และ DNS ให้ตรงกับระบบเครือข่ายจริง
ทดสอบ config ก่อน apply
sudo netplan try
ถ้าใช้งานได้ ให้กด Enter เพื่อยืนยัน จากนั้นตรวจสอบ IP
ip a
ping -c 4 8.8.8.8
⚠️ หากทำผ่าน SSH ระยะไกล ควรเปิด console สำรองหรือมีสิทธิ์เข้าหน้า VM Console เพราะ YAML ผิดเพียงบรรทัดเดียวอาจทำให้หลุดจากเครื่องได้
ขั้นตอนที่ 4: ตั้งค่า SSH ให้ปลอดภัยขึ้น
ก่อนแก้ SSH config ให้เปิด session SSH อีกหน้าค้างไว้เสมอ เผื่อ config ผิดแล้วยังมีช่องทางแก้ไข
สำรองไฟล์ config
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
เปิดไฟล์
sudo nano /etc/ssh/sshd_config
ค่าที่แนะนำ
PermitRootLogin no
PasswordAuthentication yes
PubkeyAuthentication yes
ในช่วงแรกยังให้ PasswordAuthentication yes ไว้ก่อน เพื่อป้องกันผู้เริ่มต้น lock ตัวเองออกจากระบบ หลังจากตั้ง SSH key สำเร็จแล้วค่อยเปลี่ยนเป็น no
Restart SSH
sudo systemctl restart ssh
ตรวจสอบสถานะ
sudo systemctl status ssh
สร้าง SSH key จากเครื่อง Client
ssh-keygen -t ed25519 -C "ai-auto-server"
ส่ง key ไปยัง Server
ssh-copy-id youruser@192.168.1.50
ทดสอบ login ด้วย key
ssh youruser@192.168.1.50
เมื่อมั่นใจว่า SSH key ใช้งานได้ ค่อยเปลี่ยน
PasswordAuthentication no
แล้ว restart SSH อีกครั้ง
sudo systemctl restart ssh
ขั้นตอนที่ 5: เปิด Firewall ด้วย UFW
Ubuntu ใช้ ufw เป็นเครื่องมือ firewall ที่ช่วยจัดการ host-based firewall ได้ง่ายกว่าเขียน iptables ตรง ๆ โดยค่าเริ่มต้น UFW ยังไม่ได้เปิดใช้งาน
อนุญาต SSH ก่อนเปิด firewall
sudo ufw allow OpenSSH
เปิด port สำหรับบริการที่เราจะใช้
# Open WebUI
sudo ufw allow 3000/tcp
# Node-RED
sudo ufw allow 1880/tcp
# n8n
sudo ufw allow 5678/tcp
เปิดใช้งาน UFW
sudo ufw enable
ตรวจสอบสถานะ
sudo ufw status verbose
⚠️ ห้ามเปิด port กว้างเกินจำเป็น หากใช้งานจริงควรวาง Reverse Proxy + HTTPS หน้า service และจำกัด IP ที่เข้าถึงระบบหลังบ้าน

ขั้นตอนที่ 6: ติดตั้ง Docker Engine บน Ubuntu 26.04 LTS
ก่อนติดตั้ง Docker จาก official repository ให้ลบ package ที่อาจชนกันก่อน ตามแนวทางของ Docker Docs
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do
sudo apt remove -y $pkg
done
เพิ่ม Docker GPG key และ repository
sudo apt update
sudo apt install -y ca-certificates curl
# สร้าง directory สำหรับ keyring
sudo install -m 0755 -d /etc/apt/keyrings
# ดาวน์โหลด Docker official GPG key
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
-o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
เพิ่ม Docker repository แบบ .sources
sudo tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
ติดตั้ง Docker Engine และ Docker Compose Plugin
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
ตรวจสอบ Docker
sudo systemctl status docker
sudo docker run hello-world
เพิ่ม user ปัจจุบันเข้า group docker
sudo usermod -aG docker $USER
ออกจากระบบแล้ว login ใหม่ จากนั้นทดสอบ
docker version
docker compose version
หมายเหตุด้านความปลอดภัย: ผู้ใช้ที่อยู่ใน group
dockerมีสิทธิ์สูงมากกับเครื่อง Server ควรให้เฉพาะ user ที่จำเป็นเท่านั้น
ขั้นตอนที่ 7: เตรียมโครงสร้าง Directory สำหรับ AI และ Automation
สร้าง directory หลักไว้ใต้ /opt
sudo mkdir -p /opt/ai-automation
sudo chown -R $USER:$USER /opt/ai-automation
cd /opt/ai-automation
สร้าง directory สำหรับ config เพิ่มเติม
mkdir -p compose backups scripts logs
โครงสร้างที่ได้
/opt/ai-automation/
├── compose/
├── backups/
├── scripts/
└── logs/
แนวคิดคือให้ทุก service ที่เกี่ยวข้องกับ AI และ Automation อยู่ในโครงสร้างเดียวกัน เวลา backup, migrate หรือสอนนักศึกษาในห้องแล็บจะจัดการง่ายกว่า
ขั้นตอนที่ 8: สร้าง Docker Compose สำหรับ AI + Automation Stack
เราจะสร้าง stack เบื้องต้น 4 ตัว
-
Ollama: รัน Local LLM
-
Open WebUI: หน้าเว็บสำหรับคุยกับโมเดล
-
Node-RED: สร้าง flow automation
-
n8n: สร้าง workflow automation และ integration
Ollama มี official Docker image สำหรับรันโมเดลผ่าน container และ Open WebUI รองรับการเชื่อมต่อกับ Ollama ผ่าน Docker โดยต้อง mount volume เพื่อเก็บข้อมูลไม่ให้หายเมื่อ container ถูกลบ
ไปที่ directory compose
cd /opt/ai-automation/compose
nano docker-compose.yml
ใส่ไฟล์นี้
services:
ollama:
image: ollama/ollama:latest
container_name: ollama
restart: unless-stopped
ports:
- "127.0.0.1:11434:11434"
volumes:
- ollama_data:/root/.ollama
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
restart: unless-stopped
depends_on:
- ollama
ports:
- "3000:8080"
environment:
- OLLAMA_BASE_URL=http://ollama:11434
- TZ=Asia/Bangkok
volumes:
- openwebui_data:/app/backend/data
nodered:
image: nodered/node-red:latest
container_name: nodered
restart: unless-stopped
ports:
- "1880:1880"
environment:
- TZ=Asia/Bangkok
volumes:
- nodered_data:/data
n8n:
image: n8nio/n8n:latest
container_name: n8n
restart: unless-stopped
ports:
- "5678:5678"
environment:
- TZ=Asia/Bangkok
- GENERIC_TIMEZONE=Asia/Bangkok
- N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
volumes:
- n8n_data:/home/node/.n8n
volumes:
ollama_data:
openwebui_data:
nodered_data:
n8n_data:
Node-RED ระบุ image เป็น nodered/node-red และใช้ volume /data เพื่อเก็บ flow ให้คงอยู่หลัง restart container ซึ่งเป็นแนวทางตามเอกสาร Docker ของ Node-RED ส่วน n8n มีคู่มือ official สำหรับติดตั้งผ่าน Docker และ Docker Compose บน Linux Server
เริ่มระบบ
docker compose up -d
ดูสถานะ container
docker compose ps
ดู log
docker compose logs -f
ขั้นตอนที่ 9: ดาวน์โหลดโมเดลแรกใน Ollama
หลัง container ทำงานแล้ว ให้ลองดึงโมเดลขนาดเล็กก่อน เพื่อทดสอบระบบ
docker exec -it ollama ollama pull llama3.2
รันทดสอบ
docker exec -it ollama ollama run llama3.2
ทดลองถามสั้น ๆ เช่น
Explain what Docker Compose is in simple terms.
เข้า Open WebUI จาก Browser
http://SERVER_IP:3000
เข้า Node-RED
http://SERVER_IP:1880
เข้า n8n
http://SERVER_IP:5678
แนะนำ Screenshot: ถ่ายหน้า
docker compose ps, หน้า Open WebUI, หน้า Node-RED และหน้า n8n เพื่อใช้ประกอบบทความ
ขั้นตอนที่ 10: กรณีใช้ NVIDIA GPU
หากเครื่องมี NVIDIA GPU ให้ติดตั้ง driver ก่อน
sudo apt update
sudo ubuntu-drivers devices
sudo ubuntu-drivers install
sudo reboot
หลัง reboot ตรวจสอบ
nvidia-smi
ติดตั้ง NVIDIA Container Toolkit เพื่อให้ Docker container เรียกใช้ GPU ได้ NVIDIA ระบุให้ติดตั้ง NVIDIA GPU driver ก่อน แล้วจึงติดตั้ง NVIDIA Container Toolkit ผ่าน package manager ของระบบ
sudo apt-get update
sudo apt-get install -y --no-install-recommends ca-certificates curl gnupg
เพิ่ม repository ของ NVIDIA Container Toolkit
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | \
sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
ติดตั้ง toolkit
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
ตั้งค่า Docker runtime
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
แก้ docker-compose.yml ใน service ollama โดยเพิ่ม
gpus: all
ตัวอย่างเฉพาะส่วน Ollama
ollama:
image: ollama/ollama:latest
container_name: ollama
restart: unless-stopped
gpus: all
ports:
- "127.0.0.1:11434:11434"
volumes:
- ollama_data:/root/.ollama
Restart stack
cd /opt/ai-automation/compose
docker compose down
docker compose up -d
ตรวจสอบ log
docker logs ollama
⚠️ ถ้าใช้ VM ต้องตรวจสอบก่อนว่า hypervisor รองรับ GPU Passthrough หรือไม่ เช่น Proxmox, VMware ESXi หรือเครื่อง Bare-metal จะเหมาะกว่า VM ทั่วไป
ขั้นตอนที่ 11: คำสั่งดูแลระบบประจำวันที่ควรรู้
ดู resource เครื่อง
htop
ดู disk usage
df -h
ดูขนาด Docker volume และ image
docker system df
ดู container ทั้งหมด
docker ps -a
Restart service ทั้ง stack
cd /opt/ai-automation/compose
docker compose restart
อัปเดต image
cd /opt/ai-automation/compose
# ดึง image ใหม่
docker compose pull
# recreate container ด้วย image ล่าสุด
docker compose up -d
ลบ image ที่ไม่ใช้
docker image prune -f
⚠️ อย่าใช้
docker system prune -a --volumesบนเครื่องจริงโดยไม่เข้าใจ เพราะอาจลบ image, network และ volume ที่ยังต้องใช้งานได้
ทดสอบและ Verify
ตรวจสอบ OS
lsb_release -a
ตรวจสอบ IP
ip a
ตรวจสอบ Firewall
sudo ufw status verbose
ตรวจสอบ Docker
docker version
docker compose version
docker compose ps
ตรวจสอบ service ports
ss -tulpn
ตรวจสอบว่า Web UI เปิดได้
Open WebUI: http://SERVER_IP:3000
Node-RED: http://SERVER_IP:1880
n8n: http://SERVER_IP:5678
ทดสอบ Ollama API จากเครื่อง Server
curl http://127.0.0.1:11434/api/tags
ถ้าระบบตอบ JSON กลับมา แปลว่า Ollama API พร้อมใช้งาน
แนวทาง Hardening เพิ่มเติมก่อนใช้จริง
หากจะเปิดใช้งานในองค์กรหรือเปิดให้เข้าจาก Internet ควรทำเพิ่มอย่างน้อย 5 เรื่องนี้
1. ใช้ Reverse Proxy + HTTPS
ใช้ Nginx หรือ Caddy หน้า Open WebUI, Node-RED และ n8n แล้วออก SSL Certificate ด้วย Let’s Encrypt
2. จำกัด IP ที่เข้าถึงระบบหลังบ้าน
เช่น อนุญาตเฉพาะวง LAN, VPN หรือ Tailscale
3. เปิด Authentication ทุก service
Node-RED และ n8n ควรตั้งรหัสผ่านก่อนใช้งานจริง
4. Backup Docker Volume
ควร backup volume ของ Open WebUI, Node-RED และ n8n เป็นประจำ
5. แยก Environment สำหรับทดลองและ Production
เครื่องที่ใช้สอนหรือทดลองควรแยกจากเครื่องที่ใช้งานจริง เพื่อป้องกัน config ทดลองกระทบระบบหลัก
สรุป
Ubuntu Server 26.04 LTS เป็นฐานที่เหมาะสำหรับสร้าง AI และ Automation Server เพราะเป็น LTS ที่ดูแลระยะยาว รองรับ Docker Engine บน Ubuntu 26.04 โดยตรง และสามารถต่อยอดไปยังเครื่องมือยอดนิยมอย่าง Ollama, Open WebUI, Node-RED และ n8n ได้ไม่ยาก จุดสำคัญคืออย่าเริ่มจากการลงเครื่องมือแบบกระจัดกระจาย แต่ควรวางโครงสร้างตั้งแต่แรก เช่น Static IP, SSH, UFW, Docker Compose, Volume และ Backup
สำหรับผู้เริ่มต้น แนะนำให้เริ่มจาก CPU-only stack ก่อน จากนั้นค่อยเพิ่ม NVIDIA GPU และ NVIDIA Container Toolkit เมื่อเข้าใจ flow ของ Docker แล้ว วิธีนี้จะลดปัญหาและทำให้ดูแลระบบได้มั่นคงกว่าในระยะยาว
