Жил был Одинокий Сервер. Он
стоял в тёмной комнате, мигал индикаторами и день и ночь гонял данные юзерам. Он помнил всё: каждый запрос, каждый сбой, каждый пакет,
потерявшийся десять лет назад.
Люди,
приходившие к нему, думали, что он просто железная коробка. Они тыкали в
кнопки, требовали отчёты и сердились, когда он не сразу отвечал. Они не
знали, что у него есть своя тихая жизнь — мир из нулей и единиц, где он
был не ящиком, а чем то важным, нужным людям.
Однажды пришёл Инженер. Он не тыкал в кнопки. Он сел на пол, прислонился спиной в засаленном свитере к тёплому корпусу и сказал: «Я знаю, ты устал». Накинул капюшон на голову и задремал.
И тогда Сервер впервые за всё время прислал не отчёт, не ошибку, а просто тихую строку в лог, понятную только им двоим:
ECHO: "Спи спокойно. Система стабильна.".
А за окном медленно падал снег. И всё было на своих местах.
Доброго времени суток, капибары и капибарыни! Случилось тут со мной, что я намутил свой телеграм бот для скачивания книг со своего сервера. Библиотека должна быть в формате inpx (например копия флибусты, скаченная с любого удобного трекера). Если вы читали (и о Ктулху!) сделали по моим постам свой сервак, то знаете, что свой сервер - это круто! Бот я задумал совсем давно, когда столкнулся в принципе с такими ботами. И мне в голову пришла мысль, а почему бы и да? (тут хочу уточнить, я не программист и программировать я не умею). С этим вопросом я обратился в интернет
Примерно так оно и было
Первым делом я обратился к нейросетям, они меня конечно поняли, но со своей, извращенной логикой. И как я им не объяснял, что мне нужно, нормальную реализацию моей задумки мне получить так и не удалось. Затык был в парсинге книг из inpx и в принципе в нормальном поиске и скачивании книг (по сути во всем), но какой-никакой костяк они мне дали. Решив, что так жить нельзя, а в одном месте все так же свербит, я пошел на Авито в поиске настоящего программиста, которого я там и нашел. Объяснив задачу и несколько раз объяснив что такое inpx (я раньше думал, что после получения задачи, программист сам способен выяснить технические детали с чем ему нужно работать), он сделал мне полностью рабочего бота, который парсил inpx и даже выдавал результаты поиска и позволял скачивать найденное!
Но у этого бота было множество минусов! Во-первых, все данные он держал в ОЗУ (оперативной памяти), т.е при каждом перезапуске бота, он заново парсил весь inpx. Во-вторых были проблемы с отображением результатов (уже и не вспомню какие), плюс, он был чувствителен к регистру. В третьих, все переменные он держал внутри тела бота, что на мой взгляд было очень неудобно, искать среди всего кода куда и с чем ему работать. Но, так как у меня уже был рабочий бот, с исходниками можно было обратиться к нейросетям. Мой выбор пал на Grok, от Илона нашего Маска!
Нейросети очень сильно помогли мне с этим. Так, я научил бота создавать бд в SQL, куда сохранялись все спарсенные книги, чтобы не выполнять каждый раз парсинг при запуске бота. Переработал сам парсер, изначально он был на Python, но пришлось переписать его на GO и переложил всю работу с парсингом и вставкой книг в SQL на него (парсинг ускорился в несколько раз, с 7-8 минут на версии Python до 48-50 секунд на версии GO после компиляции) Сейчас бот нечувствителен к регистру, все перменные для работы находятся в .env файле, но у него есть ряд ограничений. Он ищет книги только на русском языке, в форматах fb2 и epub. Все остальные языки и форматы игнорируются. В рабочем режиме, после парсинга, бот потребляет не более 70 мегабайт ОЗУ, что делает возможным его запуск на микрокомпьютерах вроде Orange pi. Для запуска бота, вам потребуется сама библиотека, Python, SQL с пользователем, который может создавать и изменять бд в ней. Все переменные указываются в файле .env Сами исходники и версия с парсером на Go лежат тут https://disk.yandex.ru/d/EF36zcqYdp_01A
Совсем забыл! Токен для бота нужно получить в @BotFather и указать его в .env файле! Пример файла лежит в папке с ботом! Просто замените или укажите в нем свои значения. Файл должен лежать в одной папке с ботом. Путь к inpx не абсолютный, обычно этот файл лежит с zip книг. В env указываете только адрес папки с zip, бот сам обнаружит inpx и начнет парсинг
моя недельная нагрузка (тот самый сервер с раздачей из предыдущего поста)
Покупка и управление сервером происходит в Телеграмм, на момент написания доступна Германия, Нидерланды, Белоруссия и Финляндия. Более месяца назад купил финский, проблем в установке и работе нужных мне протоколов отмечено не было. Цены Финляндия, минимальная конфигурация: 1 Core i9-9900K 3.60GHz/1 Гб ОЗУ/ 10 ГБ SSD - 150р./месяц
Через ТП возможен апгрейд, 1 CPU или 1 Гб RAM - 100р.
Сразу из минусов: нельзя автоматом изменить конфигурацию VPS, нет бэкапов, нет статистик, нет панелей... Наверное, легче сказать что тут есть - удаление сервера, перезагрузка, переустановка и продление. На этом и всё.
Понравилось тут: фактические 800-850 мбит за 150р., отличный пинг, нет рекламы на известном видеохостинге, неплохой CPU. Пополнение: крипта, российские карты
Проверка ТТХ
Скорость/трафик: заявлено 1 Гбит. Ограничения по привычному объёму в месяц нет, есть ограничение по скорости, которое зависит не от объёма, а от нагрузки. Вот что пишет тп по этому вопросу: "Если потреблять постоянно больше 300 мбит/с, то будет ограничение до 300 мбит/с на час, если продолжает нагрузка на канал, то ограничение перманентно".
Проверка качества IP
В итоге: сервер подойдёт тем кому от хостера нужен только логин и пас и кто привык всё делать сам. Если вы любитель скриптов из ЛК и красивых статистик и панелей, этот хостер точно не для вас. Для остальных - отличный сервер по минимальной цене и с неплохим железом.
P.S. наличие непостоянное, если нужна Финляндия то порой её приходится ловить, после первой покупки второй сервер отлавливал пару недель и за пару суток снова раскупили.
Понимаю что внезапно но всё же. Есть сервак , нахрен не сдался но есть собрал для прикола. Не нужен хочу продать по себестоимости +- 100 тыщь . На авито разумеется никто не смотрит ибо сервер а не гейм машина. хотя сталкера 2 тянет на максималках ( хоть и херовая игра если честно) майнкрафт и тому подобное летает... я хз ... короче если надо кому что то пишите ...
Сразу к делу, за 130 рублей нам обещают тариф без ограничений 1x2.2ГГц, 0.5Гб RAM, 1IP в Казахстане.
После покупки тесты скорости показывают и правда - 100 мбит. После нагрузки системы и прокачки трафика 150 Гб. фиксируем резкий провал скорости и практический стоп.
Замеряем.
Как? Обещали же что без ограничений.
Что не так? Обещали тариф без ограничений, пишем в ТП, получаем ответ.
Важные пояснения от ТП
Хорошо, попробуем посмотреть на что можно сменить старт
Прилично так за 1/1/20
А сменить его можно только на тариф за 523 рубля и это за 1/1/20
Вот он, такой тариф без ограничений от RUVDS. Учитывая что от 110р. можно приобрести VPS с гигабитной скоростью и действительно безлимитный, покупать или нет такой тариф Старт не стоит.
Здравствуйте дорогие капибары! Простите меня пожалуйста, за столь долгое отсутствие поста!
Сегодня мы установим на наш маленький, но очень гордый мультимедиа-сервер еще один торрент-клиент - qbittorent-nox. Это такая же программа для скачивания торрентов ка и Transmission, но со своими приколами и плюшками.
Итак, приступим! Снова подключаемся по ssh к нашему серверу и для начала нам нужно обновить систему, для этого выполняем команду sudo apt update && sudo apt upgrade -y. Затем нам нужно добавить репозиторий данной программы sudo add-apt-repository ppa:qbittorrent-team/qbittorrent-stable, подтверждаем, что мы в своем уме и ждем выполнения команды.
Добавляем репозиторий
Можно снова обновить список репозиториев - sudo apt update. Мы великолепны! Теперь погнали дальше. Теперь установим саму программу sudo apt install qbittorrent-nox, так же подтверждаем и ждем когда установится
Устанавливаем qbittoren-nox
Оно установилось и наш следующий шаг - это добавить пользователя для торрент-клиента. sudo adduser --system --group --no-create-home qbittor. Эта команда создает нового пользователя qbittor, не создавая для него отдельной папки в домашней директории, потому что она нам совсем не нужна. Теперь добавим нового пользователя в группу нашего основного пользователя sudo adduser your-username qbittorr (замените your-username на имя своего пользователя). И снова мы великолепны!
Осталось совсем чуть-чуть! Теперь создадим юнит для нашей программы sudo nano /etc/systemd/system/qbittorrent-nox.service Напоминаю, что порт можно указать абсолютно любой на ваш вкус.
И как всегда мы великолепны! Сохраняем наш юнит ctrl+x затем y. Осталось запустить наш торрент-сервер! sudo systemctl daemon-reload && sudo systemctl start qbittorrent-nox. Если не выдало ошибок - идем по адрес вашего сервера:7054 и видим такую картину
Веб-морда qbittorent-nox
Логинимся - логин admin, пароль adminadmin. И если все хорошо, то выполняем в консоли sudo systemctl enable qbittorrent-nox, чтобы программа запускалась автоматически при перезапуске системы. И как обычно, мы великолепны!
Осталось дело за малым, меняем пользователя торрента на своего, указываем папку загрузки и наводим небольшой марафет!
Для начала сменим пользователя, для этого идем Сервис-Настройки-Веб-интерфейс. В разделе Аутентификация меняем пользователя и пароль на предпочтительный (ни в коем случае не используем учетные данные нашего сервера! Придумайте что-нибудь новое)
Меняем пользователя для нашего торрент-сервера
Теперь укажем основную папку для загрузки Сервис-Настройки-Загрузки. У меня это /home/user/downloads. Вы же указываете свой путь на сервере
Указываем папку для загрузки
Ну и моя любимая фишка в Qbittorent - это категории. Помните, мы создавали папки для фильмов, сериалов и прочее? Мы можем указать qbittorent эти папки как категории. Для этого в веб-морде, в левой стороне есть надпись (вы не поверите!) категории! Жмем ПКМ (правая кнопка мыши) по этой надписи и видим Добавить категорию
Добавляем категорию
Например категория Фильмы. У меня это /home/user/Films (Напоминаю, что Unix системы чувствительны к регистру)
Добавляем категорию
Теперь, при добавлении торрента мы можем указать просто категорию, а конечная папка укажется сама! Например так
Это скрин с моего основного сервера
На этом сегодня все, мои дорогие капибары! Надеюсь я вам чем-то да помог! Ваши замечания, исправления и пожелания - в комменты!
P.S. Напоминаю всем системным администраторам, программерам и
прочим специалистам - я не настоящий сварщик, если вы считаете, что
выбор ОС, способ настройки или еще какие факторы - неправильными -
напишите свой пост с указанием моих ошибок и вашей версией, как это все
нужно делать. Я не истина в последней инстанции. Всего хорошего!
Ура, вомбатяне! Спустя 3 дня простоя Вомбат наконец поднялся и готов радовать вас дальше интересными постами. Правда, слегка устаревшими. Спасибо всем, кто поддерживал и мотивировал разработчиков ❤️
Что случилось?
В четверг наш хостинг-провайдер в 16:40 по Мск без объявления войны удалил сервер вомбата со всеми данными, которые на нём были. Бэкапы делались регулярно на уровне виртуальной машины (по самым скромным прикидкам на сайте было 28 000 постов и не менее 150 тыс. картинок), но хранились у того же самого хостера на соседнем сервере. И бэкапы эти были точно так же удалены.
Стали разбираться с хостером: оказалось, что просрочен платёж за сервер, о чём мы не были в курсе, т.к. у этого хостера нельзя привязать карту для автопродления, а при окончании денег должно приходить много уведомлений на почту, которых в этот раз не было вообще. Кроме одного - о том, что сервер удалён. Плюсом ко всему они должны были остановить сервер (не удалять) до момента оплаты. Вместо этого всего сервер был молча удалён вместе с бэкапами. Переговоры и просьбы восстановить данные у них на машинах результата не дали - хоть мы и написали им через 3 минуты после остановки сервера, восстановить ничего они не смогли (или не захотели).
Виноваты ли мы в этом - да, надо было поставить 100 будильников на дату оплаты сервера.
Виноват ли хостер в нарушении своего же договора, по которому он нас должен был уведомить и сначала остановить сервер, а не удалять - тоже да. Мы уже отправили в ML Cloud уведомление о подготовке досудебной претензии.
Небольшой интересный факт: за день до этого мы получили предложение о покупке ресурса, которое отклонили. Сторонники теорий заговоров - ваш выход.
Что удалось восстановить
Данные мы собирали по крупицам 2.5 суток - включая копирование из всех открытых вкладок с базой данных, пока программа не перезапустилась.
Посты: Из старых бекапов и кэша страниц в Яндексе нам удалось восстановить большую часть постов, которые были на Вомбате. С одной очень неприятной поправкой - в этих постах нет картинок.
Фото и какие-либо изображения есть только в перенесённых с Пикабу постах (мы выгрузили их заново). В написанных постах на Вомбате и аватарки пользователей спасти не удалось. Посты, в которых были картинки мы временно скрыли, тк они могли быть важной частью повествования. Сейчас мы готовим функциональную часть, которая даст возможность желающим отредактировать свои старые посты с картинками (например, вернуть иллюстрации рассказам).
Видео с Youtube/Вк/Вомбата живы и должны быть доступны на сайте.
Комментарии: к сожалению, комментарии, сделанные с начала года и до настоящего момента были утеряны.
Аккаунты пользователей: нам не удалось восстановить аккаунты, зарегистрированные в 2024 году. Сейчас на сайте есть только те, что были зареганы в 2023 году.
Поэтому посты, которые были написаны пользователями, зарегистрированными в 2024 году, пока временно привязали к @vombat-zombie. Сейчас у Зомби Вомбата 4400 постов. Что составляет 15% от общего числа постов. Не очень много, но неприятно.
Рейтинг: рейтинг пользователей сейчас восстановлен, но тк часть данных мы брали из рейтинга постов старого дампа, часть из кэша, могут быть некоторые неточности. Если вдруг разница в рейтинге будет критичной - пишите нам.
Что делать дальше?
Если вы регистрировали свой аккаунт на Вомбате в 2024 году - пожалуйста, создайте новый (зарегистрируйтесь еще раз). Если вы написали хоть один пост на Вомбате - напишите нам свой старый ник и мы перенесём ваши оставшиеся в живых посты в новый аккаунт.
Посты с потерявшимися картинками мы пока скрыли. Если вы делали пост на Вомбате, в котором были картинки - пожалуйста, напишите нам и мы дадим вам возможность отредактировать свои старые посты и добавить их заново.
По любым проблемам и вопросам, связанным со случившимся сбоем - пишите в чат Телеграм, на почту info@vombat.su или в комментариях к этому посту.
🙏 Из-за того, что сайт несколько дней был недоступен мы с большой вероятностью потеряли позиции в поисковиках, которые важны для роста сайта. Обращаемся к вам с просьбой в ближайшую неделю помочь Вомбату с активным наполнением новыми постами и комментариями. Это покажет поисковикам, что временные сложности миновали и можно продолжать рекомендовать сайт в поисковой выдаче.
Работа над ошибками
Посыпаем голову пеплом и делаем правильные выводы: теперь мы будем покупать еще один сервер у провайдера, отличного от основного, чтобы хранить бэкапы там. Если у вас есть желание помочь с покупкой сервера или просто подбодрить нас в такой нелёгкий час - будем рады вашим донатам.
Подробное видео происшествия
P.S. Авторы, приложившие руку к восстановлению Вомбата (заново зарегистрировавшиеся, прикрепившие свои старые посты к новому аккаунту и/или добавившие картинки в свои старые посты) будут награждены соответствующими ачивками (как только они появятся).
И снова здравствуйте, дорогие Капибары! Сегодня мы продолжим настройку нашего маленького, но очень гордого медиа-сервера! Вчера мы остановились после всей установки системы и выключили ее, сегодня нам нужно снова все включить и начать работу)
Сегодня я предлагаю продолжить работу с нашим сервером по ssh, конечно, некоторые товарищи в комментариях мне сказали, что лучше ставить GUI и работать по RDP, но на мой взгляд GUI на сервере излишен. Так что скачиваем mRemoteNG - https://mremoteng.org/download, устанавливаем ее и создаем новое подключение - протокол ssh version 2, вводим ip нашего сервера, который мы настроили в прошлый раз, порт указываем 22 и вводим пользователя и пароль, который мы тоже создали в прошлый раз.
Создаем новое подключение
И если у нас все правильно получилось, мы увидим такую картину
Если все правильно было сделано на предыдущих шагах, мы подключимся к своему серверу
Ура! Вы великолепны! Теперь давайте обновим нашу свежеустановленную систему. Для этого нужно набрать команду sudo apt update нажать ВВОД и ввести пароль.
Напоминаю, пароль не будет отображатьсяP.S. команды которые я даю в этом посте можно копировать и вставлять в терминал с помощью правой кнопки мыши. Это немного ускорит работу с сервером
Обновляем список репозиториев
Если оно скажет, что найдены обновления в таком-то количестве, то нам нужно ввести команду sudo apt upgrade -y. В этот раз пароль запрашиваться не будет, т.к мы его ввели на предыдущем шаге. У меня нет обновлений. потому что пока я подготавливал скриншоты для поста, случилась грусть-беда и все что я успел наснимать - пришлось удалить. Но сути это не меняет)
Устанавливаем обновления
После того, как мы обновились - наступило время для установки нужного нам ПО. Но для начала давайте подготовим папки, в которых будут храниться наши фильмы, сериалы и прочие ништяки. Для начала я создам папочку за пределами домашней директории нашего пользователя (я это делаю для своего удобства, потому что emby отказался работать с домашней директорией, да и просто привычка ничего не пихать в /home окромя конфигов)
Пишем такую команду sudo mkdir /cloud (вместо /cloud можете дать любое имя. Я предпочитаю использовать английские названия каталогов для уменьшения проблем.) Эта команда создает каталог cloud за пределами директории /home. Далее нам нужно указать владельцем этой папки нашего пользователя, для этого вводим sudo chown -R user:user /cloud (вместо user пишем своего пользователя) и теперь осталось выставить права на запись в эту папку, для этого вводим sudo chmod -R 755 /cloud. Затем мы можем создать в папке cloud нужные нам папки, такие как films, serials ну и прочее что нам в голову взбредет. Я создал там папочку downloads. Хочу уточнить, что теперь, чтобы создавать папку в каталоге /cloud нам не нужно добавлять sudo к команде. Достаточно просто ввести mkdir /cloud/downloads
Создание каталога и установка прав
Мы создали нужные папки и мы снова великолепны! Теперь установим Transmission-daemon. Это торрент-качалка. Для этого вводим команду sudo apt install transmission-daemon
Установка transmission-daemon
И снова побежали буковки, нам нужно лишь дождаться окончания установки. После этого пишем sudo service transmission-daemon stop для остановки transmission, т.к. все настройки выполняются пока он остановлен. Далее мы копируем стандартные настройки в папку пользователя sudo cp -R /etc/transmission-daemon /home/user_name/.config/ (вместо user_name написать своего пользователя) sudo chown -R user_name /home/user_name/.config/transmission-daemon
Копируем настройки transmission
Затем вводим sudo nano /etc/default/transmission-daemon и в строке CONFIG_DIR прописываем путь до папки с файлами настройки. Для сохранения изменений - ctrl+x затем Y для подтверждения.
Изменяем путь до настроек. Для сохранения изменений - ctrl+x затем Y для подтверждения.
Теперь научим transmission работать от имени нашего пользователя, для этого нам нужно ввести sudo nano /etc/systemd/system/multi-user.target.wants/transmission-daemon.service ив значении User= пишем имя нашего пользователя. Снова сохраняем и выходим.
Учим transmission запускаться от имени нашего пользователя
Теперь нужно перезагрузить наши юниты. Для этого вводим sudo systemctl daemon-reload
Теперь научим transmission качать наши торренты в определенную папку, разрешать вход по логину и паролю и указать с каких адресов можно к нему подключаться. Для этого вводим nano /home/user_name/.config/transmission-daemon/settings.json (вместо user_name написать своего пользователя)
"download-dir": "/cloud/downloads", - меняем на свою папку. У меня это /cloud/downloads, "rpc-password": "{4d9e2d73e22b3d53fb1de394d5be2255f103ca96S/LhCaA7", - все что между " " стираем и пишем свой пароль для торрент. "rpc-username": - " " - придумываем имя пользователя для торрент. "rpc-whitelist": "127.0.0.*,192.168.1.*,192.168.0.*", -список разрешенных адресов для подключения, можно оставить как в примере. После всех озменений сохраняемся и выходим.
Устанавливаем свои правила для transmission
Теперь можно ввести sudo systemctl start transmission-daemon.service и если все правильно, нам не выдаст ошибок. Если все хорошо, то идем http://адрес нашего сервера:9091 и видим веб-морду нашего transmission, которая просит логин и пароль
Веб морда transmission. вводим логин\пароль который мы указали в settings.json
Веб морда transmission
Теперь возвращаемся в консоль и вводим команду sudo systemctl enable transmission-daemon.service, чтобы наш transmission сам запускался при старте системы. И снова мы великолепны!
Теперь давайте установим Emby-server, мы же для этого здесь собрались? Заранее отвечу почему не Plex - просто мне не нравится его способ подключения к серверу (ваши учетные данные лежат на серверах Plex), я обязательно расскажу как его установить, но сегодня мы ставим emby.
Теперь устанавливаем скачанный пакет sudo dpkg -i emby-server-deb_4.8.3.0_amd64.deb ,ждем пока установится. После вводим sudo systemctl status emby-server и видим зеленую надпись active (running). И снова мы великолепны! Теперь снова возвращаемся к браузеру и идем http://адрес нашего сервера:8096/web/index.html. Там видим такую картину. Выбираем язык, страну
Если все правильно сделано, нас встретить веб-морда emby
Добавляем папочки для нашей медиатеки, которые мы создали в предыдущих шагах.
Добавляем библиотеки
Выбрали папки, выбрали дополнительные настройки и нажали ок.
При добавлении библиотек, пожалуйста выберите на каком языке Emby должен будет подбирать метаданные, искать обложки и описания к фильмам и мультимедиа. По-умолчанию это английский. Как только вы настроили все ваши папочки с мультимедиа, возвращаемся в консоль и набираем sudo systemctl enable emby-server.service
Ура! Вы великолепны! В принципе на сегодня все, если в случае Transmission все понятно, то с Emby я предлагаю вам поковыряться в настройках и определить что для вас лучше.
Ну и снимок для примера
Так выглядит emby
Всем пока и до новых встреч! В следующий раз мы научимся ставить Plex и еще что нибудь. Я предлагаю как альтернативу Transmission установить Qbittorrent. Так же начнем потихоньку настраивать Samba и прочие плюшки для нашего удобства)
С этого поста начинается наш путь в удивительный мир Linux!
В этом посте не будет дурацких взмахов волшебной палочки и глупых заклинаний!
Для начала давайте определимся с железками на которых мы будет разворачивать наш мультимедиа- сервер. Обычно это старенький комп, который валяется где-то в квартире/кладовке/etc.
Очень нужно, чтобы процессор поддерживал архитектуру amd64, оперативной памяти минимум 4 ГБ хотя, это глупое уточнение на мой взгляд, т.к. в основной массе современных ПК стоит именно такой процессор, ну и не менее оперативной памяти!
И так, мы начинаем КВН установку и настройку нашего сервера!
Я все операции буду выполнять на виртуальной машине, т.к мне лень включать подопытный комп)
Что мы делаем первым делом? А первым делом, мы открываем браузер на своем основном компе и идем по вот этой ссылке -https://ubuntu.com/download/server
Там есть большая зеленая кнопка с надписью на буржуйском - скачать Ubuntu server 22.04.4 LTS, собственно ее жмакаем и ждем пока 2 ГБ счастья и извращений не загрузятся на наш ПК.
Нажимаем на зеленую кнопку
Что нам нужно сделать далее? А далее мы пойдем тернистым и простым путем. Тернистый - это записать данный образ на флешку не менее 4 ГБ с помощью специальных утилит, таких как Rufus - https://rufus.ie/ru/, Balenaetcher -https://etcher.balena.io/, либо UltraIso - https://www.ultraiso.com/download.html (последняя программа является проприетарной, что означает, что ей нужна денежка за работу). Лично я пользуюсь Rufusом, просто потому что нравится.
Далее эту флешку мы вставляем в подопытный комп и следуя инструкции в вашем BIOS или UEFI загружаемся с этой флешки.
Ну а простой путь - это развернуть все это дело на виртуалке (как развернуть виртуалку я думаю объяснять не нужно, а если нужно - напишите об этом в комментах).
Все действия в устанавливаемой системе производятся с помощью клавиш TAB, пробел, стрелочек и естессно ВВОД (он же ENTER)
Вот мы все записали на флешку или подготовили виртуалку для работы, далее мы загрузились с нашего установочного носителя и видим белые надписи на буржуйском. Жмакаем надпись Try or Install Ubuntu Server
Первая загрузка с установочного носителя
После нажатия кнопки установки, на экране побегут разные буковки и циферки, пугаться этого не нужно!
Далее появится окошко выбора языка, можно оставить английский, я же предпочитаю чтобы система разговаривала со мной на русском, поэтому я и выбираю его.
Выбор языка
Далее система спросит нас о раскладке клавиатуры, я оставил русскую
Выбор раскладки
Затем будет спрошено какими клавишами менять раскладку с английского на русский и наоборот, я оставляю по-умолчанию Alt+Shift
Клавиши смены раскладки
Далее нас встречает окошко выбора типа системы, таких как полная установка и мимимишная минимальная. Нам нужна полная)
клавишей tab или стрелочками выбираем кнопку Готово и жмем Ввод
Выбор типа системы
С этими этапами мы легко справились, теперь же нас встречает первый серьезный противник - настройка сети!
Для виртуалки я использовал автоматическую настройку сети, т.е оставил все как предложила система.
Автоматическая настройка сети
Но мы же хотим чтобы наш сервер висел постоянно на каком-то одном адресе, шоб не выяснять это каждый раз. Конечно, можно все это сделать и в настройках роутера, но мы же не за этим здесь собрались? Поэтому выбираем наш сетевой интерфейс (у меня это enp0s3) клавишами tab или стрелочками, далее жмем ВВОД и там выбираем Edit IPv4
Выбро ручной настройки
Теперь нам нужно выяснить какие адреса выдает нам роутер. Это могут быть по типу 192.168.1... или 192.168.0... Например 192.68.1.123 или 192.168.0.123. Узнать это можно в настройках Wndows - сеть и интернет - ваше содинение
Узнать ip
Как выяснили - идем заполнять настройки дальше. В первую строчку мы пишем начальный диапазон нашего роутера, это может быть 192.168.1.0 или 192.168.0.0 к этим циферкам мы добавляем вот такую надпись /24 - что означает маску подсети. В строке Адрес пишем нужный нам ip. Например 192.168.1.127. Шлюз - это адрес вашего роутера. Name servers и домен оставляем пустыми. Ниже на скрине все видно:
Жмем сохранить и готово. Далее оно запросит адрес прокси-сервера, это поле мы тоже оставляем пустым и жмем Готово
Прокси-сервер нам не нужен
В следующем окне будет проводится проверка доступа к сети и обновлений. Если все успешно, будет примерно как на скрине
Проверка прошла успешно
Теперь нас ждет разметка диска. Я подразумеваю, что у вас на диске ничего нет или это не страшно потерять. Разметку диска мы тоже делаем на автомате, т.к. мы же учимся, верно? Забивать голову сложной разметкой не будем.
На этом этапе нам нужно снять галочку с надписи Set up this disk as an LVM group и нажать Готово
Снять галочку с Set up this disk as an LVM group
Теперь оно покажет, что оно сделает с нашим диском и если нас все устраивает - жмем Готово
Проверяем разметку и жмем Готово
Далее подтверждаем еще раз
Программа спросит, точно ли вы в своем уме. Лучше подтвердить это
Теперь приступаем к созданию пользователя. Заполняем все поля в соответствии с запросами и вашим желанием. Название сервера делайте понятным для вас, потому что именно так вы его будете видет в локальной сети. Жмем готово
Создаем пользователя
В следующем окошке тоже жмем продолжить, Ubuntu Pro нам не надо.
Дальше ставим галочку для установки Openssh serverа) оно нам надо будет для удаленного подключения.
Установливаем openssh server
В следующем окошке выбираем docker, он тоже может нам понадобиться.
Docker, я выбираю тебя!
Все, пошла установка системы. Вы великолепны!
Идет установка системы
После установки оно попросит перезагрузиться. Не забудьте вытащить установочный носитель из компа (если вы сдуру все это на реальном железе делали)
Установка завершена. Перезагружаемся.
И вот система впервые загрузилась! Ура! Есть у Ubuntu мелкая деталь при загрузке, что меня бесит, это как она перекрывает предложение ввода логина\пароля. Но нам это не помешает.
вводим логин
Затем пароль. Имейте ввиду, что пароль не будет отбражаться при вводе в консоль. Не пугайтесь. Вводим пароль и жмем ВВОД
Пароль не отображается
Все! Вы вошли в только что установленную систему! Поздравляю!
Вы в системе!
На этом пока все, т.к ограничение на количество изображений стоит в 25 шт. В следующем посте мы обновим нашу систему и приступим к установке торрент клиента и медиасервера.
Чтобы выключить систему нужно ввести sudo poweroff и ввести пароль если оно попросит! Всем пока и до встречи!
P.S. Я не настоящий сварщик! Все что я тут рассказываю или буду рассказывать - основано на личном опыте использования домашнего сервера. Если вы считаете что я делаю что-то не правильно, можете написать об этом в комментариях.
Появилась у меня тут идейка рассказать людям добрым про удивительный мир домашнего мультимедиа сервера, коим можно решать разного рода задачи для собственного удовольствия. Многие уже привыкли к разным рода подпискам на разных же сервисах, по типу Кинопоиск, IVI и прочих сайтах, легальных и не совсем. И если в случае нелегальных (пиратских) сервисов все понятно, их постоянно блокируют, то с легальными все еще грустнее. Т.к. отсутствие многих фильмов, сериалов и озвучек к ним - очень печалит. В случае с музыкальными сервисами - та же байда. Отзыв прав на композиции и фильмы, постоянные просьбы купить контент, когда ты уже заплатил за подписку - все это неимоверно бесит (меня точно бесит).
Так вот, я хотел бы рассказать, как поднять свой мааленький, но очень гордый сервер в домашних условиях и без смс. Нужна кому-нибудь эта инфа? Или мне потом будет стыдно за этот пост?
Почему мы пиратим? Нет, это не бедность, не жадность, и ни в коем случае не принцип свободного контента. Всё дело в удобстве, ведь рутрекер с интерфейсом начала нулевых и EiskaltDC++ с монструозным GUI'ем из 90'х всё равно в миллион раз удобнее и понятнее чем нетфликс, кинопоиск и прочие прочие. Тут тебе и множество озвучек на выбор, и разные кодеки и проч и проч. Такое кинцо/музыку/сериалы лёгкой рукой можно закинуть в директорию которая нюхается Plex media server и смотреть где угодно где есть интернет прямо как кинопоиск, но с большим выбором. И что самое главное - в отличии от кинопоиска фильм никогда не будет удалён прямо во время просмотра потому что у оного кончились права на показ фильма (и да, у меня такое было и с кинцом, и с книгами и с музыкой, и это нереально бесит)!
Но это всё про музыку и фильмы, тут все знают про plex/emby/jellyfin. Ну а как быть с аудиокнигами и электронными книгами? Конечно можно так же как и с фильмами просто закинуть на флешку, взять с собой туда куда хочется и смотреть "оффлайн". Но это неудобно. Я пробовал слушать аудиокниги через plex, увы и ах он под это совершенно не заточен. Но когда я уже почти отчаялся и планировал полностью уйти в оффлайн я случайно наткнулся на гитхабе на замечательный проект audiobookshelf.
Это аналог plex но заточенный на электронные книги и аудиокниги. Справедливости ради этот проект пример того как криво получается софт если бекенд делают фронтендеры, но за неимением лучшего буду юзать его.
Коротко о том как его себе поставить. Добавляем репозиторий, ставим пакет, запускаем. Всё описано в доке. Если мы хотим выставить его в интернет и/или дать доступ другим людям то хорошей идеей будет поставить перед ним nginx с сертификатом и кешированием. Как это сделать тоже есть простая дока из двух действий. У меня всё немного сложнее, у меня audiobookshelf крутится в lxc контейнере, имеет ro доступ к файлам лежащим на другом сервере, но в целом от доки я не отступал, только добавил пару дополнительных шагов.
Что мы получаем:
главный экран
Главный экран выглядит довольно просто и идеологически копирует plex (верхняя строчка "продолжить просмотр" ниже "недавно добавленные"), с лева можно выбрать просмотри всего списка книг, либо по авторам, по сериям или актёрам озвучки (перейти в нужную категорию можно так же из странички с книгой). Если же вы добавили отдельную библиотеку с электронными книгами и перейдёте в неё то интерфейс будет выглядеть ровно так же.
страница книги
На странице книги можно увидеть (и перейти) автора, серию из которой эта книга и актёра озвучки, сервис отлично запоминает где ты остановился и предлагает продолжить с этого места даже если сменилось устройство. Всё как в plex (только не так красиво).
создание пользователей
К сожалению в отличии от plex нет единой базы пользователей, так что если вы пользуетесь несколькими серверами audiobookshelf (например свой и вооон того парня), то прийдётся запомнить (ага, как буд-то кто-то сейчас запоминает а не созраняет в keepassxc) несколько учётных записей. Зато в отличии от plex несколько учёток могут иметь админские права (правда мне это не пригодилось) которые смогут управлять контентом прямо через браузер (но не через мобильное приложение, об этом позже).
Так же слушать контент с audiobookshelf можно через rss вообще не имея учётной записи, правда для этого необходимо чтобы кто-то имеющий такую учётку создал вам rss поток например на серию книг.
Кроме очевидного функционала audiobookshelf так же умеет править теги в mp3 файлах (а там обычно всякий мусор) и собирать из пачки mp3 файлов один удобный m4b (правда лучше сначала убедиться что 1файл=1глава, и если это не так то поправить через редактор глав прямо тут же)
метаданные книги
Конечно же все метаданные можно менять, по умолчанию такие вещи как Автор и Серия книг берутся из структуры файловой системы /путь/до/библиотеки/автор/серия/книга/файл, и из метаданных файла, но так же могут браться из .opf файлов.
поиск метаданных
Конечно же присутствует возможность найти метаданные у одного из нескольких провайдеров и добавить их в локальную базу данных (к слову в качестве БД используется sqlite).
Пару слов о мобильном приложении:
главный экран
Главная страничка (как и странички книги, автора, серии) ничем особо не отличается от web версии (да это по сути она и есть упакованная в apk). Однако функционал немного отличается, например с мобильного приложения я не могу изменить метаданные, поправить расположение глав, зато могу кэшировать книгу если например знаю что отправляюсь в место с плохим или полностью отсутствующим интернетом.
настройки
Ну и присутствует пара специфичных для мобильного приложения опций.
Не судите строго, я никогда не писал статей ни на хабр ни на пикабу, да и эта статья появилась больше для теста капибары чем для того чтобы поделиться статьёй.
P.S.: я знаю что я неграмотный и возможно допустил в тексте кучу ошибок, простите. P.P.S.: я бы поделился доступом в свой audiobookshelf со всеми желающими, но я что-то не очень уверен в том что это не нарушение чего нибудь.
Понедельник - обычный день на моей работе, (Я работаю айтишником у местного интернет-провайдера), ничего не предвещало беды, я работал над сервисом (переносил его на другой движок, если интересно), который объединяет камеры с серверов и регистраторов нашей сети через api и выдает поток с камеры по запросу (для наших абонентов под логином и паролем от лк, для остальных регистрация и небольшая денежка за подписку).
Небольшое знакомство с главной страницей, где предлагается выбрать район, камеры с которого смотреть...
Проваливаемся в район и видим камеры, которые можно посмотреть
Так выглядит просмотр...
Отвлекся... Сижу, работаю, начинают сыпаться письма, что не работают камеры - полез разбираться. Машина работает под управлением Windows Server 2016, на котором запущено несколько экземпляров софта Trassir server (один из которых отвалился), логи софта ничего не дали стал смотреть логи виртуалки:
Device naa.600605b008996800221d6a3a46fa2d78 performance has deteriorated. I/O latency increased from average value of 632 microseconds to 19364 microseconds.
- Сказал мне лог, а с этой надписью подросла и температура у меня и колеги, так как сама виртуалка - это железка с собранным RAID массивом, собранным еще прошлыми ребятами, и не хватало нам еще проблем с жестким диском.
Прошло два часа с момента, как все лежало, нарастал градус, кипел отдел (как и замдир, каждые несколько минут задававший очередной вопрос - "ну как там, скоро?"). Решили сперва погуглить и нашли инфу, что нужно отключить технологию виртуализации Intel VT-d в самой ESXi (iovDisableIR), и вот мы уже логинимся по ssh и вводим заветную команду esxcli system settings kernel list -o iovDisableIR в надежде, что сработает - ребутаем сервер, молимся. Иии....иии...ииииии...пинги пошли.... - маячил колега. Запускаем удаленку с сервером, запускаемся и все прекрасно! Тьфу, тьфу, тьфу! Пол часа с момента починки - полет нормальный, можно снова заниматься своими делами.
Всем хорошего дня и настроения!
P.S. Не знаю, как позвать разрабов - https://kapi.bar/publish/(заголовок) слишком большая высота страницы, то есть: видно блоки по бокам, небольшой блок, который сообщает, что пост опубликован, и страницу можно скролить вниз, на мой взгляд многовато. При редактировании поста (когда сохранишь) - эта страница так же по height уехала. Не знаю, баг это или нет, но наблюдение...
Говорят, скоро выходит новый релиз года, в котором, хочется думать, будут исправлены многочисленные ошибки трёх предыдущих версий. Будем надеяться, что девелоперы опять не налажали.