Sign inSign up

trueold89/spnstats

By trueold89

Updated 6 months ago

SLSKD (Soulseek self-host server) + Navidrome Stats parser API

Image
0

359

trueold89/spnstats repository overview

SpNStats


Caution

Приложение ещё в разработке и не рекомендуется к развёртыванию в текущем состоянии

SLSKD (Soulseek self-host server) + Navidrome Stats parser API

FastAPI сервер, который получает список загрузок с сервера SLSKD и объединяет их с мета-данными с сервера Navidrome, позволяя просматривать статистику по конкретным песням/альбомам/исполнителям и т.п.

dev-ветка / пакеты доступны только на codeberg.org

Конфигурация


Конфигурация производится через переменные среды окружения (ENV)

Название переменнойОписаниеТип данныхЗначение поумолчанию
SPNSTATS_SLSKD_hostАдрес Slskd сервераURLhttp://localhost:5030
SPNSTATS_SLSKD_usernameИмя пользователя Slskd сервераСтрока
SPNSTATS_SLSKD_passwordПароль пользователя Slskd сервераСтрока
SPNSTATS_SLSKD_connection_timeoutМаксимальное время установки соединенияЦелочисленное10
SPNSTATS_SLSKD_read_timeoutМаксимальное время чтения данныхЦелочисленное3600
SPNSTATS_SLSKD_filename_cut_indexИндекс отбрасываемой части директорииЦелочисленное0
SPNSTATS_NAVIDROME_hostАдрес Navidrome сервераURLhttp://localhost:5432
SPNSTATS_NAVIDROME_usernameИмя пользователя Navidrome сервераСтрока
SPNSTATS_NAVIDROME_passwordПароль пользователя Navidrome сервераСтрока
SPNSTATS_NAVIDROME_connection_timeoutМаксимальное время установки соединенияЦелочисленное
SPNSTATS_NAVIDROME_read_timeoutМаксимальное время чтения данныхЦелочисленное3600
SPNSTATS_NAVIDROME_filename_cut_indexИндекс отбрасываемой части директорииЦелочисленное0
SPNSTATS_LOG_LEVELУровень логовWARN / INFO / DEBUG / ERRORWARN
SPNSTATS_DB_URLURL подключения к базе данныхСтрокаsqlite+aiosqlite:///spnstats.sqlite
SPNSTATS_API_rootПуть к APIСтрока/
SPNSTATS_API_cors_originsХосты CORSСписок строк["*"]
SPNSTATS_API_enable_docsДоступность документацииБулевоFalse
SPNSTATS_API_enable_openapiДоступность спецификации OpenAPIБулевоFalse

Деплой


Docker (Рекомендуется)

Готовый образ

  1. Загрузите Docker образ
docker pull codeberg.org/trueold89/spnstats:latest
  1. Загрузить docker-compose файл
wget https://codeberg.org/trueold89/SpNStats/raw/branch/master/docker-compose.yaml
  1. Отредактируйте compose файл под свои нужды, заменив плейсхолдеры и добавив необходимые ENV значения (см. выше)

  2. Запустите docker стак

docker compose up -d
Сборка образа

  1. Склонируйте репозиторий
git clone https://codeberg.org/trueold89/SpNStats.git && cd SpNStats
  1. Соберите образ
docker buildx build -t spnstats:latest .
  1. Загрузить docker-compose файл
wget https://codeberg.org/trueold89/SpNStats/raw/branch/master/docker-compose.yaml
  1. Отредактируйте compose файл под свои нужды, заменив плейсхолдеры и образ на ваш, добавьте необходимые ENV значения (см. выше)

  2. Запустите docker стак

docker compose up -d
Python

  1. Склонируйте репозиторий
git clone https://codeberg.org/trueold89/SpNStats.git && cd SpNStats
  1. Создайте виртуальное окружение
python -m venv .venv
  1. Активируйте виртуальное окружение

sh

. .venv/bin/activate

bash

source .venv/bin/activate

fish

source .venv/bin/activate.fish
  1. Установите пакет
pip install .
  1. Установите значения ENV (см. выше) Пример
export SPNSTATS_LOG_LEVEL=INFO \\
export SPNSTATS_DB_URL=sqlite+aiosqlite:///spnstats.sqlite \\
export SPNSTATS_NAVIDROME_host=... \\
export SPNSTATS_NAVIDROME_password=... \\
export SPNSTATS_NAVIDROME_username=... \\
export SPNSTATS_SLSKD_host=... \\
export SPNSTATS_SLSKD_password=... \\
export SPNSTATS_SLSKD_username=... \\
  1. Запустите uvicorn сервер
uvicorn --host 127.0.0.1 --port 8000 spnstats.api:api 

Доп. информация


Для работы необходимы развернутые инстансы других открытых приложений, поддержите их репозитории:

Брендинг репозитория был выполнен в Penpot

Исходники оформления также доступны > .branding/spnstats.penpot

Warning

Это не официальный продукт Soulseek. Проект не связан с slsknet.org или другими правообладателями и не получает от них поддержки.

Tag summary

Content type

Image

Digest

sha256:470fe1711

Size

51 MB

Last updated

6 months ago

docker pull trueold89/spnstats