Сервер для домашнего использования, с целью замены 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 — главный функционал вашего сервера. Есть несколько типов:
- Main сервер. Основной сервер, координирующий другие. Если он отключён... отключён весь функционал.
- Files сервер. Используется для сохранения файлов.
- Music сервер. Используется для сохранения и прослушивания музыки (дальнейший функционал в стадии размышлений)
- Images сервер. Используется для сохранения и просмотра изображений.
- LLM сервер. Используется для общения с ИИ-агентами.
Список готовых подсерверов:
| Subserver | available |
|---|---|
| Main | ✔️ |
| Files | ✔️ |
| Music | ❌ |
| Images | ❌ |
| LLM | ❌ |
MHServer API доступен на вики
Также доступна спецификация OpenAPI для подключения к MHServer API. Вы можете использовать её для создания своих собственных клиентов.
Вы можете воспользоваться скриптом настройки сертификата:
cd /opt/mhserver/scripts
./create-ssl-cert.shВы также можете использовать данный скрипт для просмотра срока жизни вашего сертификата.
Вы можете получить больше ключей регистрации, воспользовавшись скриптом:
cd /opt/mhserver/scripts
./generate_reg_keys.sh --db_pass=пароль_от_базы данных_сервера