Wallos: устанавливаем собственный менеджер подписок на VPS
Отдельные подписки редко кажутся дорогими: несколько долларов за облачное хранилище, музыка раз в месяц, домен раз в год, VPN, AI-сервис или рабочий инструмент. Проблема становится заметной позже — когда платежи проходят в разные даты, с разных карт и в разных валютах, а бесплатный пробный период незаметно превращается в платный тариф.
Wallos объединяет регулярные расходы в одной панели, показывает предстоящие списания, рассчитывает статистику и заранее отправляет напоминания. Приложение можно разместить на собственном VPS и не передавать стороннему финансовому сервису полный список расходов.
Ниже объясним, чем Wallos отличается от таблицы, какой сервер ему нужен и как установить приложение с помощью Docker Compose.
Что такое Wallos?
Wallos — бесплатное веб-приложение с открытым исходным кодом для учета подписок и регулярных платежей. Его можно установить на домашнем сервере, NAS или VPS и открывать в обычном браузере.
Каждая подписка становится карточкой с названием, ценой, валютой, интервалом оплаты, датой следующего платежа, категорией и способом оплаты. Вместо десятков писем и записей в банковской выписке вы получаете единый календарь обязательных расходов.
Wallos не является интернет-банком и не отменяет подписки от вашего имени. Платежи нужно один раз внести вручную, а затем обновлять запись при изменении тарифа, цены или даты списания. Это требует небольшой дисциплины, зато приложению не нужен доступ к банковскому счету.
Зачем нужен менеджер подписок?
Таблица тоже может хранить название сервиса и его цену. Сложности начинаются, когда одновременно используются месячные, квартальные и годовые тарифы.
Подписка стоимостью €120 в год воспринимается иначе, чем подписка за €10 в месяц, хотя общие расходы одинаковы. Wallos сводит платежи в единое представление и помогает увидеть, сколько небольшие сервисы стоят в месяц или год.
Приложение особенно полезно, если:
- у вас накопилось много цифровых подписок, доменов, VPS и SaaS-сервисов;
- платежи выполняются в нескольких валютах;
- семья использует общие тарифы и разные карты;
- фрилансер или команда оплачивает рабочие инструменты в разные даты.
Наибольшую пользу Wallos приносит до списания. Если напоминание приходит заранее, остается время отменить ненужный тариф.
Основные функции Wallos
Категории, способы оплаты и члены семьи
Записи можно распределять по пользовательским категориям: развлечения, работа, инфраструктура, связь или образование. Способы оплаты и членов семьи настраивают отдельно. Благодаря этому проще отделить рабочие расходы от личных или найти подписки, связанные с конкретной картой.
Календарь, статистика и бюджет
Wallos показывает будущие платежи и визуализирует расходы. Календарь помогает заметить месяцы с большим числом ежегодных продлений, а статистика показывает, какие категории требуют больше всего денег.
Несколько валют
Подписки можно хранить в разных валютах и пересчитывать в основную. Для автоматического обновления курсов поддерживается Fixer API. Это удобно, когда одни сервисы оплачиваются в долларах США, другие — в евро, а бюджет ведется в другой валюте.
Напоминания перед списанием
Напоминания можно получать по электронной почте, через Telegram, Discord, Pushover, Gotify и вебхуки. Telegram или электронная почта удобны для личного сервера, а вебхук позволяет подключить Wallos к системе автоматизации или собственному боту.
Несколько пользователей и поддержка русского языка
Один экземпляр Wallos может содержать несколько учетных записей. Интерфейс переведен на многие языки, включая русский. Также доступны двухфакторная аутентификация и единый вход OIDC/OAuth.
API и рекомендации с помощью AI
Wallos предоставляет API для пользовательских интеграций. В актуальных версиях поддерживаются рекомендации через ChatGPT, Gemini или локальный экземпляр Ollama.
Эта функция необязательна. Для максимальной конфиденциальности используйте локальную модель или отключите AI: при обращении к внешнему провайдеру необходимые для запроса данные обрабатываются за пределами вашего VPS.
Wallos, таблица или облачный трекер?
| Параметр | Таблица | Облачный трекер | Wallos |
|---|---|---|---|
| Календарь платежей | Требует настройки | Обычно доступен | Доступен |
| Напоминания | Требуют автоматизации | Обычно доступны | Доступны |
| Несколько валют | Формулы или плагины | Зависит от сервиса | Доступны |
| Данные на собственном сервере | При локальном хранении | Нет | Да |
| Обслуживание | Минимальное | Выполняет провайдер | Выполняет владелец |
| Доступ к банку | Не требуется | Иногда требуется | Не требуется |
Wallos подойдет тем, кто перерос обычную таблицу, но не хочет подключать банковские счета к стороннему сервису. Цена контроля — самостоятельная забота об обновлениях, безопасности сервера и резервных копиях.
Требования Wallos к серверу
В официальной документации не указаны точные минимальные требования к CPU и RAM; для установки в контейнере нужен Docker. Wallos использует PHP и локальную базу SQLite, поэтому личному экземпляру не нужен мощный сервер.
Практичная стартовая конфигурация:
- 1 vCPU;
- 1 GB RAM;
- 10 GB SSD или NVMe;
- актуальная Linux-система;
- доменное имя, если нужен постоянный доступ из интернета.
Для контейнера может хватить 512 MB памяти, но тогда на VPS останется мало запаса для операционной системы, Docker и обратного прокси. Конфигурация с 2 GB RAM будет комфортнее, если рядом будут работать Nginx и другие небольшие приложения.
Установка Wallos на VPS с Docker Compose
Предполагается, что Docker Engine и плагин Docker Compose уже установлены. Выполняйте команды с правами sudo.
Шаг 1. Создайте каталог
sudo mkdir -p /opt/wallos
cd /opt/wallosШаг 2. Создайте Compose-файл
sudo nano compose.ymlservices:
wallos:
container_name: wallos
image: bellamy/wallos:latest
ports:
- "127.0.0.1:8282:80"
environment:
TZ: "Europe/Berlin"
volumes:
- "./db:/var/www/html/db"
- "./logos:/var/www/html/images/uploads/logos"
restart: unless-stoppedУкажите собственный часовой пояс в TZ. Каталоги db и logos хранятся за пределами контейнера, поэтому база данных и логотипы сохранятся после обновления образа.
Порт привязан к 127.0.0.1, поэтому панель не открыта в интернет напрямую. Внешний доступ мы настроим через Nginx и HTTPS.
Шаг 3. Запустите контейнер
sudo docker compose up -d
sudo docker compose psЧтобы посмотреть ошибки:
sudo docker compose logs --tail=100 wallosШаг 4. Подключите домен и включите HTTPS
Направьте DNS-запись домена на IP-адрес VPS, затем установите Nginx и Certbot:
sudo apt update
sudo apt install -y nginx certbot python3-certbot-nginx
sudo nano /etc/nginx/sites-available/wallosДобавьте следующую конфигурацию:
server {
listen 80;
server_name wallos.example.com;
location / {
proxy_pass http://127.0.0.1:8282;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}Включите сайт и получите сертификат:
sudo ln -s /etc/nginx/sites-available/wallos /etc/nginx/sites-enabled/wallos
sudo nginx -t
sudo systemctl reload nginx
sudo certbot --nginx -d wallos.example.comПанель будет доступна по адресу https://wallos.example.com.
Первоначальная настройка
При первом открытии Wallos создайте учетную запись, затем:
- выберите основную валюту;
- настройте категории и способы оплаты;
- при необходимости добавьте членов семьи;
- включите двухфакторную аутентификацию;
- подключите уведомления и отправьте тестовое сообщение;
- добавьте несколько действующих подписок.
Особенно внимательно проверьте интервал оплаты и дату следующего платежа: от этих значений зависят напоминания и прогнозы.
Не храните в заметках полные номера карт, пароли или коды восстановления. Wallos отслеживает платежи, но не является менеджером паролей.
Обновления и резервные копии
Чтобы обновить контейнер, выполните:
cd /opt/wallos
sudo docker compose pull
sudo docker compose up -d
sudo docker image prune -fПеред обновлением создайте резервную копию. Важные данные находятся в каталогах db и logos:
cd /opt/wallos
sudo docker compose stop
sudo tar -czf /root/wallos-backup-$(date +%F).tar.gz db logos compose.yml
sudo docker compose startПеренесите архив на другое устройство или в отдельное хранилище. Резервная копия на том же VPS не поможет, если сервер удалят или диск выйдет из строя.
Где лучше запускать Wallos?
Домашний сервер подойдет для локального доступа, если он работает круглосуточно. VPS удобнее, когда панель должна открываться с телефона и компьютера из любой точки, а напоминания должны приходить независимо от состояния домашнего интернет-соединения.
Wallos не требует дорогой конфигурации. На tropic.host можно начать с небольшого Linux VPS с 1–2 GB RAM, установить Docker и разместить панель за Nginx с HTTPS. Если позже вы добавите другие self-hosted-сервисы, ресурсы можно увеличить без переноса Wallos на новую машину.
VPS не отменяет базовые требования безопасности: обновляйте контейнер и операционную систему, не открывайте ненужные порты, используйте надежный пароль, включите 2FA и храните резервные копии отдельно.
Заключение
Wallos решает узкую, но неприятную проблему: регулярные платежи перестают быть незаметными. Вместо разрозненных писем, выписок и напоминаний вы получаете одну панель с датами, валютами, категориями и уведомлениями.
Сервис полезен людям с большим числом цифровых подписок, семьям, фрилансерам и небольшим командам. Данные нужно вводить вручную, зато финансовая картина пользователя остается на его собственном сервере.
FAQ
Можно ли использовать Wallos бесплатно?
Да. Wallos — программное обеспечение с открытым исходным кодом, распространяемое по лицензии GPLv3. Оплачивать нужно только инфраструктуру, если приложение размещено на VPS.
Может ли Wallos автоматически найти подписки, связанные с банковской картой?
Нет. Записи добавляются вручную. Приложению не нужен доступ к банковскому счету.
Какой VPS нужен Wallos?
Для личного использования обычно достаточно 1 vCPU и 1 GB RAM. Сервер с 2 GB RAM оставляет дополнительный запас для Nginx, обновлений и других легковесных контейнеров.
Есть ли в Wallos русский язык?
Да. В проекте есть русская локализация, которую можно выбрать в настройках интерфейса.
Что нужно скопировать для восстановления Wallos?
Сохраните каталоги db и logos, а также файл compose.yml. Резервную копию следует хранить за пределами VPS.
