ในยุคที่บริการคลาวด์ครองเมือง หลายคนคุ้นเคยกับการบันทึกรายรับ-รายจ่ายผ่านแอปพลิเคชันบนสมาร์ทโฟน หรือบริการยอดนิยมอย่าง YNAB (You Need A Budget) และ Mint แต่คุณเคยหยุดคิดบ้างไหมครับว่า "ข้อมูลการเงินส่วนบุคคล" คือหนึ่งในข้อมูลที่มีความละเอียดอ่อนและสะท้อนวิถีชีวิตของคุณได้ชัดเจนที่สุด
ทุกยอดกาแฟที่คุณจ่าย รายการสั่งซื้อของใช้ส่วนตัว รายได้ประจำ ยอดหนี้สิน ไปจนถึงเงินออมเพื่อเกษียณ ทั้งหมดนี้ถูกส่งขึ้นไปเก็บไว้บนคลาวด์ของบริษัทเอกชนที่เราไม่รู้เลยว่า วันข้างหน้าผู้ให้บริการจะปรับขึ้นค่าบริการรายปี, ปิดตัวลงกะทันหันเหมือนกรณีของ Mint หรือนำพฤติกรรมการใช้จ่ายของเราไปวิเคราะห์ต่อหรือไม่
หากเป้าหมายของคุณคือการสร้าง Private Brain OS ที่คุณมีอำนาจอธิปไตยเหนือข้อมูลตัวเอง 100% (Data Sovereignty) วันนี้เราจะพาไปปลดแอกข้อมูลบัญชีด้วย Actual Budget บน Home Server ของคุณเองครับ
Actual Budget คืออะไร? และทำไมถึงเป็น Local-first แท้จริง?
Actual Budget เป็นซอฟต์แวร์จัดการการเงินส่วนบุคคลแบบโอเพนซอร์ส (100% Open Source) ที่ใช้หลักการวางแผนการเงินแบบ Zero-based Budgeting หรือการจัดสรรเงินทุกบาททุกสตางค์ให้มีหน้าที่ล่วงหน้า (คล้ายระบบซองเงิน Envelopes)
จุดเด่นที่ทำให้ Actual Budget เหนือกว่าแอปการเงินทั่วไปคือสถาปัตยกรรมแบบ Local-first:
- ความเร็วระดับเสี้ยววินาที: ข้อมูลของคุณถูกเก็บและประมวลผลบนเครื่องของคุณเอง (Local SQLite) การเปิดดูงบประมาณหรือบันทึกรายการจ่ายเกิดขึ้นทันทีโดยไม่ต้องรอโหลดหน้าเว็บจากคลาวด์
- ทำงานออฟไลน์ 100%: แม้เน็ตบ้านจะหลุด หรือคุณอยู่บนเครื่องบินที่ไม่มีสัญญาณ คุณยังสามารถเปิดแอป ดูยอดเงินคงเหลือ และบันทึกรายการได้ตามปกติ
- เข้ารหัสปลายทาง (End-to-End Encryption - E2EE): เมื่อคุณตั้งค่าซิงก์ข้อมูลผ่านเซิร์ฟเวอร์ ข้อมูลทั้งหมดจะถูกเข้ารหัสด้วยกุญแจที่คุณถือคนเดียว เซิร์ฟเวอร์ทำหน้าที่เป็นเพียงท่อรับ-ส่งกล่องข้อมูลที่ล็อกกุญแจไว้เท่านั้น แม้คนอื่นเข้าถึงเซิร์ฟเวอร์ก็อ่านข้อมูลการเงินไม่ได้
- ไม่มีค่าบริการรายเดือน: ไม่ต้องจ่ายค่า subscription ปีละหลายพันบาทอีกต่อไป
เตรียมความพร้อมก่อนติดตั้ง
ในการติดตั้ง เราจะใช้ Docker และ Docker Compose บน Home Server ของคุณ โดยเริ่มต้นสร้างโฟลเดอร์สำหรับเก็บไฟล์คอนฟิกและฐานข้อมูล Actual Server ดังนี้:
# สร้างโฟลเดอร์สำหรับ Actual Budget
mkdir -p ~/homeserver/actual-budget/data
cd ~/homeserver/actual-budget
โฟลเดอร์ data/ จะเป็นที่เก็บไฟล์ฐานข้อมูลของผู้ใช้และการซิงก์ทั้งหมด ทำให้ง่ายต่อการสำรองข้อมูล (Backup) ร่วมกับ Restic หรือ Rclone ที่เราเคยแนะนำไปแล้ว
ขั้นตอนที่ 1: เขียนไฟล์ docker-compose.yml
สร้างไฟล์ docker-compose.yml ในโฟลเดอร์ ~/homeserver/actual-budget/:
nano docker-compose.yml
จากนั้นวางโค้ดคอนฟิกูเรชันต่อไปนี้:
version: '3.8'
services:
actual-server:
image: actualbudget/actual-server:latest
container_name: actual-budget
restart: unless-stopped
ports:
- "5006:5006"
volumes:
- ./data:/data
environment:
# ปรับแต่งพอร์ตหรือการตั้งค่าเพิ่มเติมได้ที่นี่
- PORT=5006
กด Ctrl+O และ Enter เพื่อบันทึก จากนั้นกด Ctrl+X เพื่อออกจาก nano
คำอธิบายการตั้งค่า:
- image:
actualbudget/actual-server:latestใช้ Image ทางการของ Actual Budget ซึ่งกินทรัพยากรเครื่องน้อยมาก (RAM เพียง ~50-80MB) - ports: แมปพอร์ต
5006ของเครื่องโฮสต์เข้ากับคอนเทนเนอร์ - volumes: เชื่อมโยงโฟลเดอร์
./dataในเครื่องเราเข้ากับ/dataในคอนเทนเนอร์ เพื่อให้ข้อมูลงบประมาณและประวัติการซิงก์ยังคงอยู่ครบถ้วนแม้รีสตาร์ตคอนเทนเนอร์
ขั้นตอนที่ 2: สั่งรัน Actual Budget
เมื่อเตรียมไฟล์คอนฟิกเรียบร้อยแล้ว ให้สั่งสตาร์ตคอนเทนเนอร์ด้วยคำสั่ง:
docker compose up -d
คุณสามารถตรวจสอบสถานะการทำงานได้ด้วยคำสั่ง:
docker compose ps
หากเห็นสถานะ Up หรือ healthy แสดงว่าระบบ Actual Server พร้อมให้บริการแล้วครับ
ขั้นตอนที่ 3: เริ่มต้นใช้งานและตั้งค่าความปลอดภัยครั้งแรก
- เปิดเว็บเบราว์เซอร์บนคอมพิวเตอร์ของคุณ แล้วพิมพ์ URL:
text http://<IP-ของ-Home-Server>:5006(เช่นhttp://192.168.1.100:5006) - ตั้งรหัสผ่าน Master Password: ในการเข้าใช้งานครั้งแรก ระบบจะให้คุณตั้งรหัสผ่านสำหรับเซิร์ฟเวอร์ ให้กำหนดรหัสผ่านที่มีความยาวและปลอดภัย รหัสผ่านนี้จะใช้ปลดล็อกการเข้าถึงไฟล์งบประมาณทั้งหมด
- สร้างไฟล์งบประมาณแรกของคุณ: คลิกปุ่ม "Create a new file" เพื่อเริ่มต้นสร้างสมุดบัญชีใหม่
- เปิดใช้งาน End-to-End Encryption (แนะนำอย่างยิ่ง):
- ไปที่เมนู Settings (รูปเฟือง)
- เลื่อนลงมาที่หัวข้อ Encryption
- คลิก Enable encryption แล้วตั้งรหัสผ่านสำหรับกุญแจเข้ารหัส (Key Password)
- เมื่อเปิดใช้งานแล้ว ไฟล์งบประมาณทั้งหมดจะถูกเข้ารหัสแบบ 256-bit ก่อนที่จะถูกส่งไปเก็บหรือซิงก์ผ่าน Actual Server
ขั้นตอนที่ 4: การใช้งานบนสมาร์ทโฟนและแท็บเล็ต (PWA)
Actual Budget ถูกออกแบบมาให้ทำงานเป็น Progressive Web App (PWA) อย่างสมบูรณ์แบบ:
- เปิดเบราว์เซอร์บนสมาร์ทโฟน (Safari บน iOS หรือ Chrome บน Android)
- เข้าไปที่ URL ของ Actual Server ของคุณ
- กรอกรหัสผ่านเซิร์ฟเวอร์และกุญแจเข้ารหัสเพื่อดาวน์โหลดข้อมูลงบประมาณลงมือถือ
- กดปุ่ม Share / Menu แล้วเลือก "Add to Home Screen" (เพิ่มไปยังหน้าจอโฮม)
ไอคอนของ Actual Budget จะปรากฏบนหน้าจอเหมือนแอป Native ทั่วไป คุณสามารถเปิดเข้าใช้งานเพื่อจดรายจ่ายระหว่างวันได้อย่างรวดเร็ว แม้ไม่มีอินเทอร์เน็ต แอปจะบันทึกรายการไว้ในเครื่องทันที และเมื่อมือถือต่อเข้าเครือข่ายเดียวกับ Home Server (หรือเชื่อมต่อผ่าน Tailscale) รายการทั้งหมดจะซิงก์เข้าด้วยกันแบบอัตโนมัติ
นำเข้าและเชื่อมโยงข้อมูลกับธนาคาร
Actual Budget รองรับการนำเข้าไฟล์รายการเดินบัญชีจากธนาคารได้อย่างยืดหยุ่น: * รองรับไฟล์มาตรฐานอย่าง OFX, QFX, QIF และ CSV * มีระบบ Rules & Payee Mapping อัจฉริยะในตัว เช่น เมื่อคุณนำเข้าสเตทเมนต์ที่มีข้อความ "7-ELEVEN STORE 1234" ระบบจะแปลงชื่อร้านค้าให้เหลือเพียง "7-Eleven" และเลือกหมวดหมู่ "อาหาร/เครื่องดื่ม" ให้โดยอัตโนมัติ
สรุป
ข้อมูลรายรับ-รายจ่ายของคุณไม่ควรเป็นสินทรัพย์ที่ใครจะนำไปทำกำไรต่อได้ การติดตั้ง Actual Budget บน Home Server ด้วย Docker ไม่เพียงแต่ช่วยให้คุณประหยัดเงินค่าสมาชิกรายเดือนนับพันบาท แต่ยังเป็นการปักหมุดสำคัญในการครอบครอง Data Sovereignty ที่แท้จริง
เมื่อผสานเข้ากับระบบเครือข่ายปลอดภัยอย่าง Tailscale คุณจะสามารถเข้าถึงและบันทึกงบประมาณได้จากทุกที่ทั่วโลก ด้วยความเร็ว ความเป็นส่วนตัว และความสบายใจสูงสุดครับ