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 — це 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 — вебзастосунок, доданий на головний екран. Варто заздалегідь перевірити мобільний інтерфейс, щоб переконатися, що він вам підходить.

ПараметрХмарний сервісActual Budget
ЗберіганняУ провайдераНа пристрої та вашому сервері
Офлайн-використанняЗалежить від сервісуОсновні функції доступні локально
ОбслуговуванняВиконує провайдерВиконує власник
Вартість програмного забезпеченняПідписка або безплатний планОбов’язкової підписки немає
Контроль над данимиВідповідно до політик провайдераКонтролює власник сервера

Actual Budget підходить людям, які цінують приватність і контроль. Хмарний сервіс буде зручнішим, якщо ви не хочете обслуговувати сервер.

Вимоги Actual Budget до сервера

Проєкт не публікує суворих мінімальних вимог до CPU та оперативної пам’яті. Сервер переважно синхронізує невеликі обсяги фінансових даних, тому розумною стартовою конфігурацією для однієї людини або сім’ї буде:

  • 1 vCPU;
  • 1 ГБ RAM;
  • 10 ГБ SSD;
  • Ubuntu 24.04 LTS;
  • домен або піддомен;
  • зовнішнє сховище для резервної копії.

Це практична рекомендація, а не офіційний мінімум. Якщо ви плануєте запускати інші контейнери, краще виділити 2 ГБ 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 ГБ RAM цілком розумно; збільшуйте ресурси лише після додавання інших self-hosted-сервісів.

Не відкривайте порт 5006 напряму, встановлюйте оновлення та зберігайте щонайменше одну резервну копію за межами основного VPS. Безпека self-hosted-сервісу залежить від того, як власник його налаштує.

Обмеження 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 ГБ RAM; якщо ви розміщуєте інші сервіси, краще виділити 2 ГБ.