Skip to content

braginantonev/mhserver

Repository files navigation

MHServer

Сервер для домашнего использования, с целью замены Google Drive, Yandex Disk и т.д.

Системные требования

  • Linux с systemd
  • 500+ MB ОЗУ

Зависимости

Установить зависимости вы можете с помощью пакетного менеджера вашего дистрибутива. Пример для Arch Linux:

sudo pacman -S mariadb

Установка

Скайте последнюю версию из списка релизов сервера, распакуйте скачанный архив и запустите скрипт настройки:

mkdir /tmp/mhserver-build && tar -zxvf путь_до_архива/mhserver.tar.gz -C /tmp/mhserver-build
cd tmp/mhserver-build/scripts
./setup.sh

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

Warning

Если вы обновляете уже созданную конфигурацию при помощи скрипта, обязательно переносите jwt_signature и db_pass поля из старой конфигурации.

Также вам будет предложено указать адрес главного сервера. Используйте localhost для тестирования. Для остальных случаев используйте постоянный, белый ip, домен прикреплённый к тому же белому либо постоянно меняющемуся "серому" ip с помощью DynDNS. В третьем случае, общаться с сервером вы сможете только в локальной сети.

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

sudo systemctl enable --now mhserver.service

Сервер хранит конфигурацию в /usr/share/mhserver/mhserver.conf. Вы можете редактировать её в любое время.

Использование

Пропустите этот этап, если вы на этапе настройки согласились запустить сервис сервера.

Чтобы запустить сервер, перейдите в каталог с исполняемым файлом и запустите его:

cd /opt/mhserver
sudo ./mhserver

Права суперпользователя обязательны, для чтения конфигурационного файла.


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

Caution

Каждый ключ регистрации — одноразовый. Чтобы получить больше, используйте скрипт.

Общая информация

Workspace path — место в котором будут сохраняться файлы сервисов (файлового, музыкального и т.д.). Соответственно, это то место, где вы будете хранить свои файлы.

Server database password — пароль для базы данных сервера. В ней хранятся учётные данные пользователей и т.д.

Available server RAM percentage — размер (в процентах) оперативной памяти доступный для сервера. Рекомендую устанавливать значение не больше 90.

SubServers — главный функционал вашего сервера. Есть несколько типов:

  1. Main сервер. Основной сервер, координирующий другие. Если он отключён... отключён весь функционал.
  2. Files сервер. Используется для сохранения файлов.
  3. Music сервер. Используется для сохранения и прослушивания музыки (дальнейший функционал в стадии размышлений)
  4. Images сервер. Используется для сохранения и просмотра изображений.
  5. LLM сервер. Используется для общения с ИИ-агентами.

Список готовых подсерверов:

Subserver available
Main ✔️
Files ✔️
Music
Images
LLM

API

MHServer API доступен на вики

Также доступна спецификация OpenAPI для подключения к MHServer API. Вы можете использовать её для создания своих собственных клиентов.

FAQ

Как продлить TLS или корневой сертификат, если они просрочены?

Вы можете воспользоваться скриптом настройки сертификата:

cd /opt/mhserver/scripts
./create-ssl-cert.sh

Вы также можете использовать данный скрипт для просмотра срока жизни вашего сертификата.

Как получить больше ключей регистрации?

Вы можете получить больше ключей регистрации, воспользовавшись скриптом:

cd /opt/mhserver/scripts
./generate_reg_keys.sh --db_pass=пароль_от_базы данных_сервера

About

My home server

Topics

Resources

License

Stars

Watchers

Forks

Contributors