ServerAdmin.ru
28.9K subscribers
304 photos
35 videos
13 files
2.63K links
Авторская информация о системном администрировании.

Информация о рекламе: @srv_admin_reklama_bot
Автор: @zeroxzed

Второй канал: @srv_admin_live
Сайт: serveradmin.ru
Download Telegram
​​Если вы всё еще пользуетесь rss читалками, то держите полезную программу, которая превращает различные потоки информации в rss ленты. RSS формат что-то в последнее время не особо популярен, хотя мне читалки на его основе кажутся удобными.

RSSHub - https://docs.rsshub.app/en/ Ставится в докере:

docker run -d --name rsshub -p 1200:1200 diygod/rsshub

Сразу же можно пользоваться. Покажу на примере своего канала:

http://172.29.128.115:1200/telegram/channel/srv_admin/

IP надо на свой заменить :) В браузере получите rss ленту моих записей в канале. RSSHub поддерживает огромное количество различных источников информации. Вот еще один пример с сайтом на wordpress:

http://172.29.128.115:1200/blogs/wordpress/serveradmin.ru/

Полный список поддерживаемых источников можно в документации посмотреть. Идея такая, что вы просто после адреса своего инстанса указываете путь к тому или иному потоку и адресу источника. В моих примерах это /telegram/ и /blog/wordpress/.

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

Еще пользуетесь RSS лентами или забили?

#selfhosted
​​Продолжаем тему чатов. На этот раз рассмотрим Mattermost. Это один из клонов Slack, который на момент своего появления был очень на него похож. Сейчас уже не знаю, так как подробно не слежу ни за Mattermost, ни за Slack. Проект open source, есть возможность развернуть на своих серверах. За отдельную плату предоставляется расширенный функционал, без которого зачастую очень грустно эксплуатировать Mattermost.

https://github.com/mattermost/mattermost-server
https://github.com/mattermost/desktop
https://mattermost.com/

Примерно 4 года назад я изучал и внедрял Mattermost, после этого написал статью. Понятное дело, что она устарела, но представление о том, что из себя представляет этот чат, получить можно. Очень хочется всё это дело с чатами обновить, но пока нет возможности. MM я внедрил в двух компаниях. В одной прижилась и заменила Skype. Из другой убрали, так как оказалось, что отдельный чат-сервер не нужен и обошлись в итоге публичными мессенджерами.

В отличие от Zulip, в Mattermost интеграция Active Directory / LDAP есть только в платной версии, так же как и система управления правами и доступами. Без этого управлять чатами для коллектива хотя бы в 30-50 человек становится трудно и неудобно.

Из плюсов я отмечу удобный клиент. Мне понравился как функционал, так и внешний вид. Все как-то привычно и на своих местах. Не надо особо разбираться, как тут всё устроено. Например, в Zulip не так интуитивно. К сожалению, клиент MM написан, как и многие прочие, на Electron. Но оптимизирован нормально и больших тормозов при поисках в истории я не наблюдал.

MM часто сравнивают с Rocket Chat. В момент появления они были очень похожи, но со временем пути разошлись. В Rocket Chat больше функционала в бесплатной версии. Но при этом под капотом в серверной части JavaScript (Meteor framework), а в MM - Go и React, что выглядит предпочтительнее.

Последнее время я вижу в отзывах при их сравнении, что отдают предпочтение именно Rocket Chat. Следующая заметка будет про него. Думаю, это связано с с тем, что MM в первую очередь метит в корпоративный, платный сегмент, предоставляя услуги значительно дешевле, чем Slack. В связи с этим функционал бесплатной версии сильно урезан.

Кстати, проект RockyLinux выбрал платформу Mattermost для своего общения.

#chat #selfhosted
​​Продолжаю тему чатов. В этот раз рассмотрю любимый многими Rocket.Chat. Я его никуда не внедрял и скорее всего не буду. Чтобы освежить свои впечатления, решил установить и пощупать последнюю версию. Сначала думал статью написать, но по факту я нашел полностью рабочую инструкцию, по которой за 15 минут всё настроил. Не вижу смысла повторять.

Как я уже упоминал ранее, Rocket.Chat это JavaScript, а приложение для общения на Electron. Для меня это приговор. Мне совершенно не нравится эта связка, потому что она тормозная. Это самый существенный минус данного чата. Ставить приложение на компьютер нет никакого смысла. Там под капотом тот же Chromium. Проще всё в одном браузере открывать, нежели плодить их в системе.

К сожалению, сейчас очень много приложений написаны на Electron и тормозят, поэтому однозначно давать минус рокет чату не стоит за это. Но в связке с JavaScript получается минус в квадрате. Дальше расскажу о плюсах. Их у Rocket.Chat хватает. Стоит отдать ему должное.

Рокет предлагает самый большой функционал в бесплатной версии среди всех известных мне чатов. Тут не нужны никакие компромиссы. Есть, пожалуй, всё, что надо от чата. Что мне больше всего понравилось - расширенное управление правами и доступами. Можно настроить практически всё, что угодно и как угодно. В mattermost этого вообще нет в бесплатной версии.

В плане внешнего вида у меня тоже нет никаких претензий. Выглядит приятно, гармонично, интуитивно понятно. Пользоваться удобно. Очень много интеграций с другими продуктами. Rocket.Chat известная платформа. Практически везде увидите возможность интеграции с ней.

Подвожу итог. Если подбираете себе selfhosted чат, пробовать Rocket.Chat однозначно надо. Если вас не смущают технологии, на которых он построен, и устраивает быстродействие и работа клиента, то внедряйте и пользуйтесь. Продукт зрелый, известный, много кто пользуется. Каких-то явных проблем с ним нет.

https://rocket.chat/
https://github.com/RocketChat

Помимо своего сервера, есть возможность покупать чат по подписке как saas сервис. Цены раза в 3 ниже, чем за Slack. Вместо картинки с чатом, покажу вам лучше админку и настройки, которые там есть.

#chat #selfhosted
​​Если вам необходимо регулярно проверять хосты и сервисы на уязвимости, и не хочется колхозить различные проверки с помощью nmap и других сканеров, можете попробовать OpenVAS. Это Open Source проект.

https://github.com/atomicorp/gvm
https://github.com/atomicorp/openvas-docker
https://www.openvas.org/

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

Для установки есть свой репозиторий для rpm-based дистрибутивов. Попробовать проще всего, запустив openvas в docker.

docker run -d -p 443:443 --name openvas atomicorp/openvas

Далее идём в веб интерфейс, авторизуемся как admin / admin. Первым делом нужно добавить host в разделе Configuration -> Targets. Затем создать задачу в Scans -> Tasks. Теперь задачу можно запустить и посмотреть, как всё это работает. Настройка интуитивна, так что больших проблем возникнуть не должно.

После работы задачи, можно посмотреть отчёт. Ниже пример подобного отчёта при сканировании чистой системы Centos 8 с единственно открытым ssh портом.

#security #selfhosted
​​У меня уже было много заметок про различные системы мониторинга (#мониторинг). Сегодня будет еще одна - Icinga. Это весьма зрелая и качественная система мониторинга, на которую стоит обратить внимание, если выбираете, на чём остановиться и еще не решили, что вам нужен Zabbix или Prometheus.

Изначально это был форк Nagios. Но со временем их пути сильно разошлись, так что можно считать Icinga самостоятельным продуктом. Причем качественным и полностью бесплатным:

https://icinga.com/
https://github.com/Icinga

Icinga полноценная система мониторинга, которая включает в себя:
- Автоматизацию мониторинга инфраструктуры, в том числе сетевой, в том числе с использованием иерархической распределенной структуры.
- Сбор метрик и логов.
- Аналитику.
- Оповещения.
- Отчёты.
- Визуализацию, в том числе с помощью дополнительных модулей для дашбордов.

В общем, там есть всё, что надо, для полноценного мониторинга. Данные может собирать как с помощью агентов, так и без них. Бэкенд написан на C++, веб интерфейс на php. В качестве БД поддерживает MySQL, Oracle Database, PostgreSQL.

Когда тестировал, очень понравился красивый, лакончиный, отызвчивый и шустрый веб интерфейс. Прям приятно по нему потыкать, все быстро открывается, логично распределено. Попробовать проще всего, развернув всё через docker-compose. Есть репозиторий:
https://github.com/lippserd/docker-compose-icinga
Там готовый compose файл, но есть ошибки в Dockerfile в /env/icingaweb2/. Рабочая версия файла будет такая:

FROM alpine/git
WORKDIR /
COPY icingadb-load-monitoring.patch .
RUN git clone https://github.com/Icinga/icingadb-web.git icingadb && \
cd icingadb && \
git checkout e6e5bb30d37eacaf5498f96412b4b5f400cc9309 && \
cd .. && \
git apply --directory icingadb icingadb-load-monitoring.patch

FROM icinga/icingaweb2:2.9
USER root
RUN rm -rf /usr/share/icingaweb2/modules/icingadb/*
USER www-data
COPY --from=0 /icingadb /usr/share/icingaweb2/modules/icingadb

Используйте эту репу только для тестов. Я не знаю, кто и зачем ее сделал и можно ли доверять всему. На постоянку лучше развернуть без докера.

После запуска всех контейнеров идите в веб интерфейс на порт 8080, учетка - icingaadmin / icinga.

Можете также публичное demo посмотреть:
https://icinga.com/demo/

#мониторинг #selfhosted
​​Вновь возвращаюсь к теме чатов. Ещё пара вариантов для рассмотрения осталась. Сегодня поговорим о Matrix Synapse. Это не совсем чат-сервер, скорее платформа для организации чатов. Расскажу подробнее.

Matrix - это открытый протокол для децентрализованной коммуникации. Он может быть реализован в различных серверах и мессенджерах - https://matrix.org.

Synapse - локальный сервер, который работает на протоколе matrix, обеспечивает возможность подключения и общения клиентов. Написан на Python - https://matrix.org/docs/projects/server/synapse. Можно быстро запустить в docker или воспользоваться публичным сервером.

Для данной связки можно использовать любой клиент. Наиболее популярным и зрелым является клиент Riot, который в настоящий момент переименован в Element. Я пробовал именно его, когда тестировал данную связку. Он есть как web клиент, desktop и android приложение - https://element.io. К сожалению, под капотом там javascript и какой-нибудь современный фреймворк (не уточнял, какой именно), так что большого смысла использовать именно приложение нет. Оно точно так же выглядит, как и страница в браузере.

В плане функционала данная связка не будет сильно отличаться от остальных чатов. Всё необходимое есть. Внешний вид тоже нормальный. Явным плюсом подобного решения является бесплатность и гибкость, возможность расширять функционал различными дополнениями и разными клиентами. Плюс, есть возможность интеграции с другими системами, например, сервером видеоконференций Jitsi-meet.

Минус сразу на виду и следует из плюсов. Подобный конструктор по определению будет менее стабилен и более требователен к настройке и управлению. Порог вхождения будет повыше, хотя какой-то кардинальной сложности нет. У меня есть статья-обзор по установке и настройке подобной связки. Она немного устарела, но получить представление о чат-сервере можно.

Будет неплохо, если протокол Matrix продолжит свое развитие и завоюет популярность, как в свое время irc или xmpp. Пользователи от этого только выиграют. Сейчас по факту почти все пользуются закрытыми проколами и проприетарным ПО в этой области. Если честно, я не уверен, что у Matrix что-то сильно популярное выйдет. Мне кажется, сфера общения в виде мессенджеров очень лакомая для коммерческих организаций. Они будут максимально развивать и наращивать бесплатный функционал, лишь бы вы пользовались их продуктами и сливали информацию о себе. Open Source продукту будет трудно с ними конкурировать.

Если кто-то внедрял подобный чат-сервер, дайте обратную связь. Как там в плане стабильности и удобства в реальной эксплуатации.

#chat #selfhosted
​​ZeroViewer - бесплатная программа для удаленной поддержки пользователей. Условно можно назвать self-hosted аналогом программ типа TeamViewer, Anydesk и т.д. В качестве сервера, через который устанавливается соединение, может выступать любой ssh server. Подключения запускаются с помощью kitty (виндовый ssh клиент). Для отображения экрана удаленной машины используется реализация vnc на базе TightVNC.

Клиент доступен только для ОС Windows. Все настройки хранит в обычном ini файле, что упрощает переносимость. Нужно понимать, что соединения по ssh не очень быстрые. Плюс протокол vnc тоже очень требователен к скорости канала. Так что получить сопоставимое качество картинки с tv или anydesk не получится. Зато всё полностью под твоим контролем, плюс надежное шифрование из коробки на базе ssh. Полностью бесплатных аналогов я даже и не знаю.

Сайт программы: https://null.la/
Обсуждение:
https://4pda.to/forum/index.php?showtopic=973515
http://forum.ru-board.com/topic.cgi?forum=5&topic=49838

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

#remote #selfhosted
​​Продолжаю обзор бесплатных self-hosted решений для командной работы с паролями. Сегодня речь пойдёт о psono. Я много раз слышал его упоминание в комментариях к предыдущим статьям этой серии, так что решил посмотреть на него.

Это полностью open source проект. Доступны исходники мобильных и обычных клиентов, а также сервера. Есть 2 редакции: Community Edition (CE) и Enterprise Edition (EE). Первая без ограничений, но функционал беден. Нет ни интеграции ldap, ни логов аудита. Редакция EE все это имеет, но бесплатна только для 10-ти пользователей. Дальше уже нужно лицензии на каждого пользователя приобретать.

Из особенностей psono я заметил возможность встроенной интеграции с файловым хранилищем на базе различных технологий (s3, ftp, sftp и т.д.) для хранения зашифрованных файлов. Причём можно не только подключать что-то стороннее, но и поднимать свой psonofileserver с функционалом HA и Failover. Было удивительно всё это видеть в данном продукте. Если кто-то все это настраивал и использовал, то скажите, что это за решение. В чём его смысл и стоит ли пользоваться. Я не стал тратить время на его настройку и проверку.

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

Сам psono достаточно просто поднимается в Docker. Но перед этим ему нужна будет база данных Postgres. Я сначала начал всё это настраивать у себя, но когда поднял сервер, понял, что он выполняет роль только бэкенда. Далее нужно ставить отдельно клиент для администрирования (веб панель) и для пользователей (веб панель или приложение). Понял, что муторно всё это делать, и пошел регистрироваться в Demo. Там и посмотрел, как всё выглядит на практике.

Сначала прохладно отнёсся к psono, но потом, когда вник в его структуру и особенности, он мне показался весьма интересным. Распределённая структура приложения будет скорее плюсом, чем минусом, особенно для больших распределённых команд. Удобнее настроить и ограничить доступ. Да и в целом разделение бэкенда и фронта для подобного продукта выглядит разумным подходом.

Сайт - https://psono.com/
Документация - https://doc.psono.com/
DockerHub - https://hub.docker.com/r/psono/psono-server/
Исходники - https://gitlab.com/psono
Demo - https://www.psono.pw/

#password #selfhosted
​​Gitea - легковесная Open Source-система для управления Git-репозиториями, которую можно развернуть на своем сервере. Обычно, когда вспоминают про self-hosted git репозиторий, на ум приходят Gitlab, Bitbucket. Я почти везде вижу либо Gitlab, либо аккаунт в Github. Хотя зачастую, весь функционал, что предлагают эти продукты, не нужен.

В то же время Gitea более проста в установке, настройке, бэкапе. Может работать даже на Raspberry Pi. При этом закрывает все основные потребности в хранении кода. Очень многим командам разработчиков или девопсов будет её достаточно. Особенно если уже есть какой-то инструмент для CI/CD.

В самом простом случае Gitea может использовать базу данных SQLite. Поставить и потыкать, как обычно, проще всего в Docker. Не буду сюда копировать простыню docker-compose файла. Посмотрите его в документации. При этом присутствует дистрибутив под Windows. Gitea можно поставить даже на Windows 10.

По идее, это идеальный вариант для собственного репозитория. Хотя у меня всё лежит в бесплатном облачном gitlab. Локальный только для тестов использую.

Сайт - https://gitea.io
Документация - https://docs.gitea.io
Исходники - https://github.com/go-gitea/gitea
Установка на Windows - https://www.youtube.com/watch?v=_Wu1MjrsGUc

#git #selfhosted
​​У одного IT блогера в видео увидел необычную и на первый взгляд удобную домашнюю страницу для браузера с кучей ссылок на внутренние и внешние сервисы. Узнал, что это open source проект Dashy. Чтобы сразу было понятно, о чём идёт речь, ссылка на публичное Demo:
https://demo.dashy.to

Dashy — веб сервис, который можно запустить на своём железе и пользоваться. По сути это аналог Heimdall, про который я писал когда-то давно. Я некоторое время пользовался потом забил. По факту сейчас пользуюсь только одним браузером везде, так что хватает штатного табло с панелями. А вот если браузеров несколько или нужны общие панели с кем-то ещё, то тут уже пригодится Dashy. Он более функциональный, чем Heimdall.

Возможности Dashy:

Статус ссылок в виде зелёных и красных кружков. Если ссылка недоступна, то индикатор будет красный.

Аутентификация разными способами: Basic Auth, Keycloak, OAuth, доступ на основе списков IP.

Виджеты с поддержкой некоторых сервисов по API: Grafana, Proxmox, Nextcloud, Synology, Pi Hole и другие. Также поддерживаются различные публичные сервисы погоды, курсов валют, github. Даже для проверки своего внешнего IP есть виджет, что может быть удобно в некоторых случаях. Я для этих целей использовал виджет для Windows 10, чтобы на рабочем столе видеть свой внешний IP адрес. Полный список виджетов.

Встроенный бэкап и восстановление настроек.

Конфигурация с помощью YAML файлов или веб интерфейса.

Запустить и попробовать проще простого:
# docker run -p 8080:80 lissy93/dashy
Подробности по запуску можно посмотреть в репозитории. Там и переменные указаны, и как готовый конфиг указать, и docker-compose.yaml есть.

Примеры различных дашбордов можно посмотреть на отдельной странице:
https://github.com/Lissy93/dashy/blob/master/docs/showcase.md

⇨ Сайт / Исходники

#сервис #selfhosted