Actual Budget: VPS-এ আপনার নিজস্ব ব্যক্তিগত বাজেট ম্যানেজার
ব্যাংকিং অ্যাপ সাধারণত দেখায় আপনার টাকা কোথায় খরচ হয়ে গেছে। Actual Budget অন্য একটি প্রশ্নের উত্তর দেয়: ভাড়াবাড়ি, বাজার, ছুটি ও জরুরি খরচের জন্য কিছু টাকা নির্দিষ্ট করে রাখার পর, বর্তমানে থাকা ব্যালান্সের কতটা আসলে খরচ করা যায়?
Actual Budget একটি বিনামূল্যের ওপেন-সোর্স ব্যক্তিগত অর্থব্যবস্থাপনা সিস্টেম। এটি স্থানীয়ভাবে কাজ করে, আপনার নিজের সার্ভারের মাধ্যমে সিঙ্ক্রোনাইজ হয় এবং end-to-end encryption সমর্থন করে। এই গাইডে এর সুবিধা, সীমাবদ্ধতা এবং VPS-এ ইনস্টল করার পদ্ধতি দেখানো হয়েছে।
Actual Budget সাত ধাপে
- একটি Linux VPS তৈরি করুন এবং তার দিকে একটি সাবডোমেইন নির্দেশ করুন, যেমন
budget.example.com। - Docker ও Docker Compose ইনস্টল করুন।
- স্থায়ী ডেটা ডিরেক্টরি ব্যবহার করে অফিসিয়াল কনটেইনার চালু করুন।
- Caddy-এর মাধ্যমে HTTPS চালু করুন।
- সার্ভারের পাসওয়ার্ড সেট করুন এবং একটি বাজেট তৈরি করুন।
- অ্যাকাউন্ট, ক্যাটাগরি, নিয়ম ও পুনরাবৃত্ত পেমেন্ট যোগ করুন।
- এনক্রিপশন চালু করুন এবং একটি বাহ্যিক ব্যাকআপ কনফিগার করুন।
Actual Budget কী?
Actual Budget হলো ব্যক্তিগত বা পারিবারিক বাজেট পরিচালনার জন্য self-hosted একটি অ্যাপ্লিকেশন। একে প্রায়ই YNAB-এর ওপেন-সোর্স বিকল্প হিসেবে বিবেচনা করা হয়, তবে চাইলে একেবারে নতুন বাজেট দিয়েও শুরু করতে পারেন।
এই পরিষেবা ভার্চুয়াল খামভিত্তিক বাজেট পদ্ধতি ব্যবহার করে। ধরুন, আপনার অ্যাকাউন্টগুলোতে মোট 100,000 রুবল আছে। এর মধ্যে 40,000 রুবল বাসস্থানের জন্য, 20,000 বাজারের জন্য, 10,000 ইউটিলিটির জন্য এবং 15,000 জরুরি তহবিলের জন্য প্রয়োজন। টাকা বরাদ্দ করার পর ঐচ্ছিক কেনাকাটার জন্য অবশিষ্ট থাকে মাত্র 15,000 রুবল—পুরো 100,000 নয়।
এই পদ্ধতিতে অ্যাপ্লিকেশনটির ভূমিকা বদলে যায়। সাধারণ খরচ ট্র্যাকার অতীতে কী খরচ হয়েছে তা ব্যাখ্যা করে, আর Actual Budget কেনাকাটার আগে সিদ্ধান্ত নিতে সাহায্য করে। কোনো ক্যাটাগরিতে টাকা অব্যবহৃত থাকলে তা পরের সময়ে গড়িয়ে যায়। আবার কোনো ক্যাটাগরিতে বেশি খরচ হয়ে গেলে অন্য খাম থেকে টাকা সরিয়ে নিতে পারেন।
আরেকটি গুরুত্বপূর্ণ বৈশিষ্ট্য হলো এর local-first আর্কিটেকচার। বাজেট সংযুক্ত ডিভাইসগুলোতে সংরক্ষিত থাকে এবং ইন্টারনেট সংযোগ না থাকলেও কাজ করে। সংযোগ পাওয়া গেলে পরিবর্তনগুলো সার্ভারের মাধ্যমে সিঙ্ক্রোনাইজ হয়। VPS মূলত কম্পিউটার, ফোন ও ব্রাউজারের মধ্যে ডেটা আদান-প্রদানের জন্য ব্যবহৃত হয়; প্রতিটি অপারেশন সার্ভারে প্রসেস করা হয় না।
Actual Budget-এর প্রধান বৈশিষ্ট্য
- খামভিত্তিক বাজেট। আপনি ইতিমধ্যে হাতে পাওয়া টাকা থেকেই বরাদ্দ করেন।
- অ্যাকাউন্ট ও লেনদেন। ট্রান্সফার, একটি কেনাকাটাকে একাধিক ক্যাটাগরিতে ভাগ করা, নোট এবং ব্যালান্স মিলিয়ে দেখার সুবিধা রয়েছে।
- নিয়ম ও সময়সূচি। ব্যাংকের বিবরণ পরিষ্কার করা, ক্যাটাগরি নির্ধারণ এবং বেতন, ভাড়া বা সাবস্ক্রিপশনের মতো নিয়মিত খরচ আগে থেকেই পরিকল্পনা করা যায়।
- ইমপোর্ট। CSV, QIF, OFX, QFX এবং CAMT সমর্থিত। যেসব ফরম্যাটে লেনদেনের আইডি থাকে, সেগুলো ডুপ্লিকেট ঠেকাতে বেশি কার্যকর।
- রিপোর্ট। ক্যাশ ফ্লো, নেট ওয়ার্থ, খরচ এবং কাস্টমাইজযোগ্য চার্ট পাওয়া যায়।
- মাইগ্রেশন ও API। অ্যাপ্লিকেশনটি YNAB4 এবং YNAB-এর বর্তমান সংস্করণ থেকে ডেটা ইমপোর্ট করতে পারে এবং কাস্টম ইন্টিগ্রেশনের জন্য API দেয়।
ফোনে Actual Budget একটি PWA হিসেবে ইনস্টল হয়—অর্থাৎ হোম স্ক্রিনে যোগ করা একটি ওয়েব অ্যাপ্লিকেশন। এটি আপনার প্রয়োজনের সঙ্গে মানানসই কি না নিশ্চিত করতে আগে মোবাইল ইন্টারফেসটি পরীক্ষা করে নেওয়া ভালো।
| Parameter | Cloud service | Actual Budget |
|---|---|---|
| Storage | প্রদানকারীর সার্ভারে | ডিভাইস ও আপনার নিজস্ব সার্ভারে |
| Offline use | পরিষেবার ওপর নির্ভরশীল | মূল বৈশিষ্ট্যগুলো স্থানীয়ভাবে পাওয়া যায় |
| Maintenance | প্রদানকারী পরিচালনা করে | মালিক পরিচালনা করেন |
| Software cost | সাবস্ক্রিপশন বা ফ্রি প্ল্যান | বাধ্যতামূলক সাবস্ক্রিপশন নেই |
| Data control | প্রদানকারীর নীতিমালা অনুযায়ী | সার্ভারের মালিকের নিয়ন্ত্রণে |
যারা গোপনীয়তা ও নিয়ন্ত্রণকে গুরুত্ব দেন, তাদের জন্য Actual Budget উপযোগী। আপনি যদি সার্ভার রক্ষণাবেক্ষণ করতে না চান, তাহলে ক্লাউড পরিষেবা বেশি সুবিধাজনক।
Actual Budget-এর জন্য সার্ভারের প্রয়োজনীয়তা
প্রকল্পটি CPU ও RAM-এর কঠোর ন্যূনতম প্রয়োজনীয়তা প্রকাশ করেনি। সার্ভারটি মূলত অল্প পরিমাণ আর্থিক ডেটা সিঙ্ক্রোনাইজ করে, তাই একজন ব্যক্তি বা একটি পরিবারের জন্য শুরুতে নিচের কনফিগারেশন যথেষ্ট:
- 1 vCPU;
- 1 GB RAM;
- 10 GB SSD;
- Ubuntu 24.04 LTS;
- একটি ডোমেইন বা সাবডোমেইন;
- ব্যাকআপের জন্য বাহ্যিক স্টোরেজ।
এটি একটি ব্যবহারিক সুপারিশ, অফিসিয়াল ন্যূনতম প্রয়োজনীয়তা নয়। আপনি যদি অন্য কনটেইনারও চালাতে চান, তাহলে 2 GB RAM বরাদ্দ করা ভালো।
VPS-এ Actual Budget কীভাবে ইনস্টল করবেন
এই উদাহরণে Ubuntu 24.04 এবং budget.example.com সাবডোমেইন ব্যবহার করা হয়েছে।
1. সার্ভার প্রস্তুত করুন
VPS-এর IP ঠিকানার দিকে নির্দেশ করা একটি A DNS রেকর্ড তৈরি করুন, SSH দিয়ে সংযোগ করুন এবং শুধু প্রয়োজনীয় পোর্টগুলো খুলুন:
ssh root@SERVER_IP
apt update && apt upgrade -y
apt install -y ca-certificates curl ufw
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable2. Docker ইনস্টল করুন
অফিসিয়াল Docker রিপোজিটরি যোগ করুন:
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
-o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
cat > /etc/apt/sources.list.d/docker.sources <<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
apt update
apt install -y docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin3. Actual Budget চালু করুন
mkdir -p /opt/actual-budget/data
cd /opt/actual-budget
cat > compose.yml <<'EOF'
services:
actual:
image: actualbudget/actual-server:latest
restart: unless-stopped
ports:
- "127.0.0.1:5006:5006"
volumes:
- ./data:/data
EOF
docker compose up -d
docker compose psসার্ভিসটিকে 127.0.0.1-এর সঙ্গে bind করলে port 5006 সরাসরি ইন্টারনেটে প্রকাশ পায় না। বাজেটগুলো /opt/actual-budget/data-এ সংরক্ষিত থাকে এবং কনটেইনার আপডেট করলেও মুছে যায় না।
4. HTTPS চালু করুন
apt install -y caddy
cat > /etc/caddy/Caddyfile <<'EOF'
budget.example.com {
reverse_proxy 127.0.0.1:5006
}
EOF
caddy validate --config /etc/caddy/Caddyfile
systemctl reload caddyDNS VPS-এর দিকে নির্দেশ করলে এবং 80 ও 443 পোর্টে প্রবেশ সম্ভব হলে, Caddy স্বয়ংক্রিয়ভাবে একটি TLS সার্টিফিকেট সংগ্রহ করবে। https://budget.example.com খুলে একটি দীর্ঘ সার্ভার পাসওয়ার্ড সেট করুন।
প্রথম বাজেট কীভাবে কনফিগার করবেন
বহু বছরের লেনদেনের ইতিহাস ইমপোর্ট করেই শুরু করতে হবে এমন নয়। বর্তমানে ব্যবহার করা অ্যাকাউন্টগুলো যোগ করে, তাদের বর্তমান ব্যালান্স লিখে এবং জরুরি পেমেন্ট, দৈনন্দিন খরচ, সঞ্চয় ও অনিয়মিত ব্যয়ের জন্য ক্যাটাগরি তৈরি করা দ্রুততর।
“To Budget” এর পরিমাণ শূন্য না হওয়া পর্যন্ত শুধু ইতিমধ্যে হাতে থাকা টাকা বরাদ্দ করুন। এরপর সাম্প্রতিক লেনদেন ইমপোর্ট করুন, ব্যালান্স যাচাই করুন এবং নিয়মিত ব্যবহার করা দোকান, সাবস্ক্রিপশন ও ট্রান্সফারের জন্য নিয়ম তৈরি করুন।
ক্যাটাগরিগুলো যেন সিদ্ধান্ত নিতে সাহায্য করে। “বিবিধ” নামে একটি সাধারণ ক্যাটাগরির চেয়ে “চিকিৎসা,” “ডিভাইস মেরামত” এবং “বার্ষিক সাবস্ক্রিপশন”-এর মতো আলাদা খাম বেশি কার্যকর।
ব্যাংক সিঙ্ক্রোনাইজেশন সম্পর্কে যা জানা দরকার
ব্যাংক সংযোগ সব দেশে পাওয়া যায় না এবং কোন API প্রদানকারী সমর্থিত তার ওপর নির্ভর করে। এর জন্য আপনার নিজস্ব সার্ভার ও অতিরিক্ত credentials প্রয়োজন। Actual Budget পুরো সিঙ্ক্রোনাইজেশন স্বয়ংক্রিয়ভাবে চালায় না: ব্যবহারকারীকে ইন্টারফেস থেকে এটি শুরু করতে হয়।
ব্যাংক সংযোগের টোকেনগুলো সার্ভারে বাজেটের end-to-end encryption-এর বাইরে আলাদাভাবে সংরক্ষিত থাকে। কোনো নির্দিষ্ট ব্যাংক সমর্থিত না হলে স্টেটমেন্ট থেকে লেনদেন ইমপোর্ট করা যায়। OFX ও QFX সাধারণত CSV-এর চেয়ে সুবিধাজনক, কারণ এগুলোতে লেনদেনের আইডি থাকে।
এনক্রিপশন, ব্যাকআপ ও আপডেট
প্রতিটি বাজেটের জন্য আলাদাভাবে end-to-end encryption চালু করতে হয়। পাসওয়ার্ডটি password manager-এ সংরক্ষণ করুন, কারণ সার্ভার এটি পুনরুদ্ধার করতে পারে না। Actual Budget নিজে তার স্থানীয় কপি এনক্রিপ্ট করে না, তাই ফোন ও কম্পিউটারকে লক কোড এবং disk encryption দিয়ে সুরক্ষিত রাখা উচিত।
সিঙ্ক্রোনাইজেশন ব্যাকআপের বিকল্প নয়। নিয়মিত সেটিংস থেকে বাজেট এক্সপোর্ট করুন এবং ডেটা ডিরেক্টরিটি অন্য একটি স্থানে কপি করুন:
cd /opt/actual-budget
docker compose stop
tar -czf /root/actual-budget-$(date +%F).tar.gz data
docker compose startআর্কাইভটি VPS-এর বাইরে সরিয়ে রাখুন। আপডেটের আগে আরেকটি কপি তৈরি করুন, তারপর চালান:
cd /opt/actual-budget
docker compose pull
docker compose up -dনিয়মিত ব্যবহারের জন্য পরীক্ষামূলক nightly ট্যাগের পরিবর্তে স্থিতিশীল latest ট্যাগ বেছে নিন।
Actual Budget-এর জন্য কোন VPS বেছে নেবেন?
ব্যক্তিগত ব্যবহারের জন্য শক্তিশালী সার্ভারের প্রয়োজন হয় না। tropic.host-এর একটি সাধারণ Linux VPS-এই Actual Budget, Caddy এবং HTTPS-সহ একটি সাবডোমেইন চালানো যায়। 1 GB RAM দিয়ে শুরু করা যুক্তিসঙ্গত; অন্য self-hosted পরিষেবা যোগ করলে তবেই রিসোর্স বাড়ান।
port 5006 সরাসরি প্রকাশ করবেন না, আপডেট ইনস্টল করুন এবং প্রাথমিক VPS-এর বাইরে অন্তত একটি ব্যাকআপ রাখুন। Self-hosted পরিষেবার নিরাপত্তা নির্ভর করে তার মালিক কীভাবে সেটি কনফিগার করেছেন তার ওপর।
Actual Budget-এর সীমাবদ্ধতা
Actual Budget-এর নিয়মিত রক্ষণাবেক্ষণ প্রয়োজন। ব্যাংক সিঙ্ক্রোনাইজেশন দেশ ও প্রদানকারীর ওপর সীমিত, মোবাইল সংস্করণ PWA হিসেবে কাজ করে এবং এনক্রিপশন পাসওয়ার্ড হারালে বাজেট অপ্রবেশযোগ্য হয়ে যেতে পারে।
পরিষেবাটি সবার জন্য উপযুক্ত নাও হতে পারে, তবে নির্দিষ্ট একটি কাজ ভালোভাবে সমাধান করে: সাবস্ক্রিপশন ছাড়াই খামভিত্তিক বাজেট, অটোমেশন এবং নিজের ডেটার নিয়ন্ত্রণ একসঙ্গে দেয়।
সারসংক্ষেপ
Actual Budget খরচের হিসাব রাখাকে একটি পরিকল্পনায় পরিণত করে: আপনি যে টাকা পান, তার প্রতিটি অংশ আগেই একটি উদ্দেশ্যে বরাদ্দ করা হয়। অ্যাপ্লিকেশনটি স্থানীয়ভাবে কাজ করে, আপনার নিজস্ব সার্ভারের মাধ্যমে সিঙ্ক্রোনাইজ হয় এবং ইমপোর্ট, নিয়ম, রিপোর্ট ও এনক্রিপশন সমর্থন করে।
এটি চালানোর জন্য একটি ছোট VPS-ই যথেষ্ট। ইনস্টলেশনের পর সবচেয়ে গুরুত্বপূর্ণ কাজ হলো HTTPS চালু করা, এনক্রিপশন পাসওয়ার্ড নিরাপদে রাখা এবং বাহ্যিক ব্যাকআপ কনফিগার করা।
FAQ
Actual Budget কি বিনামূল্যে?
হ্যাঁ। অ্যাপ্লিকেশনটি ওপেন সোর্স এবং বাধ্যতামূলক কোনো সাবস্ক্রিপশন নেই। VPS, ডোমেইন ও ব্যাকআপ স্টোরেজের খরচ আলাদাভাবে দিতে হয়।
Actual Budget কি VPS-এ ইনস্টল করতেই হবে?
না। একটি কম্পিউটারে স্থানীয়ভাবেও ব্যবহার করতে পারেন। একাধিক ডিভাইসের মধ্যে সিঙ্ক্রোনাইজেশন, ব্যাংক সংযোগ, API access এবং স্থায়ী ওয়েব অ্যাক্সেসের জন্য সার্ভার প্রয়োজন।
Actual Budget কি আমার ব্যাংকের সঙ্গে সংযুক্ত করা যাবে?
হ্যাঁ, যদি আপনার ব্যাংক ও অঞ্চল উপলব্ধ কোনো প্রদানকারীর মাধ্যমে সমর্থিত হয়। তা না হলে CSV, QIF, OFX, QFX অথবা CAMT ফাইল থেকে লেনদেন ইমপোর্ট করতে পারবেন।
নিজের সার্ভারে বাজেট সংরক্ষণ করা কি নিরাপদ?
সঠিকভাবে কনফিগার করা হলে নিরাপদ, তবে নিরাপত্তার দায়িত্ব মালিকের। HTTPS, দীর্ঘ পাসওয়ার্ড, এনক্রিপশন, আপডেট এবং বাহ্যিক ব্যাকআপ প্রয়োজন।
Actual Budget-এর জন্য কত RAM দরকার?
অফিসিয়াল ন্যূনতম মান নেই। ব্যক্তিগত ব্যবহারের ক্ষেত্রে 1 GB RAM দিয়ে শুরু করা বাস্তবসম্মত; অন্য পরিষেবাও হোস্ট করলে 2 GB বরাদ্দ করা ভালো।
