В какой‑то момент у меня накопилось несколько VPS у разных провайдеров. Не десятки, но уже достаточно, чтобы каждый месяц ловить себя на одной и той же мысли: «А этот сервер когда оплачивать?»

Ссылка на биллинг — где‑то в закладках. Дата продления — в Telegram. Пароль от кабинета — в другом месте. Таблицы, заметки, все разбросано. Пока серверов немного, это ещё работает. Когда их перевалило за 15, начинаешь постоянно все терять. Кто хостер, а что там крутится, вкладки, вкладки, вкладки!

Так появилась идея: сделать личный кабинет для своих серверов.

Панель не проводит платежи и не хранит банковские карты. Она напоминает о сроках, держит ссылки на оплату, показывает статус серверов — «в порядке», «скоро», «срочно», «просрочено» — и при желании подтягивает данные из API провайдера. Только на чтение.

Репозиторий:
https://github.com/AlekseyRusaleev/Server‑billing

Релиз v1.0.0:
https://github.com/AlekseyRusaleev/Server‑billing/releases/tag/v1.0.0

Лицензия: MIT. Проект open source.

Что получилось

Я не хотел делать простыню из 40 пунктов, поэтому опишу главное.

Дашборд

Основная идея — один экран, на котором видно всё важное: серверы, ближайшие оплаты и фильтры.

У каждого сервера есть IP, логин, зашифрованный пароль, дата следующего платежа, кнопка перехода к оплате и кнопка «отметить оплачено». При отметке оплаты дата переносится вперёд, а действие записывается в историю.

Несколько VPS можно привязать к одному аккаунту хостинга. Например, один логин у провайдера — и несколько машин внутри него.

Telegram‑напоминания

Напоминания настраиваются за 7, 3, 1, 0 и −1 день до оплаты. Также есть сводки после автосинхронизации и backup базы.

Backup отправляется не сырым SQLite‑файлом, а зашифрованным.db.enc.

Для Telegram‑бота сделал мастер настройки прямо в панели: token → «найти мой чат» → тестовое сообщение. Вручную копировать chat ID необязательно.

Провайдеры и синхронизация

Есть три режима работы:

1. Полностью ручной режим — подходит для любого хостера без API.

2. BILLmanager‑совместимый API.

3. Web API по ключу.

Синхронизация ничего не оплачивает и не меняет у провайдера. Она только подтягивает данные: даты, IP, суммы и статусы.

Если какие‑то поля были исправлены вручную, для сервера можно включить флаг «не перезаписывать при автосинхронизации».

Остальные функции

Из того, чем я реально пользуюсь или что добавлял под запросы:

· календарь оплат;

· аналитика по месяцам;

· валюты RUB / USD / EUR / USDT;

· мониторинг SSL;

· веб‑SSH из браузера;

· каталог хостеров с фильтрами.

Веб‑SSH есть, но по умолчанию выключен.

Каталог хостеров — скорее витрина и набор шаблонов, чем мой личный список.

Установка

На чистом Linux VPS установка запускается одной командой:

curl ‑fsSL https://raw.githubusercontent.com/AlekseyRusaleev/Server‑billing/main/scripts/install.sh | bash

Install‑скрипт спрашивает домен. Если домена нет, можно использовать адрес через sslip.io: получится что‑то вроде https://ВАШ_IP.sslip.io. TLS поднимается через Caddy.

Также скрипт попросит:

· логин администратора;

· пароль администратора;

· отдельный пароль разблокировки ключей шифрования.

Последний пароль — это не пароль от панели. Он нужен для расшифровки секретов в базе. Минимальная длина — 12 символов. Его важно сохранить: без него расшифровать данные не получится.

Стек проекта:

· Python 3.12;

· FastAPI;

· SQLite;

· Docker Compose;

· Caddy.

Если 443 порт уже занят nginx, есть отдельный compose‑вариант под nginx.

Кому это подойдёт

Проект подойдёт, если у вас несколько VPS у разных хостеров и вы хотите self‑hosted‑панель без подписки.

Основной сценарий:

· хранить список серверов;

· видеть ближайшие оплаты;

· получать напоминания;

· держать ссылки на биллинг;

· вести историю оплат;

· при необходимости синхронизироваться с API провайдера.

Не подойдёт, если вам нужны:

· multi‑user;

· роли и права доступа;

· биллинг клиентов;

· приём платежей;

· полноценная CRM для хостинга.

Это одна учётная запись администратора. Так задумано специально.

Зачем выкладываю на Habr

Я не продаю SaaS и не ищу инвестора.

v1.0.0 — первая версия, которой уже не стыдно делиться: есть Docker, one‑liner install, Telegram‑напоминания, синхронизация, backup и нормальная базовая безопасность.

Если проект кому‑то сэкономит нервы на продлениях серверов — уже хорошо.

Star на GitHub помогает другим админам наткнуться на репозиторий. Не обязательно, но полезно для проекта.

P. S. Если проект оказался полезен, можно поддержать через Telegram Stars: @AlekseyRdonate_bot. Это необязательно, но будет приятно, ведь так я пойму, что кому‑то помог.

Комментарии (6)


  1. AnyDen
    16.06.2026 14:06

    Мне нравится идея, у самого пока vps мало, 5 штук в разных хостингах. И пока проблема больше не с напоминанием об оплате, а что где установлено и как настроено, т.е. какие сервисы, на каких протоколах и портах. Уже приходится вести ексель табличку, где в том числе и инфа об оплате (сроки и стоимость). Есть ли возможность заносить дополнительные данные?


    1. AlekseyRus Автор
      16.06.2026 14:06

      Да, есть возможность добавить аккаунт провайдера, добавить сервера, которые там находятся, с указанием данных для подключения. Вся необходимая информация доступна для добавления.


  1. igrblkv
    16.06.2026 14:06

    Скрипт для Проксмокса для развёртывания в LXC?
    Готовая виртуалка для развёртывания у себя?

    Не очень понятно, зачем её именно на VPS?
    Сколько надо ресурсов? 1vCPU/1GB RAM/10GB HDD хватит или не запуститься даже?
    А если 512М RAM?


    1. AlekseyRus Автор
      16.06.2026 14:06

      Отличное замечание. Впс не обязателен, панель действительно легко можно установить к себе через lxs контейнер. У меня она крутится на еу впс просто, чтобы не заморачиваться с туннелями для работы тг, так как личный сервер стоит в рф. Скрипт для проксмы сейчас добавлю. Для работы хватит 1 ядра 1 гб оперативной памяти и 10гб дискового пространства


  1. Kenya-West
    16.06.2026 14:06

    ... Docker, one‑liner install, Telegram‑напоминания, синхронизация, backup и нормальная базовая безопасность.

    Star на GitHub

    Смотря какой performance, смотря какая stability.

    Но за старание вам плюс автоматом! Надо потом бекенд отделить от дашборда и прикрутить к Grafana и Alert manager.


  1. bosha
    16.06.2026 14:06

    Простите, а чем почта не угодила? Не встречал еще ни одного хостера, который бы не умел слать уведомления с напоминанием об оплате.