Как развернуть Actual Budget на VPS (Docker + Caddy, HTTPS)
Свой сервер Actual Budget на маленьком VPS с Docker и Caddy. Ваши финансы хранятся на машине, которую вы контролируете, и закрыты HTTPS.
Зачем запускать Actual Budget на своём VPS
Actual Budget — приложение для личных финансов, которое хранит данные локально, а небольшой сервер синхронизирует бюджет между устройствами. Поднять его на VPS можно примерно за десять минут с помощью Docker и Caddy. После этого бюджет живёт на сервере, который вы контролируете, а не в чужой подписке.
Приложению нужно совсем немного. Для семейного бюджета хватит одного vCPU и 1 ГБ памяти. Ещё нужен домен, направленный на сервер: Actual работает только по HTTPS. Домены покупаются отдельно от хостинга.
Как это сделать на Neckrez
- Регистрация - по email (или через Google/GitHub). Без KYC, документов, телефона и карты.
- Пополните баланс криптовалютой - от $15. USDT в сетях BEP20, TON, Polygon или Solana стоит центы комиссии; TRC20 обойдётся на несколько долларов дороже.
- Выберите тариф, локацию и ОС - тарифа Quark (1 vCPU, 1 ГБ, $10/мес) с Ubuntu вполне достаточно. Берите локацию поближе к себе.
- Сервер готов примерно за минуту - полный root и выделенный IPv4.
- Почасовая оплата - удалите сервер в любой момент, и списания прекратятся.
Создайте A-запись budget.example.com на IPv4 сервера, затем зайдите по SSH и установите Docker.
mkdir -p ~/actual && cd ~/actual
curl -fsSL https://get.docker.com | shСоздайте compose-файл, который запускает Actual и Caddy вместе. HTTPS-сертификат Caddy получит сам.
services:
actual:
image: actualbudget/actual-server:latest
restart: unless-stopped
volumes:
- ./data:/data
caddy:
image: caddy:2
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
volumes:
caddy_data:Рядом положите Caddyfile со своим доменом.
budget.example.com {
reverse_proxy actual:5006
}Запустите оба контейнера и убедитесь, что они работают. Затем откройте домен в браузере и задайте пароль сервера.
docker compose up -d
docker compose psСделайте бэкап, прежде чем доверять данные серверу
Все данные лежат в папке data. Время от времени копируйте её с сервера. На серверах Vultr, DigitalOcean и Hetzner можно также создать снапшот по запросу, он хранится 7 дней.
cd ~/actual
tar czf ~/actual-backup-$(date +%F).tgz dataОдна честная оговорка: у Neckrez нет SLA по аптайму и нет компенсаций за простой. Для личного бюджета это нормально, но держите свежую копию вне сервера.
Какой сервер Neckrez подойдёт
Здесь подходит обычный VPS: небольшого облачного сервера более чем достаточно для Actual Budget. Dedicated CPU, где ядра закреплены за вами, имеет смысл, только если на той же машине позже появится постоянная высокая нагрузка, например базы данных или CI-сборки. Правило: начните с самого маленького VPS и увеличивайте его, только когда есть причина.
Оплата криптовалютой хорошо подходит для self-hosting. Одного пополнения хватает на месяцы работы маленького сервера при почасовой оплате. Пополнения окончательные, поэтому вносите только то, что планируете потратить. Подробности об оплате: купить VPS за USDT.
FAQ
Нужен ли домен? Да. Actual требует HTTPS, а Caddy может выпустить сертификат только для настоящего доменного имени, которое указывает на ваш сервер.
Можно ли остановить сервер, чтобы не платить? Нет. Сервер оплачивается, пока он существует, даже остановленный. Сделайте бэкап папки data и удалите сервер, чтобы списания прекратились.
Начать
Тарифы от $10 в месяц, почасовая оплата. Развернуть сервер можно примерно за минуту. Neckrez сдаёт в аренду серверы VPS, Dedicated CPU и bare metal, а также GPU-серверы, когда у провайдера есть свободные мощности, — всё с одного криптобаланса с почасовой оплатой.