Tropic Host

Wallos: встановлення власного менеджера підписок на VPS

5 хв. читання
Tropic
Wallos: встановлення власного менеджера підписок на VPS

Wallos: встановлення власного менеджера підписок на VPS

Підписки рідко здаються дорогими окремо: кілька доларів за хмарне сховище, музика раз на місяць, домен раз на рік, VPN, сервіс ШІ або робочий інструмент. Проблема стає очевидною пізніше — коли платежі розподілені між різними датами, картками й валютами, а безкоштовний пробний період непомітно перетворюється на платний тариф.

Wallos об'єднує регулярні витрати в одній панелі, показує майбутні списання, розраховує статистику й завчасно надсилає нагадування. Застосунок можна розмістити на власному VPS, не передаючи сторонньому фінансовому сервісу повний список витрат.

Нижче пояснимо, чим Wallos відрізняється від таблиці, який сервер йому потрібен і як встановити застосунок за допомогою Docker Compose.

Що таке Wallos?

Wallos — безкоштовний вебзастосунок із відкритим кодом для відстеження підписок і регулярних платежів. Його можна встановити на домашній сервер, NAS або VPS і відкривати у звичайному браузері.

Кожна підписка стає карткою з назвою, ціною, валютою, інтервалом оплати, датою наступного платежу, категорією та способом оплати. Замість десятків листів і записів у банківській виписці ви отримуєте єдиний календар обов'язкових витрат.

Wallos не є онлайн-банком і не скасовує підписки від вашого імені. Платежі потрібно один раз додати вручну, а потім оновлювати щоразу, коли змінюються тариф, ціна або дата списання. Це потребує певної дисципліни, але застосунок не просить доступу до банківського рахунку.

Навіщо потрібен менеджер підписок?

Таблиця також може зберігати назву сервісу та ціну. Складнощі починаються, коли одночасно використовуються місячні, квартальні та річні плани.

Підписка за 120 € на рік відчувається інакше, ніж підписка за 10 € на місяць, хоча загальні витрати однакові. Wallos об'єднує платежі в єдиному представленні й допомагає побачити, скільки група невеликих сервісів коштує на місяць або рік.

Сервіс особливо корисний, коли:

  • ви накопичили багато цифрових підписок, доменів, VPS і SaaS-сервісів;
  • платежі здійснюються в кількох валютах;
  • родина користується спільними планами та різними картками;
  • фрилансер або команда оплачує робочі інструменти в різні дати.

Wallos найцінніший до списання коштів. Коли нагадування надходить завчасно, ще є час скасувати непотрібний план.

Основні можливості Wallos

Категорії, способи оплати та члени родини

Записи можна організувати у власні категорії: розваги, робота, інфраструктура, зв'язок або освіта. Способи оплати та члени родини налаштовуються окремо. Це спрощує розділення бізнес-витрат і особистих або пошук підписок, пов'язаних із конкретною карткою.

Календар, статистика та бюджет

Wallos показує майбутні платежі й візуалізує витрати. Календар допомагає виявити місяці з великою кількістю річних продовжень, а статистика показує, які категорії споживають найбільше грошей.

Кілька валют

Підписки можна зберігати в різних валютах і конвертувати в основну. Для автоматичного оновлення курсів підтримується Fixer API. Це корисно, коли одні сервіси оплачуються в доларах США, інші — в євро, а бюджет ведеться в іншій валюті.

Нагадування перед списанням

Нагадування можна отримувати електронною поштою, через Telegram, Discord, Pushover, Gotify і webhooks. Telegram або email зручні для особистого сервера, а webhook може підключити Wallos до системи автоматизації або власного бота.

Кілька користувачів і підтримка російської мови

Один екземпляр Wallos може містити кілька облікових записів. Інтерфейс перекладено багатьма мовами, зокрема російською. Також доступні двофакторна автентифікація та єдиний вхід OIDC/OAuth.

API та рекомендації ШІ

Wallos надає API для власних інтеграцій. Поточні версії підтримують рекомендації через ChatGPT, Gemini або локальний екземпляр Ollama.

Ця функція необов'язкова. Для максимальної приватності використовуйте локальну модель або вимкніть ШІ: під час використання зовнішнього провайдера необхідні для запиту дані обробляються за межами 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 і reverse proxy. Конфігурація з 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.yml
services:
  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 зберігаються за межами контейнера, тому база даних і логотипи залишаться після оновлення image.

Порт прив'язаний до 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 створіть обліковий запис, а потім:

  1. виберіть основну валюту;
  2. налаштуйте категорії та способи оплати;
  3. за потреби додайте членів родини;
  4. увімкніть двофакторну автентифікацію;
  5. підключіть сповіщення й надішліть тестове повідомлення;
  6. додайте кілька справжніх підписок.

Особливо уважно вкажіть інтервал оплати та дату наступного платежу: від них залежать нагадування й прогнози.

Не зберігайте повні номери карток, паролі чи коди відновлення в нотатках. 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 розв'язує вузьку, але набридливу проблему: регулярні платежі перестають бути невидимими. Замість розрізнених листів, виписок і нагадувань ви отримуєте одну панель із датами, валютами, категоріями та сповіщеннями.

Сервіс корисний людям із багатьма цифровими підписками, родинам, фрилансерам і невеликим командам. Він потребує ручного введення даних, зате фінансовий огляд користувача залишається на власному сервері.

Поширені запитання

Чи можна використовувати Wallos безкоштовно?

Так. Wallos — програмне забезпечення з відкритим кодом, що поширюється за ліцензією GPLv3. Єдині витрати — інфраструктура, якщо застосунок розміщено на VPS.

Чи знаходить Wallos автоматично підписки, пов'язані з банківською карткою?

Ні. Записи додаються вручну. Застосунок не потребує доступу до банківського рахунку.

Який VPS потрібен Wallos?

Для особистого використання зазвичай достатньо 1 vCPU і 1 GB RAM. Сервер із 2 GB RAM дає додатковий запас для Nginx, оновлень та інших легких контейнерів.

Чи доступна в Wallos російська мова?

Так. Проєкт містить російську локалізацію, яку можна вибрати в налаштуваннях інтерфейсу.

Що потрібно скопіювати для відновлення Wallos?

Збережіть каталоги db і logos, а також файл compose.yml. Резервну копію слід зберігати за межами VPS.