🇬🇧 มีฉบับภาษาอังกฤษ: Read this article in English →

บอกลาแอปรายรับ-รายจ่ายบนคลาวด์: คู่มือติดตั้ง Actual Budget จัดการการเงินส่วนตัวแบบ Local-first บน Home Server ด้วย Docker

บอกลาแอปรายรับ-รายจ่ายบนคลาวด์: คู่มือติดตั้ง Actual Budget จัดการการเงินส่วนตัวแบบ Local-first บน Home Server ด้วย Docker

ในยุคที่บริการคลาวด์ครองเมือง หลายคนคุ้นเคยกับการบันทึกรายรับ-รายจ่ายผ่านแอปพลิเคชันบนสมาร์ทโฟน หรือบริการยอดนิยมอย่าง 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: เริ่มต้นใช้งานและตั้งค่าความปลอดภัยครั้งแรก

  1. เปิดเว็บเบราว์เซอร์บนคอมพิวเตอร์ของคุณ แล้วพิมพ์ URL: text http://<IP-ของ-Home-Server>:5006 (เช่น http://192.168.1.100:5006)
  2. ตั้งรหัสผ่าน Master Password: ในการเข้าใช้งานครั้งแรก ระบบจะให้คุณตั้งรหัสผ่านสำหรับเซิร์ฟเวอร์ ให้กำหนดรหัสผ่านที่มีความยาวและปลอดภัย รหัสผ่านนี้จะใช้ปลดล็อกการเข้าถึงไฟล์งบประมาณทั้งหมด
  3. สร้างไฟล์งบประมาณแรกของคุณ: คลิกปุ่ม "Create a new file" เพื่อเริ่มต้นสร้างสมุดบัญชีใหม่
  4. เปิดใช้งาน End-to-End Encryption (แนะนำอย่างยิ่ง):
  5. ไปที่เมนู Settings (รูปเฟือง)
  6. เลื่อนลงมาที่หัวข้อ Encryption
  7. คลิก Enable encryption แล้วตั้งรหัสผ่านสำหรับกุญแจเข้ารหัส (Key Password)
  8. เมื่อเปิดใช้งานแล้ว ไฟล์งบประมาณทั้งหมดจะถูกเข้ารหัสแบบ 256-bit ก่อนที่จะถูกส่งไปเก็บหรือซิงก์ผ่าน Actual Server

ขั้นตอนที่ 4: การใช้งานบนสมาร์ทโฟนและแท็บเล็ต (PWA)

Actual Budget ถูกออกแบบมาให้ทำงานเป็น Progressive Web App (PWA) อย่างสมบูรณ์แบบ:

  1. เปิดเบราว์เซอร์บนสมาร์ทโฟน (Safari บน iOS หรือ Chrome บน Android)
  2. เข้าไปที่ URL ของ Actual Server ของคุณ
  3. กรอกรหัสผ่านเซิร์ฟเวอร์และกุญแจเข้ารหัสเพื่อดาวน์โหลดข้อมูลงบประมาณลงมือถือ
  4. กดปุ่ม 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 คุณจะสามารถเข้าถึงและบันทึกงบประมาณได้จากทุกที่ทั่วโลก ด้วยความเร็ว ความเป็นส่วนตัว และความสบายใจสูงสุดครับ

🛒 TREND DEE STORE • ร้านเทรนด์ดี

🛠️ อุปกรณ์ประกอบ Home Server & Private Cloud

คัดสรรอุปกรณ์ที่ตอบโจทย์และใช้งานจริงตามเนื้อหาในบทความนี้