Firefly III เว็บแอปพลิเคชั่นฟรี สำหรับการบริหารจัดการการเงินส่วนบุคคล สามาถเรียกติดตั้งด้วย Docker ลงบน Ubuntu ได้ฟรีทันที และเรียกใช้งานผ่าน Public domain ได้ทั้งคอมพิวเตอร์และมือถือ
สร้าง environment variables และ Docker Compose file
ให้ทำการ download Docker Compose และ environment variables มาเก็บเอาไว้ในโฟลเดอร์เดียวกันก่อน
- แก้ไข Parameter ต่างๆใน Docker Compose ไฟล์ให้ถูกต้องแล้ว บันทึกเป็น
docker-compose.yml
- ports: - 80:8080 Default port ของ Fireflyiii จะเป็น 8080 ถ้าเราติดตั้งใช้งานผ่าน reverse proxies ซึ่งจะมีการใช้งาน port 80 ไปแล้ว ให้แก้ไข port ใหม่
- แก้ไข Parameter ต่างๆใน
.env
ไฟล์ให้ถูกต้อง โดยดูตัวอย่างได้จาก the Firefly III repository จุดสำคัญคือ Parameter- APP_KEY=SomeRandomStringOf32CharsExactly สามารถเปลี่ยนเป็น key ได้ด้วย command
head /dev/urandom | LC_ALL=C tr -dc 'A-Za-z0-9' | head -c 32 && echo
- TZ=Europe/Amsterdam ให้เปลี่ยนเป็น Asia/Bangkok
- TRUSTED_PROXIES= ให้ Set เป็น ** ถ้าเราใช้งานผ่าน reverse proxies หรือ Cloudflare Tunnel
- DB_HOST=db, DB_PASSWORD= ตรวจชื่อ host และ password ที่แก้ไขใหม่ให้ตรงกัน ทั้งใน docker-compose.yml, .env และ .db.env
-
DISABLE_CSP_HEADER=false ให้ Set เป็น True เพื่อแก้ไขปัญหา Content Security Policy (CSP) เมื่อเราใช้งานผ่าน Browser ด้วย Public Domain Name จะทำให้สามารถโหลดกราฟและเมนูต่างๆได้อย่างถูกต้อง
- APP_KEY=SomeRandomStringOf32CharsExactly สามารถเปลี่ยนเป็น key ได้ด้วย command
- แก้ไข Parameter ต่างๆใน
.db.env
ไฟล์ให้ถูกต้อง โดยดูตัวอย่างได้จาก the Firefly III repository - ถ้าเราต้องการติดตั้งแบบมีการดึงรายการธุกรกรรมทางการเงินจากธนาคารเข้ามาอัตโนมัติ (Data Importer) ให้ใช้ Docker Compose และ Enviroment variables ไฟล์แบบนี้แทน ทำการบันทึกชื่อเป็น
.importer.env
เริ่มทำการสร้าง Container บน Docker
เข้าไปใน path folder ที่เก็บ docker-compose.yml , .env
, .db.env
อยู่ แล้วทำการ Run คำสั่ง
docker compose -f docker-compose.yml up -d --pull=always
ถ้าการติดตั้งเรียบร้อยไม่มีปัญหา คุณจะสามารถเรียกใช้งาน Fireflyiii ได้ที่ URL http://localhost หรือ APP_URL ที่คุณกำหนดเอาไว้ โดยหลังจากการติดตั้งสำเร็จจะได้ Container เพิ่ม 3 อัน เป็น APP, Database, และ Cron Containers