Actual Budget na VPS: instalacja i konfiguracja osobistego budżetu

7 min czytania
Tropic
Actual Budget na VPS: instalacja i konfiguracja osobistego budżetu

Actual Budget: własny menedżer budżetu osobistego na VPS

Aplikacja bankowa pokazuje, na co pieniądze już zostały wydane. Actual Budget odpowiada na inne pytanie: ile z dostępnego salda możesz rzeczywiście wydać, gdy część pieniędzy jest już przeznaczona na czynsz, zakupy spożywcze, wakacje i nieprzewidziane wydatki?

Actual Budget to darmowy menedżer finansów osobistych o otwartym kodzie źródłowym. Działa lokalnie, synchronizuje dane za pośrednictwem własnego serwera i obsługuje szyfrowanie end-to-end. W tym poradniku omawiamy jego możliwości, ograniczenia oraz instalację na VPS.

Actual Budget w siedmiu krokach

  1. Utwórz VPS z systemem Linux i skieruj do niego subdomenę, na przykład budget.example.com.
  2. Zainstaluj Docker i Docker Compose.
  3. Uruchom oficjalny kontener ze stałym katalogiem danych.
  4. Włącz HTTPS za pomocą Caddy.
  5. Ustaw hasło serwera i utwórz budżet.
  6. Dodaj konta, kategorie, reguły oraz płatności cykliczne.
  7. Włącz szyfrowanie i skonfiguruj zewnętrzną kopię zapasową.

Czym jest Actual Budget?

Actual Budget to aplikacja self-hosted do zarządzania budżetem osobistym lub rodzinnym. Często uznaje się ją za alternatywę open source dla YNAB, ale można też rozpocząć pracę z całkowicie nowym budżetem.

Usługa wykorzystuje wirtualną metodę budżetowania kopertowego. Załóżmy, że na Twoich kontach znajduje się 100 000 rubli. Z tej kwoty 40 000 jest potrzebne na mieszkanie, 20 000 na żywność, 10 000 na opłaty, a 15 000 na fundusz awaryjny. Po przypisaniu pieniędzy na te cele na dowolne zakupy pozostaje tylko 15 000 rubli, a nie całe 100 000.

Takie podejście zmienia rolę aplikacji. Zwykły tracker wydatków wyjaśnia, na co pieniądze zostały wydane, natomiast Actual Budget pomaga podjąć decyzję jeszcze przed zakupem. Niewykorzystane pieniądze w kategorii przechodzą na kolejny okres, a gdy wydasz za dużo, możesz przenieść środki z innej koperty.

Kolejną różnicą jest architektura local-first. Budżet jest przechowywany na podłączonych urządzeniach i pozostaje dostępny bez połączenia z internetem. Gdy połączenie zostanie przywrócone, zmiany są synchronizowane przez serwer. VPS służy przede wszystkim do wymiany danych między komputerem, telefonem i przeglądarkami, a nie do przetwarzania każdej operacji.

Najważniejsze funkcje Actual Budget

  • Budżetowanie kopertowe. Przypisujesz wyłącznie pieniądze, które już otrzymałeś.
  • Konta i transakcje. Aplikacja obsługuje przelewy, podział jednego zakupu na kilka kategorii, notatki i uzgadnianie salda.
  • Reguły i harmonogramy. Możesz porządkować opisy bankowe, przypisywać kategorie oraz z wyprzedzeniem planować wypłatę, czynsz i subskrypcje.
  • Import. Obsługiwane są formaty CSV, QIF, OFX, QFX i CAMT. Formaty zawierające identyfikatory transakcji lepiej chronią przed duplikatami.
  • Raporty. Dostępne są raporty przepływów pieniężnych, wartości netto i wydatków, a także konfigurowalne wykresy.
  • Migracja i API. Aplikacja może importować dane z YNAB4 i aktualnej wersji YNAB oraz udostępnia API do własnych integracji.

Na telefonie Actual Budget jest instalowany jako PWA — aplikacja internetowa dodana do ekranu głównego. Warto wcześniej sprawdzić interfejs mobilny i upewnić się, że odpowiada Twoim potrzebom.

ParametrUsługa chmurowaActual Budget
Przechowywanie danychU dostawcyNa urządzeniu i własnym serwerze
Praca offlineZależy od usługiPodstawowe funkcje są dostępne lokalnie
UtrzymanieZajmuje się nim dostawcaZajmuje się nim właściciel
Koszt oprogramowaniaAbonament lub darmowy planBrak obowiązkowego abonamentu
Kontrola nad danymiZgodnie z zasadami dostawcyKontroluje ją właściciel serwera

Actual Budget jest odpowiedni dla osób, które cenią prywatność i kontrolę. Usługa chmurowa będzie wygodniejsza, jeśli nie chcesz utrzymywać serwera.

Wymagania serwera dla Actual Budget

Projekt nie publikuje ścisłych minimalnych wymagań dotyczących procesora i pamięci RAM. Serwer synchronizuje głównie niewielkie ilości danych finansowych, dlatego rozsądna konfiguracja początkowa dla jednej osoby lub rodziny to:

  • 1 vCPU;
  • 1 GB RAM;
  • 10 GB SSD;
  • Ubuntu 24.04 LTS;
  • domena lub subdomena;
  • zewnętrzna przestrzeń na kopię zapasową.

To praktyczna rekomendacja, a nie oficjalne minimum. Jeśli planujesz uruchamiać także inne kontenery, lepiej przydzielić 2 GB RAM.

Jak zainstalować Actual Budget na VPS

W przykładzie używamy Ubuntu 24.04 i subdomeny budget.example.com.

1. Przygotuj serwer

Utwórz rekord DNS A wskazujący na adres IP VPS, połącz się przez SSH i otwórz tylko wymagane porty:

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 enable

2. Zainstaluj Docker

Dodaj oficjalne repozytorium Dockera:

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-plugin

3. Uruchom 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

Przypisanie usługi do 127.0.0.1 uniemożliwia bezpośrednie udostępnienie portu 5006 w internecie. Budżety są przechowywane w /opt/actual-budget/data i nie są usuwane podczas aktualizacji kontenera.

4. Włącz 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 caddy

Gdy DNS wskazuje na VPS, a porty 80 i 443 są dostępne, Caddy automatycznie uzyska certyfikat TLS. Otwórz https://budget.example.com i ustaw długie hasło serwera.

Jak skonfigurować pierwszy budżet

Nie musisz zaczynać od importowania kilku lat historii. Szybciej będzie dodać używane obecnie konta, wprowadzić ich bieżące salda i utworzyć kategorie dla najważniejszych płatności, codziennych wydatków, oszczędności oraz nieregularnych kosztów.

Przypisuj wyłącznie pieniądze, które są już dostępne, aż kwota „Do rozdysponowania” osiągnie zero. Następnie zaimportuj najnowsze transakcje, sprawdź salda i utwórz reguły dla często używanych sklepów, subskrypcji oraz przelewów.

Kategorie powinny pomagać w podejmowaniu decyzji. Osobne koperty na „opiekę zdrowotną”, „naprawy urządzeń” i „roczne subskrypcje” są bardziej użyteczne niż jedna ogólna kategoria „różne”.

Co trzeba wiedzieć o synchronizacji z bankiem

Połączenia z bankami nie są dostępne w każdym kraju i zależą od obsługiwanego dostawcy API. Wymagają własnego serwera i dodatkowych danych uwierzytelniających. Actual Budget nie wykonuje synchronizacji całkowicie automatycznie: użytkownik uruchamia ją z poziomu interfejsu.

Tokeny połączeń bankowych są przechowywane oddzielnie na serwerze i nie są objęte szyfrowaniem end-to-end budżetu. Jeśli konkretny bank nie jest obsługiwany, transakcje można zaimportować z wyciągu. OFX i QFX są zwykle wygodniejsze niż CSV, ponieważ zawierają identyfikatory transakcji.

Szyfrowanie, kopie zapasowe i aktualizacje

Szyfrowanie end-to-end włącza się osobno dla każdego budżetu. Przechowuj hasło w menedżerze haseł, ponieważ serwer nie może go odzyskać. Actual Budget nie szyfruje samodzielnie swojej lokalnej kopii, dlatego telefon i komputer powinny być chronione kodem blokady oraz szyfrowaniem dysku.

Synchronizacja nie zastępuje kopii zapasowej. Regularnie eksportuj budżet z ustawień i kopiuj katalog danych do innej lokalizacji:

cd /opt/actual-budget
docker compose stop
tar -czf /root/actual-budget-$(date +%F).tar.gz data
docker compose start

Przenieś archiwum poza VPS. Przed aktualizacją utwórz kolejną kopię, a następnie uruchom:

cd /opt/actual-budget
docker compose pull
docker compose up -d

Do regularnego użytku wybierz stabilny tag latest, a nie eksperymentalny tag nightly.

Jaki VPS wybrać dla Actual Budget?

Osobista instancja nie potrzebuje wydajnego serwera. Podstawowy Linux VPS od tropic.host wystarczy do hostowania Actual Budget, Caddy oraz subdomeny z HTTPS. Rozpoczęcie od 1 GB RAM jest rozsądne; zwiększ zasoby dopiero wtedy, gdy dodasz inne usługi self-hosted.

Nie udostępniaj bezpośrednio portu 5006, instaluj aktualizacje i przechowuj co najmniej jedną kopię zapasową poza głównym VPS. Bezpieczeństwo usługi self-hosted zależy od sposobu jej skonfigurowania przez właściciela.

Ograniczenia Actual Budget

Actual Budget wymaga samodzielnego utrzymania. Synchronizacja z bankiem jest ograniczona przez kraj i dostawcę, wersja mobilna działa jako PWA, a utrata hasła szyfrowania może uniemożliwić dostęp do budżetu.

Usługa nie będzie odpowiednia dla każdego, ale dobrze rozwiązuje konkretne zadanie: łączy budżetowanie kopertowe, automatyzację i kontrolę nad danymi bez konieczności opłacania abonamentu.

Podsumowanie

Actual Budget zmienia śledzenie wydatków w plan: każda otrzymana kwota z wyprzedzeniem otrzymuje konkretne przeznaczenie. Aplikacja działa lokalnie, synchronizuje dane przez własny serwer i obsługuje importy, reguły, raporty oraz szyfrowanie.

Do jej uruchomienia wystarczy niewielki VPS. Po instalacji najważniejsze kroki to włączenie HTTPS, bezpieczne przechowywanie hasła szyfrowania oraz skonfigurowanie zewnętrznej kopii zapasowej.

FAQ

Czy Actual Budget jest darmowy?

Tak. Aplikacja ma otwarty kod źródłowy i nie wymaga obowiązkowego abonamentu. Osobno płatne mogą być VPS, domena i przestrzeń na kopie zapasowe.

Czy muszę instalować Actual Budget na VPS?

Nie. Możesz używać go lokalnie na jednym komputerze. Serwer jest potrzebny do synchronizacji między urządzeniami, połączeń z bankami, dostępu przez API i stałego dostępu przez internet.

Czy mogę połączyć Actual Budget ze swoim bankiem?

Tak, jeśli bank i region są obsługiwane przez jednego z dostępnych dostawców. W przeciwnym razie transakcje można importować z plików CSV, QIF, OFX, QFX lub CAMT.

Czy przechowywanie budżetu na własnym serwerze jest bezpieczne?

Tak, jeśli serwer jest prawidłowo skonfigurowany, ale za bezpieczeństwo odpowiada właściciel. Potrzebujesz HTTPS, długiego hasła, szyfrowania, aktualizacji i zewnętrznych kopii zapasowych.

Ile pamięci RAM potrzebuje Actual Budget?

Nie ma oficjalnej wartości minimalnej. Dla osobistej instancji 1 GB RAM to praktyczny punkt wyjścia; jeśli hostujesz także inne usługi, lepiej przydzielić 2 GB.