VPSలో Actual Budgetను సొంతంగా హోస్ట్ చేయడం ఎలా?
Docker Compose ఉపయోగించి Actual Budgetను VPSలో ఇన్స్టాల్ చేయండి. HTTPS అవసరం, డేటా వాల్యూమ్ సెటప్, బ్యాంక్ ఇంపోర్ట్స్ మరియు బ్యాకప్ పద్ధతుల గురించి పూర్తి వివరాలు ఇక్కడ ఉన్నాయి.
మీరు ఏమి నిర్మిస్తున్నారు
Actual Budget అనేది సెల్ఫ్-హోస్టెడ్ ఎన్వలప్ బడ్జెటింగ్ యాప్. మీరు సొంతంగా హోస్ట్ చేసుకోగల YNAB ప్రత్యామ్నాయం కోసం వెతుకుతున్నప్పుడు, ఇది సాధారణంగా సూచించబడే పరిష్కారం. ఈ సర్వర్ ఒక కంటైనర్, ఒక డేటా వాల్యూమ్ మరియు ఒక HTTPS పేరును కలిగి ఉంటుంది. సాధారణ బడ్జెట్కు అవసరమైనవన్నీ మీరు అద్దెకు తీసుకోగల అతి చిన్న VPSలో కూడా సులభంగా నడుస్తాయి, ఎందుకంటే ఈ సర్వర్ ప్రధానంగా ఫైళ్లను నిల్వ చేయడానికి మరియు వాటిని సింక్ చేయడానికి మాత్రమే ఉపయోగపడుతుంది.
మీరు ఏదైనా టైప్ చేయడానికి ముందు ఈ ఆర్కిటెక్చర్ను అర్థం చేసుకోవడం మంచిది. బడ్జెట్ అనేది మీ బ్రౌజర్లో మరియు ప్రతి మొబైల్ యాప్లో ఉండే ఒక SQLite డేటాబేస్. మీరు ఇన్స్టాల్ చేయబోయే సర్వర్ ఒక సింక్ ఎండ్పాయింట్: ఇది ఖాతాల జాబితాను, బడ్జెట్ ఫైళ్లను మరియు ఫోన్, ల్యాప్టాప్ మధ్య సమన్వయం కోసం అవసరమైన చేంజ్ లాగ్ను కలిగి ఉంటుంది. అందుకే సర్వర్ పనిచేయనప్పుడు కూడా యాప్ పనిచేస్తుంది, మరియు ఒక క్లయింట్ దగ్గర కాపీ ఉన్నంత వరకు సర్వర్ పోయినా మీ బడ్జెట్ డేటా పోదు.
సర్వర్కు HTTPS ఎందుకు అవసరం
Actual కు HTTPS అవసరం, ఇది కేవలం ఒక లాంఛనం మాత్రమే కాదు. బ్రౌజర్లు Web Crypto APIని, అంటే Actual తన ఎండ్-టు-ఎండ్ ఎన్క్రిప్షన్ కోసం ఉపయోగించే ఇంటర్ఫేస్ను, స్పెసిఫికేషన్ ప్రకారం సురక్షితమైన సందర్భంలో (secure context) మాత్రమే అందుబాటులో ఉంచుతాయి. సురక్షితమైన సందర్భం అంటే https:// లేదా http://localhost. మరొక మెషీన్లోని బ్రౌజర్లో http://203.0.113.10:5006 నుండి యాప్ను లోడ్ చేస్తే, ఆ ఫీచర్లు అందుబాటులో ఉండవు, ఎందుకంటే బ్రౌజర్ వాటిని ఆ పేజీకి అందించదు. అధికారిక మొబైల్ బిల్డ్లు కూడా సాధారణ http:// సర్వర్ URLని అంగీకరించవు.
కాబట్టి, రెండు ఆచరణాత్మక పద్ధతులు ఉన్నాయి. కంటైనర్ ముందు ఒక నిజమైన డొమైన్ పేరుపై నిజమైన సర్టిఫికేట్ను ఉంచడం, ఈ గైడ్ దీనినే వివరిస్తుంది. లేదా ACTUAL_HTTPS_KEY మరియు ACTUAL_HTTPS_CERT ఉపయోగించి సర్వర్కు సెల్ఫ్-సైన్డ్ సర్టిఫికేట్ను అందించడం, దీని గురించి ప్రాజెక్ట్ డాక్యుమెంటేషన్లో ఉంది, అయితే ప్రతి పరికరంలో బ్రౌజర్ హెచ్చరికను అంగీకరించాల్సి ఉంటుంది. Let's Encrypt నుండి ఉచిత సర్టిఫికేట్ పొందడానికి ఐదు నిమిషాలు మాత్రమే పడుతుంది, కాబట్టి మొదటి పద్ధతినే ఎంచుకోండి.
Docker Compose తో Actual Budget ని ఇన్స్టాల్ చేయడం
సర్వర్ కొత్తదైతే ముందుగా Docker ని ఇన్స్టాల్ చేయండి. Compose ఫైల్ సింటాక్స్ మీకు కొత్తగా ఉంటే, VPS కోసం Docker Compose ప్రాథమిక అంశాలు గైడ్ కింద ఉపయోగించిన ఫీల్డ్ల గురించి వివరిస్తుంది.
sudo install -d -m 755 /opt/actual
sudo install -d -m 700 /opt/actual/data/opt/actual/docker-compose.yml ని రాయండి:
services:
actual:
image: actualbudget/actual-server:latest
container_name: actual
restart: unless-stopped
ports:
- '127.0.0.1:5006:5006'
volumes:
- ./data:/dataఆ ఫైల్లో మూడు వివరాలు ముఖ్యమైనవి.
ఇమేజ్ actualbudget/actual-server:latest, ఇది ప్రాజెక్ట్ ద్వారా Docker Hub లో ప్రచురించబడింది మరియు ghcr.io/actualbudget/actual వద్ద మిర్రర్ చేయబడింది. తక్కువ శక్తి గల మెషీన్ల కోసం latest-alpine ట్యాగ్ అందుబాటులో ఉంది.
కంటైనర్ ప్రతిదీ /data కింద వ్రాస్తుంది. దాని లోపల మీకు server-files లభిస్తుంది, ఇది మీ లాగిన్ మరియు సెషన్ టోకెన్లతో కూడిన account.sqlite ని కలిగి ఉంటుంది, మరియు user-files, ఇది బడ్జెట్ ఫైళ్లను కలిగి ఉంటుంది. ఆ పాత్ను మౌంట్ చేయండి, లేకపోతే తదుపరి docker compose pull మీ బడ్జెట్ను తొలగిస్తుంది. ACTUAL_DATA_DIR దానిని తరలించగలదు, కానీ డిఫాల్ట్ సెట్టింగ్ సరిపోతుంది.
పోర్ట్ కేవలం 127.0.0.1 పై మాత్రమే ప్రచురించబడింది. సాధారణ 5006:5006 ప్రతి ఇంటర్ఫేస్పై ప్రచురిస్తుంది, మరియు Docker తన సొంత నియమాలను ufw కంటే ముందుగా వ్రాస్తుంది, కాబట్టి deny-all ఫైర్వాల్ ఉన్నప్పటికీ యాప్ ఇంటర్నెట్కు అందుబాటులో ఉంటుంది. ఆ ఆశ్చర్యకరమైన విషయం Docker ప్రచురించిన పోర్ట్లు ufw ని ఎందుకు దాటవేస్తాయి లో వివరించబడింది. లూప్బ్యాక్కు బైండ్ చేయడం అంటే అదే బాక్స్లోని రివర్స్ ప్రాక్సీ మాత్రమే దానిని చేరుకోగలదని అర్థం.
దీనిని ప్రారంభించండి:
cd /opt/actual
docker compose up --detach
docker compose logs -f actualసర్వర్ 5006 పోర్ట్లో లిజన్ చేస్తున్నట్లు రిపోర్ట్ చేసిన తర్వాత లాగ్ స్థిరపడుతుంది. DNS ని తాకడానికి ముందు స్థానికంగా దీనిని తనిఖీ చేయండి:
curl -fsS -o /dev/null -w '%{http_code}\n' http://127.0.0.1:5006/200 అంటే యాప్ సర్వ్ అవుతోందని అర్థం. curl: (7) Failed to connect అంటే కంటైనర్ రన్ అవ్వడం లేదని అర్థం, మరియు docker compose ps అది ఎగ్జిట్ అయినట్లు చూపుతుంది. సాధారణ కారణం మౌంట్ చేసిన వాల్యూమ్పై అనుమతి సమస్య, ఇది లాగ్లో EACCES లైన్గా కనిపిస్తుంది.
సర్టిఫికేట్ మరియు రియల్ నేమ్ను ముందు ఉంచడం
VPSకి A రికార్డును పాయింట్ చేయండి, budget.example.com, మరియు అది రిజాల్వ్ అయ్యే వరకు వేచి ఉండండి. ఆ తర్వాత nginxని ఇన్స్టాల్ చేసి సర్టిఫికేట్ను జారీ చేయండి. Ubuntu 24.04లో nginxతో Certbot గైడ్ సర్టిఫికేట్ జారీ మరియు రెన్యూవల్ టైమర్ గురించి పూర్తి వివరాలను అందిస్తుంది.
ప్రాక్సీ బ్లాక్:
server {
listen 443 ssl;
http2 on;
server_name budget.example.com;
ssl_certificate /etc/letsencrypt/live/budget.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/budget.example.com/privkey.pem;
client_max_body_size 100m;
location / {
proxy_pass http://127.0.0.1:5006;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}client_max_body_size అనేది చాలామంది మర్చిపోయే లైన్. పూర్తి సింక్ (full sync) సమయంలో బడ్జెట్ ఫైల్ మొత్తం అప్లోడ్ అవుతుంది. Nginx డిఫాల్ట్గా 1 MB రిక్వెస్ట్ బాడీని అనుమతిస్తుంది, కాబట్టి ఫైల్ పరిమాణం అంతకంటే పెరిగినప్పుడు, nginx యాక్సెస్ లాగ్లో 413 Request Entity Too Large ఎర్రర్ కనిపిస్తుంది మరియు యాప్లో సాధారణ సింక్ ఎర్రర్ మాత్రమే కనిపిస్తుంది. సర్వర్కు దాని స్వంత పరిమితులు ఉన్నాయి: ACTUAL_UPLOAD_FILE_SYNC_SIZE_LIMIT_MB డిఫాల్ట్గా 20 మరియు ACTUAL_UPLOAD_SYNC_ENCRYPTED_FILE_SYNC_SIZE_LIMIT_MB డిఫాల్ట్గా 50 ఉంటాయి, కాబట్టి మీకు వర్తించే పరిమితి కంటే ఎక్కువగా nginx లిమిట్ను సెట్ చేయండి.
రీలోడ్ చేసి పరీక్షించండి:
sudo nginx -t && sudo systemctl reload nginx
curl -fsS -o /dev/null -w '%{http_code}\n' https://budget.example.com/మొదటిసారి రన్ చేయడం: పాస్వర్డ్ మరియు మీ మొదటి బడ్జెట్ ఫైల్
https://budget.example.comని బ్రౌజర్లో తెరవండి. మొదటి స్క్రీన్ మిమ్మల్ని సర్వర్ పాస్వర్డ్ను సెట్ చేయమని అడుగుతుంది. ఆ ఒక్క పాస్వర్డ్ మొత్తం సర్వర్ను రక్షిస్తుంది, కాబట్టి పొడవైన మరియు యాదృచ్ఛికమైన పాస్వర్డ్ను రూపొందించండి. దీన్ని self-hosted Vaultwarden password manager వంటి సురక్షితమైన చోట భద్రపరచుకోండి. ఇక్కడ సృష్టించడానికి ప్రత్యేక యూజర్ ఖాతాలు ఏవీ లేవు. Actual సర్వర్ డిజైన్ ప్రకారం సింగిల్-పాస్వర్డ్ పద్ధతిలో పనిచేస్తుంది, కాబట్టి బడ్జెట్ను ఇతరులతో పంచుకోవాలంటే ఆ పాస్వర్డ్ను కూడా పంచుకోవాల్సి ఉంటుంది.
ఆ తర్వాత ఒక బడ్జెట్ ఫైల్ను సృష్టించండి. ఎండ్-టు-ఎండ్ ఎన్క్రిప్షన్ను ఎనేబుల్ చేయాలా అని Actual మిమ్మల్ని అడుగుతుంది. 'అవును' అని ఎంచుకోండి; అప్పుడు సర్వర్ కేవలం సైఫర్టెక్స్ట్ను మాత్రమే నిల్వ చేస్తుంది. అద్దెకు తీసుకున్న మెషీన్లో ఆర్థిక డేటాను ఉంచడానికి ఇదే సరైన పద్ధతి. అయితే దీనికి ఒక బాధ్యత ఉంది: ఎన్క్రిప్షన్ పాస్వర్డ్ సర్వర్కు ఎప్పటికీ చేరదు, కాబట్టి ఒకవేళ మీరు దాన్ని మర్చిపోతే, ఫైల్ శాశ్వతంగా పోతుంది మరియు దాన్ని రీసెట్ చేసే అవకాశం ఉండదు. ఆ స్క్రీన్ను దాటి ముందుకు వెళ్లే ముందు ఆ పాస్వర్డ్ను ఎక్కడైనా రాసి పెట్టుకోండి.
మీ బ్యాంక్ ఖాతాలోని ప్రస్తుత నిల్వల నుండి ప్రారంభ బ్యాలెన్స్లను సెట్ చేయండి, అంతే కానీ సంవత్సరాల తరబడి ఉన్న హిస్టరీని ఇంపోర్ట్ చేయకండి. ఎన్వలప్ బడ్జెటింగ్ పద్ధతి మీ దగ్గర ప్రస్తుతం ఉన్న డబ్బుతో ముందుకు సాగుతుంది, కాబట్టి పాత హిస్టరీ లేకపోవడం వల్ల మీకు ఎటువంటి నష్టం ఉండదు.
లావాదేవీలను నమోదు చేయడం
ఇక్కడ ఉత్సాహం కంటే నిజాయితీ ముఖ్యం, ఎందుకంటే సెల్ఫ్-హోస్టెడ్ బడ్జెటింగ్ నుండి వినియోగదారులు తప్పుకోవడానికి ప్రధాన కారణం ఈ ఇంపోర్ట్ ప్రక్రియే.
మాన్యువల్ ఎంట్రీ అనేది ప్రాథమిక పద్ధతి మరియు ఇది ఎల్లప్పుడూ పనిచేస్తుంది. ఎన్వలప్ పద్ధతిలో ఇది చాలా కీలకం, ఎందుకంటే మీరు చేసిన ఖర్చును మీరే టైప్ చేయడం వల్ల దానిపై మీకు అవగాహన పెరుగుతుంది.
ఫైల్ ఇంపోర్ట్ ద్వారా ఎక్కువ మొత్తంలో డేటాను నమోదు చేయవచ్చు. Actual సాఫ్ట్వేర్ CSV, QIF, OFX మరియు QFX ఫార్మాట్లను చదవగలదు, ప్రతి బ్యాంక్ కనీసం వీటిలో ఒక ఫార్మాట్ను ఎగుమతి చేస్తుంది. అకౌంట్ స్క్రీన్ నుండి ప్రతి అకౌంట్కు విడివిడిగా ఇంపోర్ట్ చేయండి, కాలమ్స్ను ఒకసారి మ్యాప్ చేయండి, ఆ అకౌంట్ కోసం ఆ లేఅవుట్ను Actual గుర్తుంచుకుంటుంది.
ఆటోమేటిక్ బ్యాంక్ సింక్ సౌకర్యం ఉంది, దీని కోసం థర్డ్-పార్టీ సర్వీస్ అవసరం, ఎందుకంటే సర్వర్ నేరుగా బ్యాంకులతో కమ్యూనికేట్ చేయలేదు. Actual ఉత్తర అమెరికా బ్యాంకుల కోసం SimpleFIN Bridge, ఐరోపా కోసం Enable Banking, న్యూజిలాండ్ కోసం Akahu మరియు బ్రెజిల్ కోసం Pluggy.ai సేవలకు మద్దతు ఇస్తుంది. GoCardless ఇప్పటికీ మద్దతులో ఉన్నప్పటికీ, కొత్త అకౌంట్లను అనుమతించడం లేదు. మీరు స్వయంగా ప్రొవైడర్ వద్ద సైన్ అప్ చేసి, క్రెడెన్షియల్స్ను జనరేట్ చేసి, వాటిని సర్వర్కు జోడించాలి. జూలై 2026 నాటికి, SimpleFIN Bridge గరిష్టంగా 25 సంస్థల కోసం సంవత్సరానికి 15 US డాలర్ల ఛార్జీని వసూలు చేస్తోంది, ఇతర సంస్థల ధరలు భిన్నంగా ఉంటాయి.
దీనిపై ఆధారపడే ముందు రెండు పరిమితులను అంగీకరించాలి. API క్రెడెన్షియల్స్ సర్వర్లోనే ఉంటాయి మరియు ఎండ్-టు-ఎండ్ ఎన్క్రిప్షన్ పరిధిలోకి రావు, ఎందుకంటే సర్వర్ వాటిని ఉపయోగించాల్సి ఉంటుంది. అలాగే Actual ఆటోమేటిక్గా డేటాను సేకరించదు: సింక్ అనేది మీరు బటన్ నొక్కినప్పుడు మాత్రమే జరుగుతుంది, ఇది బ్యాక్గ్రౌండ్ జాబ్ కాదు.
బ్యాకప్లు, ఎందుకంటే ఇవి కేవలం ఫైళ్లు మాత్రమే
మీకు ముఖ్యమైనవన్నీ /opt/actual/data లోనే ఉంటాయి. దీని కోసం ప్రత్యేకమైన ఎగుమతి (export) ప్రక్రియ లేదా డేటాబేస్ డంప్ స్క్రిప్ట్ అవసరం లేదు.
ఇక్కడ ఉన్న ఒకే ఒక్క సమస్య SQLite. సర్వర్ డేటాను రాస్తున్న సమయంలో account.sqlite ని కాపీ చేస్తే, అది అసంపూర్తిగా ఉన్న లావాదేవీని (transaction) కాపీ చేసే అవకాశం ఉంది. మీరు పునరుద్ధరించడానికి (restore) ప్రయత్నించే వరకు ఆ సమస్య మీకు తెలియదు. కాపీ చేయడానికి పట్టే కొన్ని సెకన్ల పాటు కంటైనర్ను ఆపివేయండి:
cd /opt/actual
docker compose stop
restic -r sftp:backup@backup.example.com:/srv/restic backup /opt/actual/data
docker compose startrestic బ్యాకప్లు VPSలో లో వివరించిన పద్ధతిని ఉపయోగించి దీనిని షెడ్యూల్ చేయండి. ఇది రిపోజిటరీ సెటప్, రిటెన్షన్ మరియు పునరుద్ధరణ ప్రక్రియను కవర్ చేస్తుంది. పునరుద్ధరణ ప్రక్రియను ఒకసారి పరీక్షించండి. మీరు ఎప్పుడూ పునరుద్ధరించని బ్యాకప్ కేవలం ఒక అంచనా మాత్రమే.
Actual యొక్క క్లయింట్-సైడ్ బ్యాకప్లు వేరే విషయం మరియు వాటి గురించి తెలుసుకోవడం మంచిది. బ్రౌజర్ బడ్జెట్ ఫైల్ యొక్క ఇటీవలి కాపీలను ఫైల్ మెనూ ద్వారా అందుబాటులో ఉంచుతుంది. దీనివల్ల సర్వర్తో సంబంధం లేకుండానే "నేను పొరపాటున ఒక కేటగిరీని తొలగించాను" వంటి సమస్యలను పరిష్కరించుకోవచ్చు.
సర్వర్ను అప్డేట్ చేయడం
cd /opt/actual
docker compose pull
docker compose up --detachకొత్త ఇమేజ్ నుండి కంటైనర్ను Compose తిరిగి సృష్టిస్తుంది మరియు అదే వాల్యూమ్ను మళ్లీ అనుసంధానిస్తుంది, కాబట్టి డేటా సురక్షితంగా ఉంటుంది. క్లయింట్లను కూడా అప్డేట్ చేయండి. సర్వర్ మరియు యాప్ వెర్షన్లు ఒకదానికొకటి దగ్గరగా ఉండాలని ఆశిస్తారు, మరియు సర్వర్ కంటే చాలా పాతదైన క్లయింట్ వెర్షన్ సరిపోలకపోవడం (version mismatch) అనే సందేశంతో సింక్ అవ్వడానికి నిరాకరించవచ్చు. మేజర్ వెర్షన్ అప్డేట్కు ముందు బ్యాకప్ తీసుకోండి, ఎందుకంటే మొదటిసారి ప్రారంభించినప్పుడు మైగ్రేషన్లు రన్ అవుతాయి మరియు వెర్షన్ను తగ్గించడానికి (downgrade) ఎటువంటి మార్గం ఉండదు.
ఏమి విఫలమవుతుంది మరియు మీరు ఏమి చూస్తారు
యాప్ లోడ్ అవుతుంది కానీ సింక్ ఎప్పటికీ పూర్తికాదు. 413 కోసం nginx యాక్సెస్ లాగ్ను తనిఖీ చేయండి. అది client_max_body_size చాలా తక్కువగా సెట్ చేయబడిందని అర్థం. 502 అంటే nginx పని చేస్తోందని, కానీ కంటైనర్ పని చేయడం లేదని అర్థం.
ఎన్క్రిప్షన్ ఆప్షన్లు కనిపించడం లేదు, లేదా మొబైల్ యాప్ URLని తిరస్కరిస్తోంది. పేజీ సురక్షితమైన సందర్భంలో (secure context) లేదు. అడ్రస్ బార్లో http:// కనిపిస్తుంది, ఇది IP అడ్రస్ లేదా localhost కాని హోస్ట్నేమ్ను కలిగి ఉంటుంది. దీనిని దాటవేసే ప్రయత్నం చేసే బదులు, సర్టిఫికేట్ను సరిచేయండి.
బడ్జెట్ ఫైల్ ఈ వెర్షన్కు అనుకూలంగా లేదనే సందేశం వస్తుంది. క్లయింట్ మరియు సర్వర్ వెర్షన్ల మధ్య వ్యత్యాసం ఏర్పడింది. రెండింటినీ ఒకే వెర్షన్కు అప్డేట్ చేసి, రీలోడ్ చేయండి.
కంటైనర్ లూప్లో రీస్టార్ట్ అవుతోంది. docker compose logs actual చదవండి. /data పై పర్మిషన్ ఎర్రర్ ఉంటే, మౌంట్ చేసిన డైరెక్టరీకి కంటైనర్ యూజర్ ద్వారా రైట్ (write) చేసే అనుమతి లేదని అర్థం. అడ్రస్-ఇన్-యూజ్ ఎర్రర్ ఉంటే, లూప్బ్యాక్లో 5006 పోర్ట్ను ఇప్పటికే మరొకటి ఆక్రమించిందని అర్థం.
మొదటిసారి లోడ్ అవ్వడం నెమ్మదిగా అనిపిస్తుంది. మీరు బడ్జెట్ ఫైల్ను ఓపెన్ చేసినప్పుడు, అది మొత్తం బ్రౌజర్లోకి డౌన్లోడ్ అవుతుంది. ఇది ఒక పెద్ద ట్రాన్స్ఫర్, ఆ తర్వాత లోకల్ రీడ్స్ జరుగుతాయి. ఇది సర్వర్ సైజింగ్ సమస్య కాదు, RAM పెంచినా దీనిలో మార్పు ఉండదు.
FAQ
Actual Budget పనిచేయడానికి HTTPS అవసరమా?
అవును, ఆచరణలో ఇది అవసరం. Actual యొక్క ఎండ్-టు-ఎండ్ ఎన్క్రిప్షన్ బ్రౌజర్ యొక్క Web Crypto APIని ఉపయోగిస్తుంది. బ్రౌజర్లు ఈ ఫీచర్ను సురక్షితమైన సందర్భంలో మాత్రమే అనుమతిస్తాయి, అంటే https:// లేదా http://localhost ఉండాలి. మరొక మెషీన్ నుండి సాధారణ HTTP ద్వారా కనెక్ట్ అయినప్పుడు ఈ ఫీచర్లు అందుబాటులో ఉండవు. అలాగే, అధికారిక మొబైల్ యాప్లు సాధారణ HTTP సర్వర్ URLలను అంగీకరించవు. మీరు నిజమైన హోస్ట్నేమ్ (hostname) పై Let's Encrypt సర్టిఫికేట్ను ఉపయోగించండి. ఒకవేళ మీరు కేవలం డెస్క్టాప్ బ్రౌజర్ను మాత్రమే ఉపయోగిస్తుంటే, ACTUAL_HTTPS_KEY మరియు ACTUAL_HTTPS_CERT తో సెల్ఫ్-సైన్డ్ (self-signed) సర్టిఫికేట్ను వాడవచ్చు.
Actual నా బ్యాంక్ లావాదేవీలను ఆటోమేటిక్గా ఇంపోర్ట్ చేయగలదా?
మీరు స్వయంగా సైన్ అప్ చేసుకునే థర్డ్-పార్టీ సర్వీసుల ద్వారా మాత్రమే ఇది సాధ్యం: ఉత్తర అమెరికాలో SimpleFIN Bridge, ఐరోపాలో Enable Banking, న్యూజిలాండ్లో Akahu, లేదా బ్రెజిల్లో Pluggy.ai. GoCardless సపోర్ట్ ఉన్నప్పటికీ, అది కొత్త ఖాతాలను అంగీకరించడం లేదు. ఆ API క్రెడెన్షియల్స్ మీ సర్వర్లో ఉంటాయి మరియు అవి ఎండ్-టు-ఎండ్ ఎన్క్రిప్షన్ పరిధిలోకి రావు. సింక్ (sync) కూడా మాన్యువల్గా జరుగుతుంది, కాబట్టి మీరు బటన్ నొక్కినప్పుడు మాత్రమే అది పనిచేస్తుంది, బ్యాక్గ్రౌండ్లో ఏదీ ఆటోమేటిక్గా జరగదు. CSV, QIF, OFX మరియు QFX ఫైళ్లను ఇంపోర్ట్ చేయడానికి ఎటువంటి థర్డ్-పార్టీ సర్వీస్ అవసరం లేదు.
నేను ఖచ్చితంగా దేనిని బ్యాకప్ చేయాలి?
మౌంట్ చేసిన డేటా డైరెక్టరీని బ్యాకప్ చేయాలి, ఇది ఈ గైడ్లో /opt/actual/data గా ఉంది. ఇందులో లాగిన్లు మరియు సెషన్లతో కూడిన server-files/account.sqlite, మరియు బడ్జెట్ ఫైళ్లతో కూడిన user-files ఉంటాయి. కాపీ చేసే ముందు కంటైనర్ను ఆపివేయండి, ఎందుకంటే రన్ అవుతున్న SQLite డేటాబేస్ను కాపీ చేస్తే డేటా పాక్షికంగా మాత్రమే సేవ్ అయ్యే అవకాశం ఉంది. సర్వర్లో మరే ఇతర ఫైల్ స్టేట్ను కలిగి ఉండదు.
ఎన్క్రిప్షన్ పాస్వర్డ్ పోగొట్టుకుంటే ఏమవుతుంది?
ఆ ఫైల్ను తిరిగి పొందడం సాధ్యం కాదు. పాస్వర్డ్ సర్వర్కు ఎప్పటికీ చేరదు, ఇదే ఎండ్-టు-ఎండ్ ఎన్క్రిప్షన్ యొక్క ముఖ్య ఉద్దేశ్యం. కాబట్టి, దీనికి రీసెట్ ఆప్షన్ లేదా సపోర్ట్ ఉండదు. ఫైల్ను సృష్టించిన వెంటనే పాస్వర్డ్ను పాస్వర్డ్ మేనేజర్లో భద్రపరచుకోండి మరియు ఈ సర్వర్పై ఆధారపడని మరొక చోట దాని కాపీని ఉంచుకోండి.
Actual Budget కోసం ఎంత సర్వర్ సామర్థ్యం అవసరం?
చాలా తక్కువ. ఈ కంటైనర్ స్టాటిక్ అసెట్స్ మరియు ఫైళ్లను మాత్రమే సర్వ్ చేస్తుంది, బడ్జెట్ లెక్కలన్నీ బ్రౌజర్లోనే జరుగుతాయి. 1 GB RAM ఉన్న ఒక షేర్డ్ vCPU దీనికి సరిపోతుంది. కొన్ని సంవత్సరాల చరిత్ర కలిగిన గృహ బడ్జెట్ డేటా డైరెక్టరీ పరిమాణం కేవలం కొన్ని పదుల మెగాబైట్లు మాత్రమే ఉంటుంది. డిస్క్ లోడ్ అనేది మీ బ్యాకప్లు మరియు ఇతర కంటైనర్ల వల్ల పెరుగుతుంది తప్ప, Actual వల్ల కాదు.