Tropic Host

Actual Budget на VPS: инсталиране и настройване на личен бюджет

6 минути четене
Tropic
Actual Budget на VPS: инсталиране и настройване на личен бюджет

Actual Budget: вашият личен мениджър на бюджета на VPS

Банковото приложение показва къде вече са отишли парите ви. Actual Budget отговаря на друг въпрос: колко от наличния баланс наистина можете да похарчите, когато част от него вече е предназначена за наем, храна, почивка и непредвидени разходи?

Actual Budget е безплатен мениджър на личните финанси с отворен код. Той работи локално, синхронизира се през ваш собствен сървър и поддържа криптиране от край до край. В това ръководство ще разгледаме неговите функции, ограничения и инсталирането му на VPS.

Actual Budget в седем стъпки

  1. Създайте Linux VPS и насочете към него поддомейн, например budget.example.com.
  2. Инсталирайте Docker и Docker Compose.
  3. Стартирайте официалния контейнер с постоянна директория за данни.
  4. Активирайте HTTPS чрез Caddy.
  5. Задайте парола за сървъра и създайте бюджет.
  6. Добавете сметки, категории, правила и периодични плащания.
  7. Активирайте криптирането и настройте външно резервно копие.

Какво представлява Actual Budget?

Actual Budget е приложение за самостоятелно хостване, предназначено за управление на личен или семеен бюджет. Често го определят като алтернатива с отворен код на 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 — уеб приложение, добавено към началния екран. Добре е предварително да проверите мобилния интерфейс, за да се уверите, че ви е удобен.

ПараметърОблачна услугаActual Budget
СъхранениеПри доставчикаНа устройството и на вашия сървър
Работа без интернетЗависи от услугатаОсновните функции са достъпни локално
ПоддръжкаИзвършва се от доставчикаИзвършва се от собственика
Цена на софтуераАбонамент или безплатен планНяма задължителен абонамент
Контрол върху даннитеСпоред политиките на доставчикаКонтролира се от собственика на сървъра

Actual Budget е подходящ за хора, които ценят поверителността и контрола. Облачната услуга е по-удобна, ако не искате да поддържате сървър.

Изисквания към сървъра за Actual Budget

Проектът не публикува строги минимални изисквания за процесор и RAM. Сървърът основно синхронизира малки обеми финансови данни, затова разумна начална конфигурация за един човек или семейство е:

  • 1 vCPU;
  • 1 GB RAM;
  • 10 GB SSD;
  • Ubuntu 24.04 LTS;
  • домейн или поддомейн;
  • външно хранилище за резервно копие.

Това е практическа препоръка, а не официален минимум. Ако планирате да стартирате и други контейнери, по-добре отделете 2 GB RAM.

Как да инсталирате Actual Budget на VPS

В примера се използват Ubuntu 24.04 и поддомейнът budget.example.com.

1. Подгответе сървъра

Създайте DNS запис A, който сочи към IP адреса на VPS, свържете се през 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 enable

2. Инсталирайте 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-plugin

3. Стартирайте 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 не позволява порт 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 caddy

Когато DNS сочи към VPS и портове 80 и 443 са достъпни, Caddy автоматично получава TLS сертификат. Отворете https://budget.example.com и задайте дълга парола за сървъра.

Как да настроите първия си бюджет

Не е необходимо да започвате с импортиране на история за няколко години. По-бързо е да добавите използваните в момента сметки, да въведете текущите им баланси и да създадете категории за задължителни плащания, ежедневни разходи, спестявания и нередовни разходи.

Разпределяйте само наличните пари, докато сумата „За бюджетиране“ достигне нула. След това импортирайте последните транзакции, проверете балансите и създайте правила за често използвани магазини, абонаменти и преводи.

Категориите трябва да ви помагат да вземате решения. Отделни пликове за „здравеопазване“, „ремонт на устройства“ и „годишни абонаменти“ са по-полезни от една обща категория „разни“.

Какво трябва да знаете за банковата синхронизация

Банковите връзки не са достъпни във всяка държава и зависят от поддържания API доставчик. Те изискват собствен сървър и допълнителни идентификационни данни. Actual Budget не изпълнява синхронизацията напълно автоматично: потребителят я стартира от интерфейса.

Токените за банковите връзки се съхраняват отделно на сървъра и не са защитени от криптирането от край до край на бюджета. Ако дадена банка не се поддържа, транзакциите могат да се импортират от извлечение. OFX и QFX обикновено са по-удобни от CSV, защото съдържат идентификатори на транзакциите.

Криптиране, резервни копия и обновявания

Криптирането от край до край се активира отделно за всеки бюджет. Съхранявайте паролата в мениджър на пароли, защото сървърът не може да я възстанови. Actual Budget не криптира самостоятелно локалното си копие, затова телефонът и компютърът трябва да бъдат защитени с код за отключване и криптиране на диска.

Синхронизацията не заменя резервното копие. Редовно експортирайте бюджета от настройките и копирайте директорията с данни на друго място:

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

За редовна употреба изберете стабилния таг latest, а не експерименталния таг nightly.

Кой VPS да изберете за Actual Budget?

Личната инсталация не се нуждае от мощен сървър. Базов Linux VPS от tropic.host е достатъчен за Actual Budget, Caddy и поддомейн с HTTPS. Разумно е да започнете с 1 GB RAM и да увеличите ресурсите само когато добавите други услуги за самостоятелно хостване.

Не излагайте порт 5006 директно в интернет, инсталирайте обновяванията и съхранявайте поне едно резервно копие извън основния VPS. Сигурността на самостоятелно хостваната услуга зависи от начина, по който собственикът я конфигурира.

Ограничения на Actual Budget

Actual Budget изисква самостоятелна поддръжка. Банковата синхронизация е ограничена от държавата и доставчика, мобилната версия работи като PWA, а загубата на паролата за криптиране може да направи бюджета недостъпен.

Услугата няма да е подходяща за всички, но решава добре конкретна задача: съчетава бюджетиране с пликове, автоматизация и контрол върху данните ви, без да изисква абонамент.

Обобщение

Actual Budget превръща проследяването на разходите в план: всяка получена сума предварително получава предназначение. Приложението работи локално, синхронизира се през ваш собствен сървър и поддържа импортиране, правила, отчети и криптиране.

За работата му е достатъчен малък VPS. След инсталирането най-важните стъпки са да активирате HTTPS, да съхранявате паролата за криптиране на сигурно място и да настроите външно резервно копие.

FAQ

Безплатен ли е Actual Budget?

Да. Приложението е с отворен код и не изисква задължителен абонамент. VPS, домейнът и хранилището за резервни копия се заплащат отделно.

Трябва ли да инсталирам Actual Budget на VPS?

Не. Можете да го използвате локално на един компютър. Сървър е необходим за синхронизация между устройства, банкови връзки, API достъп и постоянен достъп през уеб.

Мога ли да свържа Actual Budget с банковата си сметка?

Да, ако банката и регионът се поддържат от някой от наличните доставчици. В противен случай транзакциите могат да се импортират от файлове CSV, QIF, OFX, QFX или CAMT.

Безопасно ли е да съхранявам бюджет на собствен сървър?

Да, когато е конфигуриран правилно, но собственикът отговаря за сигурността. Нужни са HTTPS, дълга парола, криптиране, обновявания и външни резервни копия.

Колко RAM е необходима на Actual Budget?

Няма официален минимум. За лична инсталация 1 GB RAM е практична отправна точка; ако хоствате и други услуги, по-добре отделете 2 GB.