NX Дополнения

NX Shop

от NX · shop
Официальные

Продажа тарифов панели: Telegram-бот, веб- и мини-приложение; чеки с карты на карту, банковские SMS и свои шлюзы; кошелёк, продления, коды, рефералы и агенты; отчёты и шифрованный бэкап — на четырёх языках.

Установка

Вручную

На сервере, где будет дополнение, выполните от root:

Как служба (без Docker)

curl -fsSL https://raw.githubusercontent.com/nx-panel/shop/v0.1.1/install.sh -o install.sh
sh install.sh --method script --version v0.1.1 \
  --opt port=8095 \
  --opt database=sqlite \
  --opt admin_username=admin \
  --opt admin_password=<admin_password> \
  --opt https=panel \
  --panel-url https://<your-panel>

С Docker

curl -fsSL https://raw.githubusercontent.com/nx-panel/shop/v0.1.1/install.sh -o install.sh
sh install.sh --method docker --version v0.1.1 \
  --opt port=8095 \
  --opt database=sqlite \
  --opt admin_username=admin \
  --opt admin_password=<admin_password> \
  --opt https=panel \
  --panel-url https://<your-panel>

Затем в панели откройте «Дополнения → Зарегистрировать подписанное» и укажите адрес дополнения и код привязки, который оно показывает.

Параметры установки

ПараметрТипПо умолчанию
Порт
Shop слушает здесь. С HTTPS этот порт отдаёт только его: публичный адрес называет этот порт (443 для acme).
NX_OPT_PORT
port8095
Путь админки
Админка Shop и вызовы панели — под этим путём; страницы клиентов в корне и его не показывают. Пусто — корень.
NX_OPT_BASE_PATH
path—
База данных
SQLite хранит всё в каталоге данных Shop. PostgreSQL — сервер, который у вас уже есть.
NX_OPT_DATABASE
choice: sqlite | postgressqlite
Подключение к PostgreSQL
host=… user=… password=… dbname=… sslmode=…
NX_OPT_DATABASE_DSN
secret—обязательно · только если database = postgres
Логин администратора Shop
NX_OPT_ADMIN_USERNAME
stringadmin
Пароль администратора Shop
Не короче 10 символов. Создаёт первого администратора и задаётся снова при новой установке поверх данных; потом смените его в Shop.
NX_OPT_ADMIN_PASSWORD
password—обязательно
Публичный адрес Shop
Адрес, по которому клиенты открывают Shop, например https://shop.example.com:8095. С HTTPS он нужен сразу и называет порт Shop (без порта — 443). Мини-приложению Telegram нужен https.
NX_OPT_PUBLIC_URL
url—
Сертификат HTTPS
panel: сертификат панели, любой порт. acme: бесплатный, порт 443. acme-http: то же, любой порт, проверка на 80. self-signed: свой, панель покажет его. off: HTTP за вашим прокси.
NX_OPT_HTTPS
choice: panel | acme | acme-http | self-signed | offpanel
Токен Telegram-бота
От @BotFather. Необязательно: бота можно задать позже в Shop. Нужен отдельный бот, не бот панели.
NX_OPT_BOT_TOKEN
secret—

Что оно просит у панели

ПравоЗачем
users:readto read back the accounts it sold, and their usage
users:writeto create the accounts customers buy, and renew or top them up
backup:deliverto send Shop's own encrypted backup to the backup chat you chose on the panel

События

panel.addon_removeduser.deleteduser.bulkuser.expiringuser.expireduser.quota_warninguser.quota_reacheduser.renewedpanel.restore_applied