Actual Budget: власний менеджер особистого бюджету на VPS
Банківський застосунок показує, куди вже пішли ваші гроші. Actual Budget відповідає на інше запитання: скільки з доступного залишку насправді можна витратити, якщо частина коштів уже призначена для оренди, продуктів, відпустки та непередбачених витрат?
Actual Budget — безплатний менеджер особистих фінансів із відкритим кодом. Він працює локально, синхронізується через ваш власний сервер і підтримує наскрізне шифрування. У цьому посібнику розглянемо його можливості та обмеження, а також встановимо його на VPS.
Actual Budget за сім кроків
- Створіть Linux VPS і спрямуйте на нього піддомен, наприклад
budget.example.com. - Встановіть Docker і Docker Compose.
- Запустіть офіційний контейнер зі збереженням даних у постійному каталозі.
- Увімкніть HTTPS через Caddy.
- Встановіть пароль сервера та створіть бюджет.
- Додайте рахунки, категорії, правила й регулярні платежі.
- Увімкніть шифрування та налаштуйте зовнішню резервну копію.
Що таке 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 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 не дає напряму відкрити порт 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 ГБ.
