Compare commits

...
Author SHA1 Message Date
Kurnesay 880af1fdb1 Enable linux-network-troubleshooting in mkdocs.yml and modification article 2026-07-22 21:32:40 +03:00
Kurnesay 020ace5718 Добавлена информация о подключении к комнате Element, а так же создана и скрыта документация о диагностике сети на OC Linux, так как она не до писана. 2026-07-14 19:41:07 +03:00
Kurnesay 62a64724b2 Добавлена инструкция по установке NextCloud 2026-07-09 16:47:07 +03:00
Kurnesay 57a323cb73 Добавилена информация о URi CalDAV и CardDAV от Yandex. 2026-06-22 08:58:51 +03:00
Kurnesay 27af521441 Корректировка текста 2026-06-06 18:12:20 +03:00
Kurnesay 6fe090b89a Скачивание картинок с decky.xyz 2026-06-06 18:05:04 +03:00
Kurnesay 86e3b85923 Исправление ошибок 2026-06-05 21:59:44 +03:00
Kurnesay 9a19077677 Добавлена статья о менеджере плагинов Decky для SteamOS 2026-06-05 21:28:20 +03:00
Kurnesay 51dfc3b68e Удалена информация о тех работах 2026-05-18 09:29:37 +03:00
Kurnesay 45bd9950dc Изменение информации за долгое время и упоминание о плановом отключении сервера 2026-05-15 17:11:51 +03:00
Kurnesay f91b500e68 Добавлена инструкция по восстановлении работы pacman на steamos 2026-03-10 08:05:22 +03:00
Kurnesay d7c5de2ff7 Изменено описание сайта 2026-02-13 19:25:42 +03:00
Kurnesay 9f4ea59ff6 Убранны 2 картинки с основной страницы 2026-02-12 18:50:45 +03:00
Kurnesay d767da9f34 Добавлено дополнительное описание на основной странице 2026-02-12 13:53:19 +03:00
Kurnesay 7827d7dc97 Добавлен раздел в документации Guacamole с описанием и установкой 2026-02-08 18:29:40 +03:00
Kurnesay 51fe6c3de6 Исправление ошибок 2026-01-27 07:35:40 +03:00
Kurnesay 0c6ff1e473 Исправление ошибок 2026-01-27 07:32:52 +03:00
Kurnesay 5e291357f1 Убраны команды Docker и созднан новый разздел о запуске Docker Compose 2026-01-26 15:09:53 +03:00
Kurnesay 221592a2e4 Добавление команды docker ps 2026-01-16 09:28:37 +03:00
Kurnesay a25bd88086 Добавление информации о запуске docker и начало просмотра активных контейнеров 2026-01-15 23:00:36 +03:00
Kurnesay d6d2392a44 Добавлен пункт "Запуск контейнера". 2026-01-14 18:00:18 +03:00
Kurnesay 3c3fcbb7c0 Устранены ошибки и произведена корректировка команд 2026-01-12 19:07:36 +03:00
Kurnesay bc56f59e16 Добавление картинки для страницы Комманды в разделе Docker 2026-01-09 08:23:46 +03:00
Kurnesay 0d48cb23c5 Добавлена страница Команды в разделе Docker 2026-01-09 08:22:01 +03:00
Kurnesay 31376a6ded Исправление ошибок 2026-01-09 06:56:43 +03:00
Kurnesay 6a79371ef8 Создание странниы описания Docker 2026-01-09 04:19:38 +03:00
Kurnesay 40bad4a94c Корректировка страницы о моих публичных сервисах 2026-01-09 03:46:17 +03:00
Kurnesay 16fbe67f59 Корректировка страницы о моих публичных сервисах 2026-01-09 03:42:35 +03:00
Kurnesay 25d94e0592 Исправление ошибок 2026-01-08 21:47:22 +03:00
Kurnesay d25860148b Удаление дополнительной информации, которая была не по теме. 2026-01-08 21:16:03 +03:00
Kurnesay 3146c811f5 Корректировка документации 2026-01-08 20:57:37 +03:00
Kurnesay eb4932986c Добавлена документация о установке Docker 2026-01-08 20:55:08 +03:00
Kurnesay 3a65b1c545 Обновить mkdocs.yml
Изменено название кнопки переключения тем. Убран разел "GNU/Linux & UNIX". Добавлен Docker и путь до его установки.
2026-01-08 20:52:23 +03:00
Kurnesay be0598c725 Изменено базовое описание команды 2026-01-05 19:13:17 +03:00
Kurnesay 823c3f03c1 Исправление ошибок 2026-01-04 20:37:19 +03:00
Kurnesay 35337a173f Убран первый пост и изменено название поста 2026-01-04 20:35:34 +03:00
Kurnesay f38043e90b Изменение блога и исправление отпечатки на главной странице 2026-01-04 20:32:45 +03:00
Kurnesay 60b4de26f7 Иправление ошибок 2026-01-04 19:39:20 +03:00
Kurnesay 210f6cc0db Изменение основной страницы и исправление мелких ошибок 2026-01-04 19:37:08 +03:00
Kurnesay b848dc8369 Изменение названия сайта 2026-01-04 18:07:11 +03:00
Kurnesay 01dd2e8388 Исправление ошибок. Корректировка документации 2026-01-04 18:05:04 +03:00
Kurnesay bdb65ec784 Исправление ошибок 2026-01-04 03:00:23 +03:00
Kurnesay f4fad8f8f7 Изменение таблицы Уравление файлами и изменение активного каталога 2026-01-04 02:59:17 +03:00
Kurnesay 7e3fc4424c Изменение таблицы Информация о системе 2026-01-04 02:57:43 +03:00
Kurnesay df0a29454d Корректировка таблиц в токументациях 2026-01-04 02:55:21 +03:00
Kurnesay 6decc98b75 Приведение списка публичных сервисоов в опрятный вид 2026-01-04 02:42:18 +03:00
Kurnesay e6e510d712 Корректировка описания серверов 2026-01-04 02:35:38 +03:00
Kurnesay cca2d76b4a Корректировка описания серверов 2026-01-04 02:30:22 +03:00
Kurnesay bd88d937be Исправление ошибки 2026-01-04 02:23:45 +03:00
Kurnesay a2dc8cabe4 Исправление ошибки 2026-01-04 02:22:35 +03:00
Kurnesay abcea3bea0 Корректировка док "Снятие Read Only с корневого раздела" и "Команда ls" 2026-01-04 02:19:10 +03:00
Kurnesay 8d1798adcb Добавление плагинов, изменение докуметаций "Основные команды", "Снятие Read Only с корневого раздела" и добавление новой документации "Команда ls" 2026-01-04 02:14:08 +03:00
Kurnesay 4b38dafdec Добавлен под раздел документаций 'Основые команды' и вложена документация 'Основные команды'. Это даст возможность делаеть дополнительные документации по командам. 2026-01-03 19:10:37 +03:00
Kurnesay d7a760326f Изменено название тем документаций с 'GNU/Linux' на 'GNU/Linux & UNIX' 2026-01-03 19:01:32 +03:00
Kurnesay bb3091dddf Изменена сортировка вкладок 2026-01-03 18:58:51 +03:00
Kurnesay 2146195c8b Добавлена вкладка Сервисы 2026-01-02 18:49:38 +03:00
Kurnesay 8e9b788c99 Добавление поста в блоге 2026-01-02 18:24:59 +03:00
Kurnesay 8084104b34 Исправление ошибок. 2026-01-02 17:00:35 +03:00
Kurnesay 2efead03da Исправление ошибок. 2026-01-02 16:58:59 +03:00
Kurnesay 3653306839 Добавление плагинов и корректировка блога 2026-01-02 16:48:54 +03:00
Kurnesay 7827ced1b5 Корректировка документации. Исправление ошибок. 2026-01-02 15:46:42 +03:00
Kurnesay 827a7500a2 Добавление документации о отключении защиты от изменения корневой системы SteamOS. 2026-01-02 15:32:52 +03:00
Kurnesay 19a0b736bb Убрана таблица выполненых задач в README.md 2026-01-02 14:52:03 +03:00
Kurnesay 17788f201f Добавление новых команд. 2026-01-02 14:48:15 +03:00
Kurnesay d59f468092 Добавленна ссылка на учетную запись Steam 2026-01-02 14:22:10 +03:00
Kurnesay d65688395e Изменение оглавления 2026-01-02 14:07:31 +03:00
Kurnesay 56a99ff268 Изменение оглавления 2026-01-02 14:05:58 +03:00
Kurnesay d6114b5e70 Обновить docs/blog/2026/01/create-blog.md
Изменен первый пост.
2026-01-02 14:02:14 +03:00
Kurnesay 8eed058a7f Обновить README.md
Добавлены новые задачи. Так же, изменен статус добавлении ссылки Telegram.
2026-01-02 13:52:07 +03:00
Kurnesay 053283c314 Изменена ошибка в mkdocs.yml, которая преводила к ошибке сборки сайта. Добавлен список основных комманд Linux в новном разделе GNU/Linux 2026-01-02 13:47:53 +03:00
Kurnesay f78186e14f Пока скрыты документации, которые были созданы как шаблон. 2026-01-02 13:43:47 +03:00
Kurnesay aee4c36a8e Изменение описания моих серверов. 2026-01-02 13:41:01 +03:00
Kurnesay efa8c4329b Изменение описания моих серверов. 2026-01-02 13:39:22 +03:00
Kurnesay 9674f21f48 Удаление каталога hardware из-за измения структуры блога 2026-01-02 12:53:27 +03:00
Kurnesay e4f70511c8 Добавление requirements.txt 2026-01-02 12:46:50 +03:00
Kurnesay 9cf1cc6a3c Удаление не нужной строки 2026-01-02 12:41:47 +03:00
Kurnesay 026447bf48 Обновить docs/index.md
Тест работы git
2026-01-02 04:15:51 +03:00
Kurnesay edbba54205 Тест работы git 2026-01-02 04:14:40 +03:00
Kurnesay aa5cea95d3 Тест работы git 2026-01-02 04:12:42 +03:00
60 changed files with 1715 additions and 75 deletions
-5
View File
@@ -1,8 +1,3 @@
# serti-docs # serti-docs
Исходный код [моего сайта](https://serti.fun) на MkDocs для блога и документирования моих проектов. Исходный код [моего сайта](https://serti.fun) на MkDocs для блога и документирования моих проектов.
| Статус | Задача |
| ------ | ------ |
| Не готово | Добавленная ссылка на мой Telegram |
| Не готово | Добавлен RSS Feed |
-16
View File
@@ -1,16 +0,0 @@
# Создание блога
## Первый пост
Я захотел вести блог и писать документации исключительно для личных целей. Но так как кому то может быть интересно, данный блог не будет зкартым, как и мои документации.
## Почему здесь?
Я не люблю социальные сети как **Вконтакте**, **Twitter**(**X**), **Facebook** и прочие.
Оснавная причина в том, что пользователи не владеют так токовыми созданными постами. Они храняться на 3 серверах и могут редактировать или да же удалять ваш контент.
## Как будут выклажываться посты?
Посты не ежедневные. Когда появиться интересная история, то я срадостью поделюсь этим.
## Можно ли следить за постами?
Вероятнее всего да, но пока под вопросом. Я изучаю MkDocs и может появиться RSS Feed.
Так же, может блог перейдет на другой проект.
+43
View File
@@ -0,0 +1,43 @@
---
date:
created: 2026-01-01
---
# Дифицит комплектующих и искуственный интелект
Полагаю, большинство сейчас не гадуют что же делать, когда цена на технику взлетела, но прекрасно понимают кто за этим стоит. Вернее стоят.
Большинство компаний захотело вложиться в ИИ. И это уже не новость, факт. Многим компаниям захотелось начать улучшать серверную для себя и потребителей. Это не только Google, OpenAI и прочие америанские компании, но и наш Яндекс, Китайский DeepSeek и так далее.
Из-за этого взлетела цена на оперативную память, а вместе с ней и физические накопители (SSD и HDD). Не удивительно, что по правилам рынка поднялась цена на материнский платы, процессоры и так далее. Не значительно, но все же.
Помню в прошлом году новость, где компания Raspberry жаловалась на хайп ИИ. Цена за чип оперативной памяти взлетел и вместе с ним сам Raspberry Pi. Пришлось компании менять стратегию и выпускать свои машины на 2GB и 1GB оперативной памяти. Мне не до конца понятно, что можно сделать на машине с 1GB оперативной памяти, но если есть какие то идеи, то компания Raspberry точно знает об этом.
## Обновление HomeLab
Я как раз хотел обновить свой сервер, докупив серверные плашки **DDR3** на али. Но цена меня растроила.
![Ali DDR3 card](/media/ali-ddr3-card.png)
[Ссылка на товар](https://aliexpress.ru/item/1005007836124329.html?sku_id=5000000915963465&spm=a2g2w.productlist.search_results.0.727b2059jahshr)
Несколько месяцев назад можно было купить по приемлемой цене. Теперь, никому не нужный модуль оперативной памяти стоит **9.5 тыс.** И это одна плашка **32ГБ**.
Да и не только оперативная память мне нужна. Но и диски, которые нужны для замены моих пулов на моем самосборочном NAS. Мои пулы, как можно заметить, имеют тип **Sprite**. Если один из дисков превратиться в кирпич, то все данные я потеряю. А на этом NAS храняться фильмы и сервиалы для Jellyfin и Emby.
![Dns shop 1tb hdd](/media/dns-hdd-1tb.png)
[Ссылка на список товартов DNS](https://www.dns-shop.ru/catalog/17a8914916404e77/zhestkie-diski-35/?f[1c]=d5)
## Что же тогда делать?
На самом деле, тут да же скидки не смогут помочь.
Мое мнение, просто подождать когда утихнет хайп ИИ и все не уляжеться, как с майнингом. Как говориться, лучше не бежать вперед поровоза и следить за ситуацией.
Гадать тут трудно. Но многие говорят, что скоро будет снова повышение цен, но теперь цена возрастет на видеокарты. Я этим слухам верю.
## Есть ли что то, что не подорожало?
Ходить во круг до около не стоит. Все равно, копьютеры и телефоны имеют оперативную память и какое то хранилище.
К счастью, цена на кекоторую апаратуру еще не сильно возрасла. Можно взять для HomeLab или для личных целей мини пк от HP серии EleteDesk. Хотя се равно, после покупки б/у, нужно обновлять, а опериатвная память в серьезном дефиците, как и жеские диски.
+18
View File
@@ -0,0 +1,18 @@
# Создание блога
## Первый пост
Мне захотелось вести личный блог и писать документации исключительно для личных целей. Но так как кому то может быть интересно, данный блог не будет зкартым, как и мои документации.
## Почему здесь?
Мне не нравиться социальные сети как **Вконтакте**, **Twitter**(**X**), **Facebook** и прочие.
Оснавная причина в том, что пользователи не владеют так таковыми созданными постами. Они храняться на 3 серверах, где могут редактировать или удалять контент без вашего ведома.
## Как будут выкладываться посты?
Посты не ежедневные и не ежемесячные. Когда появиться интересная история, то я срадостью поделюсь.
На данный момент, будут происходить изменения в сайте как в дизайне, так и добавление информации.
## Можно ли следить за постами?
Пока нет.
Я пока изучаю MkDocs и может появиться RSS Feed.
-8
View File
@@ -1,8 +0,0 @@
# Покупка Б/У дисков
*Дата: 02.01.2026*
*Теги: sas, homelab*
1 2 3
+42
View File
@@ -0,0 +1,42 @@
---
title: Привет!
---
Здесь я делюсь своим мнением и рассказываю, что произошло.
## Почему здесь?
Мне не нравиться социальные сети.
- **Вконтакте**
- **Twitter** (**X**)
- **Facebook**
И другие.
**Основная причина** - владелец контента не владеет полностью своими постами. Они находяться на 3 серверах и с ними могут сделать все что угодно.
А так как мессенджеры начали внедрять посты, они то же попадают в данную категорию. Хотя у некоторых проблем больше, что у приведенных выше социальных сетей.
- **Telegram**
- Обещал, обещал Дуров, что не выдаст ключи, а сам на хайпе поднялся и, се равно выдал Франции.
- Никогда не будет платных подписок... Видим на лицо.
- **WhatsApp**
- Эти хранения медиа данных на телефоне для галочки.
- **Max**
- Гигант бреда. Позже напишу пост, почему так думаю.
## Обновление
Посты **не ежедневные** и **не ежемесячные**. Если появиться что то интересное, то срадостью поделюсь.
## Обратите внимание!
Мое мнение должно оставиться **в узких кругах**.
??? warning "Не большое замечание"
**Я стараюсь никого не оскорблять**.
Хотя это полностью мой блог, интернет может по разному оценить мои посты.
+1
View File
@@ -0,0 +1 @@
@@ -0,0 +1,127 @@
## Инвентарь
- Операционная система: **Debian**
- Веб сервер: **Apache2**
- База данных: **MariaDB**
## Почему данный арсенал используеться?
- Операционная система используеться для удобства. Можно использовать Ubuntu, Fedora и прочие.
- С веб-сервером такая же ситуация. Можно использовать **Nginx**
- База данных почти не отличима от **MySQL**.
- Не рекомендеться использовать в продакшене **SQLite**.
> **Внимание!**
>
> Натстройка серверной части MariaDB в данной инструкции отсутствует.
## Настройка системы.
Не будем спешить и начнем с базовой настройки системы.
### Настройка прав учетной записи.
- Переключаемся на пользователя **root**.
```bash
su - #Вводим пароль от учетной записи root
```
- Устанавливаем пакет sudo, не забывая обновить репозитории и пакеты.
```bash
apt update && apt upgrade
apt install sudo
```
- Добавляем вашего пользователя в группу sudo.
```bash
usermod -aG sudo <имя пользователя>
```
- Полностью выходим из сессии и заходим заного.
### Установка пакетов.
- Установка основных пакетов для работы **Nextcloud**.
```bash
sudo apt install apache2 php php-cli php-common php-curl php-gd php-mysql php-xml php-json php-intl php-pear php-imagick php-dev php-mbstring php-zip php-soap php-bz2 php-bcmath php-gmp php-apcu mariadb-client curl wget unzip
```
Проверяем версию php. Поддерживаемые версии можно найти в [документации NextCloud](https://docs.nextcloud.com/server/latest/admin_manual/installation/system_requirements.html)
```bash
php --version
```
## Загрузка NextCloud.
- Загружаем архив сайта NextCloud по данному пути `https://download.nextcloud.com/server/releases/latest.zip`. Можно воспользоваться командой wget.
```bash
wget https://download.nextcloud.com/server/releases/latest.zip
```
- Распаковываем **latest.zip** архив.
```bash
unzip latest.zip
```
- Должен появиться каталог nextcloud
- Переносим в каталог nextcloud в `/var/www/`
```bash
sudo mv nextcloud /var/www/
```
- Должно появиться что то подобное.
```bash
$ ls /var/www
html nextcloud
```
- Замена прав доступа к каталогу и содержимому.
```bash
sudo chown www-data:www-data -R /var/www/nextcloud
```
### Настройка Apache2.
- Отключение default сайта.
```
sudo a2dissite 000-default.conf
```
- Создаем файл **nextcloud.conf** по пути /etc/apache2/sites-available с данными параметрами.
```apache2
<VirtualHost *:80>
DocumentRoot /var/www/nextcloud/
ServerName your.server.com
<Directory /var/www/nextcloud/>
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews
<IfModule mod_dav.c>
Dav on
</IfModule>
</Directory>
</VirtualHost>
```
- Включение данного сайтаю
```
a2ensite nextcloud.conf
```
- Перезапуск службы apache2.
```bash
sudo systemctl reload apache2
```
Если все получилось, то при переходе на страницу `http://<адрес сервера>` у вас откроеться первоначальная настройка NextCloud.
![first-setup-nextcloud](/media/first-setup-nextcloud.png)
!!! info "Обратите внимание"
В списке пакетов, которые были установлены с помощью пакетного менеджера apt, не была база sql, а так же плагин sqlite и прочие.
Эта инструкция нацелена на тех, кто использует отдельную и уже настроенную базу данных MariaDB или MySQL.
+48
View File
@@ -0,0 +1,48 @@
# Что такое Docker?
**Docker** — программное обеспечение для автоматизированного развертывания и управления приложениями в изолированных средах — контейнерах.
**Если говорить проще:** Docker помогает быстро развернуть разные проекты в своей изолированной контейнерной среде.
## Как он работает?
В контейнер можно «завернуть» свой или любой другой проект. Существуют готовые **образы (images)**, которые содержат предустановленные проекты со всеми зависимостями, что избавляет от необходимости компиляции и поиска библиотек.
## Готовые образы
Большая часть образов находится на [официальном репозитории Docker Hub](https://hub.docker.com).
Самые базовые:
- **Debian**, **Ubuntu**, **Fedora**, **CentOS** (ОС)
- **Python**, **MySQL**, **MariaDB**, **PostgreSQL** (сервисы)
А также готовые проекты:
- **PHP MyAdmin**, **Apache2**, **WordPress**, **phpBB**
Это позволяет запускать проекты на разных версиях ПО, обеспечивая совместимость даже со старыми системами.
## Доступ к контейнерам
Docker предоставляет несколько способов взаимодействия с контейнерами. Чаще всего используются:
- **Проброс портов** (например, порт `8080` в контейнере на порт `80` хоста)
- **Монтирование каталогов** (например, `/var/www/html` из контейнера в папку на хосте)
## Комбинирование контейнеров
Docker позволяет связывать контейнеры в общую сеть, что необходимо для сложных приложений.
**Пример стека для форума на phpBB:**
1. **MariaDB** — контейнер с базой данных
2. **phpBB** — контейнер с форумом, подключённый к MariaDB
3. **PHP MyAdmin** — контейнер для управления БД (опционально)
Все три контейнера работают вместе как единое приложение.
## Ссылки
- [Официальный сайт **Docker**](https://www.docker.com/)
- [Репозиторий образов **Docker**](https://hub.docker.com/)
+280
View File
@@ -0,0 +1,280 @@
# Команды Docker
## Введение
Рассмотрим команды, которые необходимо знать для использования Docker.
Список базовых команд:
- Справочная страница:
```bash
docker help
```
- Версия Dсocker:
```bash
docker version
```
- Базовая информация о работе Docker:
```bash
docker info
```
## Поиск образов
Поиск можно осуществлять на [сайте образов docker](https://hub.Docker.com/), но иногда можно искать и с помощью команд.
**Почему это полезно?** Мы быстрее получим необходимый список и сможем выбрать нужный Docker.
**Обычный поиск:**
```bash
docker search wordpress
```
???info "Пример резульата"
```
NAME DESCRIPTION STARS OFFICIAL
wordpress The WordPress rich content management system… 5855 [OK]
bitnami/wordpress Bitnami Secure Image for wordpress 281
bitnamicharts/wordpress Bitnami Helm chart for WordPress 2
elestio/wordpress Wordpress, verified and packaged by Elestio 6
secoresearch/wordpress Apache+PHP+Varnish+Wordpress 0
shinsenter/wordpress 🔋 (PHP / Wordpress) Production-ready Docker… 5
vulhub/wordpress 4
chainguard/wordpress Build, ship and run secure software with Cha… 0
corpusops/wordpress https://github.com/corpusops/docker-images/ 0
rootpublic/wordpress 0
centurylink/wordpress Wordpress image with MySQL removed. 14
erikzenker/wordpress wordpress docker image 0
arm64v8/wordpress The WordPress rich content management system… 21
arm32v7/wordpress The WordPress rich content management system… 16
tutum/wordpress Out-of-the-box Wordpress docker image 42
amd64/wordpress The WordPress rich content management system… 2
demyx/wordpress Non-root Docker image running Alpine Linux, … 2
i386/wordpress The WordPress rich content management system… 1
ppc64le/wordpress The WordPress rich content management system… 1
wodby/wordpress Vanilla WordPress container image 2
itherz/wordpress Wordpress 0
s390x/wordpress The WordPress rich content management system… 5
spatialy/wordpress Wordpress + PHP Extensions 0
arm32v5/wordpress The WordPress rich content management system… 0
mips64le/wordpress The WordPress rich content management system… 1
```
Здесь мы получаем список из 4 столбцов:
- **NAME** Имя
- **DESCRIPTION** Описание
- **STARS** Звезды, которые отображат популярность образов
- **OFFICIAL** Помечаються оффициальные образы
**Аргументы:**
- `-f` (`--filter`) Фильтрует результат.
- `-f stars=3` больше 3 звезд
- `-f is-offical=true` только оффициальные
- `--format` Преобразование вывода
- `--format "{{.Name}}"` Имя образа
- `--format {{.StarCount}}` Кол-во звезд
- `--format {{.Description}}` Описание
- `--format {{.IsOffical}}` официальный образ
- `--limit` Ограничивает список до определенного количества
- `--limit 5` Выводит 5 образов
- `--no-trunc` Не сокращенный вариант описания
**Поиск с аргументами:**
```bash
docker search --limit 5 --format "{{.Name}}: {{.Description}}" --no-trunc wordpress
```
???info "Пример результата"
```
wordpress: The WordPress rich content management system can utilize plugins, widgets, and themes.
bitnami/wordpress: Bitnami Secure Image for wordpress
bitnamicharts/wordpress: Bitnami Helm chart for WordPress
elestio/wordpress: Wordpress, verified and packaged by Elestio
secoresearch/wordpress: Apache+PHP+Varnish+Wordpress
```
## Установка образа
Теперь попробуем установить образ **nginx**.
**Установка образа:**
```bash
docker pull nginx
```
???info "Пример вывода"
```
Using default tag: latest
latest: Pulling from library/nginx
02d7611c4eae: Pull complete
dcea87ab9c4a: Pull complete
35df28ad1026: Pull complete
99ae2d6d05ef: Pull complete
a2b008488679: Pull complete
d03ca78f31fe: Pull complete
d6799cf0ce70: Pull complete
Digest: sha256:ca871a86d45a3ec6864dc45f014b11fe626145569ef0e74deaffc95a3b15b430
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
```
Смотря от загрузки сети, через некоторое время, у нас получиться установить **nginx**.
!!!note "Обратите внимание"
Оффициальный поставщик образов **Docker** имеет имя **library**.
Когда мы устанавливаем оффициальные образа, можно не указывать поставщика.
**Установка определенной версии:**
```bash
docker pull nginx:1.29-trixie
```
Под версии в Docker подразумеваются **Tags**. Теги просматриваются на сайте [hub.docker.com](https://hub.docker.com). В нашем случае это [данный образ](https://hub.docker.com/_/nginx/tags/).
К сожалению, с помощью команды **docker** нельзя просмотреть список версий. Можно с помощью api или, как было написанно выше - на сайте.
| ![image](../../media/hub.docker.com-nginx-tags.png) |
| :--------: |
| Теги Nginx |
## Просмотр установленных образов
После устанвки, можно посмотреть какие образы у нас установлены:
```bash
docker images
```
???info "Пример вывода"
```
REPOSITORY TAG IMAGE ID CREATED SIZE
...
nginx latest 058f4935d1cb 10 days ago 152MB
...
```
Мы получим пять колонок:
- **REPOSITORY** имя образа (репозитория). Обычно пишеться `имя поставщика/образ`
- **TAG** версия (тег) изображения
- **IMAGE ID** ID изображения
- **CREATED** Когда данный образ обновлялся
- **SIZE** Размер образа
## Запуск контейнера
Запуск происходит достаточно простым способом. Попробуем запустить контейнер nginx, который только что установили.
```bash
docker run nginx
```
Веб сервис nginx запуститься и отобразит логи.
???info "Пример логов"
```
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
2026/01/14 14:30:15 [notice] 1#1: using the "epoll" event method
2026/01/14 14:30:15 [notice] 1#1: nginx/1.29.4
2026/01/14 14:30:15 [notice] 1#1: built by gcc 14.2.0 (Debian 14.2.0-19)
2026/01/14 14:30:15 [notice] 1#1: OS: Linux 6.1.0-27-amd64
2026/01/14 14:30:15 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2026/01/14 14:30:15 [notice] 1#1: start worker processes
2026/01/14 14:30:15 [notice] 1#1: start worker process 30
2026/01/14 14:30:15 [notice] 1#1: start worker process 31
2026/01/14 14:30:15 [notice] 1#1: start worker process 32
2026/01/14 14:30:15 [notice] 1#1: start worker process 33
2026/01/14 14:30:15 [notice] 1#1: start worker process 34
2026/01/14 14:30:15 [notice] 1#1: start worker process 35
2026/01/14 14:30:15 [notice] 1#1: start worker process 36
2026/01/14 14:30:15 [notice] 1#1: start worker process 37
2026/01/14 14:30:15 [notice] 1#1: start worker process 38
2026/01/14 14:30:15 [notice] 1#1: start worker process 39
2026/01/14 14:30:15 [notice] 1#1: start worker process 40
2026/01/14 14:30:15 [notice] 1#1: start worker process 41
2026/01/14 14:30:15 [notice] 1#1: start worker process 42
2026/01/14 14:30:15 [notice] 1#1: start worker process 43
2026/01/14 14:30:15 [notice] 1#1: start worker process 44
2026/01/14 14:30:15 [notice] 1#1: start worker process 45
```
Но зайти на стандартную страницу по порту 80, вероятнее вссего не получиться.
### Проброс портов
Попробуем пробросить HTTP порт 80.
```bash
docker run -p 80:80 nginx
```
- `-p 80:80` - `[HOST]:[CONTAINER]` - проброс порта на машину хоста.
- Тем же самым можно пробросить на другие порты хоста `81:80`, `8080:80` и так далее. Это помогает избежать конфликтов, когда запущено несколько портов и они используют одни и те же порты.
Теперь, когда перейдем на адрес машины, то мы получим страницу по умолчанию:
- [http://localhost](http://localhost) - кто поднимает контейнеры на основной машине или пробрасывает порты.
- `http://[адрес хоста с активным контейнером]` - прямой доступ с удаленной машины.
???warning "Информация для тех, которые поднимают первый раз сайты"
Браузер может запросить о подтверждения входа. Это из-за того, что используеться http протокол, а не https.
Принимаем риски.
???info "Стартовая страница nginx"
![Docker nginx title web site](../../media/docker-run-nginx-title-web-site.png)
### Монтирование каталога
Однозначно, если мы говорим про nginx, нам нужен прямой доступ к `/usr/share/nginx/html`, да бы иметь доступ к исходному сайту.
```bash
docker run -p 80:80 -v /mnt/nginx:/usr/share/nginx/html:ro nginx
```
- `-v /mnt/nginx:/usr/share/nginx/html:ro` - `[HOST]:[CONTAINER]:[PERMISSION]` - подключение каталога контейнера к машине с правами только для четения.
- `ro` - только для четения не для контейнера, а для самого контейнера.
- Это полезно, когда нужно что бы процесс в контейнере случайно не изменил сруктуру сайта.
- Если не нужно прописывать такие обраничения, то не устанавливаем данный параметр и простовводим `-v /mnt/nginx:/usr/share/nginx/html`
- Каталог автоматически создасться, если отсутствует.
!!!warning "Смотрите оф документацию по настройке NGINX"
Это пример использования команд docker.
Читайте настройку.
### Фоновый запуск
Контейнер уже готов для постоянного использования. Попробуем запустить в демоне.
```bash
docker run -p 80:80 -v /mnt/nginx:/usr/share/nginx/html:ro -d nginx
```
- `-d` - Процесс будет запущен в фоне.
## Просмотр рабочих контейнеров
Да бы проверить, какие контейнеры работают на данный момент, прописываем данную команду:
```bash
docker ps
```
---
**📌 Документ в разработке.** Следующие разделы в работе:
- Управление контейнерами (`exec`, `logs`, `ps`, `stop`, `rm`)
- Работа с томами (Volumes)
- Сети Docker
+92
View File
@@ -0,0 +1,92 @@
# Установка Docker
## С помощью готового скрипта (Быстрый способ)
```bash title="Быстрая установка"
curl -fsSL https://get.docker.com/ | sh
```
??? "Описание аргументов curl"
- `-f`(`--fail`) - если произойдет ошибка, `curl` молча остановится, не передавая HTML-страницу с ошибкой в `sh`.
- `-s`(`--silent`) - тихий режим. Не отображает индикатор прогресса.
- `-S`(`--show-error`) - покажет ошибки, если они возникнут.
- `-L`(`--location`) - следовать перенаправлениям (если ссылка изменилась).
!!!info "Примечание"
- Убедитель, что в системе установлен пакет `curl`
- Запускаете с повышенными правами с помощью `sudo`, если не используете **root**.
- Убедитесь, что установлен `sudo` и парава на его использование.
!!!quote "Не большое замечание"
Есть 2 варианта, как установить docker:
1. Через пакетный менеджер с добавлением официального репозитория.
2. C помощью готового скрипта.
Здеcь показан второй вариант установки. Он более быстрый и я его использую на постоянной основе.
---
## Выдача права управления пользователю
Как только установите, права на управление Docker будут только у **root**.
```bash title="Установка прав"
sudo usermod -aG docker $USER
```
- Замените **$USER**, если выдаете другому пользователю.
- Перезайдите, или используйте данную команду для немедленного применения.
```bash
newgrp docker
```
---
## Проверка
Запустим простой контейнер.
```bash
docker run hello-world
```
??? "Результат команды"
```
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
17eec7bbc9d7: Pull complete
Digest: sha256:d4aaab6242e0cace87e2ec17a2ed3d779d18fbfd03042ea58f2995626396a274
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
```
**Описание к выводу**:
- Первая строка показывает, что образ `hello-world` не найден локально.
- Docker автоматически обращается к реестру (Docker Hub) и находит образ `library/hello-world`.
- Затем он загружает образ, проверяет его контрольную сумму и сразу запускает контейнер.
---
## Ссылки
- [Официальный Сайт **Docker**](https://docker.com)
- [Официальный документации по установке **Docker**](https://docs.docker.com/engine/install/) - на английском
+120
View File
@@ -0,0 +1,120 @@
# Запуск контейнеров
Присутствует 2 варианта запуска контейнеров:
1. Обычный, через команду `docker run`
2. С помощью файла docker-compose.yml
Обычный запуск достаточно простой, но не удобен. Мы расмотрим 2 вариант, так как он более понятный и его чаще всего используют.
## Пример файла docker-compose.yml
```yaml
services:
hbbs:
container_name: hbbs
image: rustdesk/rustdesk-server:latest
command: hbbs
volumes:
- /docker/rustdesk/data:/root
network_mode: host
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: hbbr
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- /docker/rustdesk/data:/root
network_mode: host
restart: unless-stopped
```
Это рабочая настройка контейнера с RustDesk Server, скопированная с моего сервера.
Пробежимся по параметрам, которые показаны выше.
| Название | Описание |
| :---: | :------- |
| **services** | Основной параметр, в который вводяться параметры контейнеров. |
| **hbbs** и **hbbr** | Название контейнеров. |
| **container_name** | Назначение основного названия контейнера. |
| **image** | Путь до образа контейнера `{ХОСТ}/{ОБРАЗ}:{ВЕРСИЯ} |
| **command** | Комманда, которые будет воспроизводиться при старе контейнера. Обычно не указываеться. |
| **volumes** | Точки монтирования каталогов `{ХОСТ}:{КОНТЕЙЕР}`. |
| **network_mode** | Тип проброса сети. |
| **depends_on** | Включение после определенного контейнера. |
| **restart** | Тип перезапуска. |
## Запуск контейнеров
Запуск достаточно простой. Нужно ввести данную команду:
```bash
docker compose up
```
Команда запустит и выведет логи, но не переведет в фоновый режим. Следующая команда запуит в демоне:
```bash
docker compose up -d
```
Во время запуска, если образ не был загружен, Docker автоматически подгрузит по адресу, который был предоставлен в параметре **image**.
!!!warning "Обратите внимание"
Активный каталог должен быть там, где находиться файл **docker-compose.yml**, когда используете команду, которая начинаеться с `docker compose`.
## Проверка активных контейнеров
Да бы посмотреть какие контейнеры запущены на хосте, используеться данная комманда:
```bash
docker ps
```
!!!info "Пример вывода"
```
...
c737f116506f rustdesk/rustdesk-server:latest "hbbs" 3 months ago Up 2 months hbbs
ecf717a21f84 rustdesk/rustdesk-server:latest "hbbr" 3 months ago Up 2 months hbbr
...
```
- **CONTAINER ID** - ID контейнера.
- **c737f116506f**
- **IMAGE** - Образ, использующий контейнером.
- **rustdesk/rustdesk-server:latest**
- **COMMAND** - Комманда, работающая в контейнере.
- **"hbbs"**
- **CREATED** - Когда контейнер создан.
- **3 months ago**
- **STATUS** - Время работы контейнера.
- **Up 2 months**
- **PORTS** - Проброшенные порты с контейнера.
- Отстутвует, так как параметр `network_mode: host` передает весь трафик на хост.
- **NAME** - Имя контейнера.
- **hbbs**
## Отключение контейнера
Выключение происходит данной коммандой:
```bsah
docker compose stop
```
## Удаление данных контейнера
Это полезно во время очистки или диангостики/восстановления.
```bash
docker compose rm
```
Docker может запросить подтверждение.
## Ссылки
- [Оф. документация Docker Compose](https://docs.docker.com/compose/) - На английском языке.
+19
View File
@@ -0,0 +1,19 @@
## Что такое Guacamole?
**Guacamole** это веб сервис от **Apache**, который дает возможность подключаться по разным протоколам к разным устройствам через веб клиент.
## Список поддерживаемых протоколов
- **RDP**
- **VNC**
- **SSH**
- **TELLNET**
| ![guacamole main page](../../media/guacamole-mainpage.png) | ![guacamole win2009](../../media/guacamole-connect-to-win2009.png) |
| :---: | :---: |
| Основная страница Guacamole | Windows server 2009 через Guacamole |
| ![guacamole terminal](../../media/guacamole-terminal.png) |
| :---: |
| Терминал с MC |
+122
View File
@@ -0,0 +1,122 @@
# Установка Guacamle
!!!Info "Вариант установки"
Есть 2 варианта установки:
1. **Ручная** - Компиляция **Guacd**, установка **tomcat** с клиентом **Guacamole** и подключение к **базе данных**.
2. **Docker** контейнеры - **mysql**, **guacd**, **guacamole**.
Будет описана установка Guacamole с помощью Docker.
## Примечание
Проверьте, что у вас установлен **Docker**.
## Готовые файлы
`docker-compoae.yaml`:
```yaml
services:
guacamole:
image: guacamole/guacamole
container_name: guacamole
restart: always
env_file:
- ./.env
depends_on:
- guacd
- mysql
ports:
- "80:8080"
environment:
GUACD_HOSTNAME: guacd
MYSQL_HOSTNAME: mysql
MYSQL_DATABASE: guacamole_db
MYSQL_USER: "guacamole"
MYSQL_PASSWORD: "guacamole"
volumes:
- ./data/guacamole/data:/app/data
guacd:
image: guacamole/guacd
container_name: guacd
restart: always
mysql:
image: mysql:8.0
container_name: mysql
restart: always
env_file:
- ./.env
environment:
MYSQL_ROOT_PASSWORD: ${ROOTPASS}
MYSQL_DATABASE: guacamole_db
MSQL_USER: ${GUACUSER}
MYSQL_PASSWORD: ${GUACPASS}
volumes:
- ./data/mysql/data:/var/lib/mysql
- ./data/mysql/script:/script
pma:
image: phpmyadmin
restart: always
ports:
- 8080:80
environment:
PMA_HOST: mysql
```
`.env`:
```
GUACUSER=CHANGE-ME
GUACPASS=CHANGE-ME
ROOTPASS=CHANGE-ME
```
## Первая настройка
Перед запуском, нужно настроить базу данных.
Запускаем все контейнеры
```bash
docker compose up -d
```
Создаем файл базы данных **initdb.sql**
```bash
docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh > ./initdb.sql
```
Файл базы данных **initdb.sql** должен появиться в активном каталоге.
Добавим самым простым способом в базу данных mysql, использую **PhpMyAdmin**.
1. Заходим на **PhpMyAdmin** и вводим логин и пароль. `{address}:8080`
2. Переходим в базу данных, которую будет использовать **Guacamole**. В наем случае это **guacamole_db**.
3. Выбираем вкладку **SQL**.
4. Открываем **initdb.sql**, копируем содержимое и вставляем в большое поле.
5. После вставки, нажимаем **Вперёд**.
| ![phpmyadmin login](../../media/phpmyadmin-login.png) | ![phpmyadmin main page](../../media/phpmyadmin-main_page.png) |
| :---: | :---: |
| Страница авторизации | Главная страница |
| ![phpmyadin paste data](../../media/phpmyadmin-paste-sql-data-from-database.png) |
| :---: |
| Вставленные данные |
## Вход на Guacamole
Переходим на сайт Guacamole и вводим логин и пароль учетной записи.
- Логин: `guacadmin`
- Пароль: `guacadmin`
| ![guacamole login](../../media/guacamole-login.png) |
| : --- : |
| Вход на Guacamole |
Если все сделали корректно, то аунтификация должна пройти успешно.
## Ссылки
- [Оф. сайт](https://guacamole.apache.org/)
- [Документация](https://guacamole.apache.org/doc/gug/) - на английском
+5
View File
@@ -0,0 +1,5 @@
# Добро пожаловать в доки
Это мой личный список как документаций, так и описание чего либо.
Если найдете ошибки или имееться желание что-то добавить, обращайтесь ко мне. Обратную связь найдете внизу.
+33
View File
@@ -0,0 +1,33 @@
## Оглавление
Не большая шпаргалка для использования консоли Linux.
Список комманд будет пополняться.
!!! info "Не забудьте"
Команда **man** выведет информацию о нужной вам команде.
```command
$ man <команда>
```
Если данной комманды нет, его можно установить пакетом из репоитория вашего дистрибутива.
## Уравление файлами и изменение активного каталога
| Команда | Описание | Базовые аргументы | Пример |
| :-------: | -------- | ----------------- | ------: |
| [`ls`](../command-ls/) | Просмотр элементов в каталоге | `-l` Вывод элементов подробным списком<br>`-a` Вывести скрытые элементы | `ls -la /` |
| `mv` | Перенести или перемновать каталог или файл | `-f` Принудительный перенос файлов (полезно для слияния каталогов) | `mv file.txt file.md` |
| `rm` | Удаление каталога или файла | `-r` Рекурсивное удаление. Обязательно для каталогов. | `rm file.txt` |
| `cp` | Копирование каталогов и файлов | `-r` Рекурсивное копирование. Обязательно для каталогов. | `cp file.txt /home/user/file.txt` |
| `ln` | Создание ссылки до файла или каталога | `-s` Создание символических ссылкок. | `ln file.txt /home/user/file.txt` |
| `mkdir` | Создание каталогов | `-p` Принудительное создание каталогов. Полезно, когдно нужно создать несколько вложенных каталогов. | `mkdir -p ~/1/2/3/4/5` |
| `file` | Просмотр информации о файле | | `file file.txt` |
---
## Информация о системе
| Команда | Описание | Базовые аргументы | Пример |
| :-------: | -------- | ----------------- | ------ |
| `uname` | Информация о ядре | `-a` выводит полную информацию о ядре | `uname -a` |
| `lsblk` | Просмотр подключенных носителей | | `lsblk /dev/sda` |
+188
View File
@@ -0,0 +1,188 @@
## Что делает данная команда?
Команда **LS** (List Files and Directories) - выводит список директорий и файлов.
## Возможности
- Вывод в подробном (списком) или в краце (строчном) формате
- Сортировка по алфавиту, дате, размеру и типу
- Отображение скытых файлов
- Рекрусивый обход каталогов
## Базовые примеры
### Команда без аргументов
Попробуем сначала вывести просто `ls` без аргументов.
```console title="Просто ls"
[cher@k-des test0]$ ls
dirrectory hello-world.txt
```
Мы видим, что было выведено 2 элемента: **hello-world.txt** и **dirrectory**.
### Вывод элементов вне активном каталоге
Так же, список можно вывести и не в активном каталоге. Пропишем любой путь.
```console title="Вывод содержимого вне активного каталога"
[cher@k-des test0]$ ls /srv
ftp http nfs4
```
В каталоге, **srv**, который находиться в корневом каталоге системы `/`, видим 3 элемента: **ftp**, **http** и **nfs4**.
### Вывод всех элементов в каталоге
Теперь посмотрим, имеються ли скрытые файлы с помощью аргумента `-a`.
```console title="Вывести все что есть"
[cher@k-des test0]$ ls -a
. .. dirrectory hello-world.txt .hide-file.txt
```
!!! info "Скрытые файлы и каталоги"
Скрытые файлы и каталоги обозначаються точкой перед названием.
Пример: `.FileName.md`
Мы видим, что в нашем каталоге имееться скрытый файл **.hide-file.txt**. Но вместе с этим мы получили еще 2 элемента: `.` и `..`. Что они обозначают?
1. `.` обозначает наш активный каталог.
2. `..` ссылкаеться на предыдущий каталог.
Прямо сейчас, они нам не нужны. Можно такие элементы не выводить, и аргумент `-A` нам поможет.
```console title="Вывести все скрытые файлы и каталоги"
[cher@k-des test0]$ ls -A
dirrectory hello-world.txt .hide-file.txt
```
### Вывод подробного, строчного списка
Теперь попробуем вывести списком. Для этого нам понадобиться аргумент `-l`. Попробуем ввести с дополнительным аргументом `-A`.
```console title="Подробный список"
[cher@k-des test0]$ ls -lA
итого 12
drwxr-xr-x 2 cher cher 4096 янв 3 20:03 dirrectory
-rw-r--r-- 1 cher cher 16 янв 3 19:35 hello-world.txt
-rw-r--r-- 1 cher cher 10 янв 3 19:38 .hide-file.txt
```
Здесь нужно остановиться и разобраться, что здесь написано.
| Параметр | Описание |
| -------- | -------- |
| **итого 12** | Обозначаеться общий размер всех файлов в каталоге в килобайтах. Но считает не размерами файлов, а блоками. |
| **-rw-r--r--** | Права на файл или каталог. *Данная тема очень обширная и ее следует рассматривать отдельно*. <br> Мы можем увидеть, что у каталога в начале прав вместо `-` установлена `d`. Это обозначение каталога. <br> *Данная тема очень обширная и ее следует рассматривать отдельно*.|
| Первый параметр **cher** | Имя пользователя, который владеет каталогом или файлом. <br> Данный владелец присвоился от создателя. |
| Второй параметр **cher** | Группа, которая владеет каталога или файла. <br> Данная группа присвоилась от создателя. |
| **4096**, **16** и **10** | Размер файла и каталога в байтах. <br> Каталоги, как и все в Linux - файл. Обычный пустой каталог весит **4096** байтов, то есть **4** КБ. |
| **Янв 3 19:38** | Дата и время создания или измения каталога. |
### Завершение базовой части
Мы прошлись по базовым аргументам, которые должны знать уверенные пользователи GNU/Linux.
!!! info "Не большая рекомендация"
Попробуйте на своей машине с GNU/Linux попрактиковаться.
## Расширенные примеры
Посмотрим другие параметры.
### Перевернуть список
Попробуем перевернуть список, используя аргумент `-r` `--reverse`.
```console title="Вверх ногами"
[cher@k-des test0]$ ls -lr
итого 8
-rw-r--r-- 1 cher cher 16 янв 3 19:35 hello-world.txt
drwxr-xr-x 2 cher cher 4096 янв 3 20:03 dirrectory
```
### Сортировать по размеру
Теперь посмотрим, какие файлы самые большие, использовав аргумент `-S`.
```console title="Сортировка по размеру"
[cher@k-des test0]$ ls -lS
итого 8
drwxr-xr-x 2 cher cher 4096 янв 3 20:03 dirrectory
-rw-r--r-- 1 cher cher 16 янв 3 19:35 hello-world.txt
```
Ничего не изменилось. Да же, если выведем и скрытые файлы, то ничего не измениться. Потому что обычная и по размеру сортировка совпадает. Попробуем тогда вывести с другого каталога.
Возьмем для примера каталог `/etc/ssh`, где присутствют файлы конфигурации ssh.
```console title="Сортировка по размеру №2"
[cher@k-des test0]$ ls -l /etc/ssh
итого 608
-rw-r--r-- 1 root root 581349 окт 25 11:36 moduli
-rw-r--r-- 1 root root 1558 дек 4 02:47 ssh_config
drwxr-xr-x 2 root root 4096 дек 7 15:46 ssh_config.d
-rw-r--r-- 1 root root 3528 ноя 30 01:22 sshd_config
drwxr-xr-x 2 root root 4096 ноя 17 19:57 sshd_config.d
-rw------- 1 root root 505 окт 2 02:26 ssh_host_ecdsa_key
-rw-r--r-- 1 root root 172 окт 2 02:26 ssh_host_ecdsa_key.pub
-rw------- 1 root root 399 окт 2 02:26 ssh_host_ed25519_key
-rw-r--r-- 1 root root 92 окт 2 02:26 ssh_host_ed25519_key.pub
-rw------- 1 root root 2590 окт 2 02:26 ssh_host_rsa_key
-rw-r--r-- 1 root root 564 окт 2 02:26 ssh_host_rsa_key.pub
[cher@k-des test0]$ ls -lS /etc/ssh
итого 608
-rw-r--r-- 1 root root 581349 окт 25 11:36 moduli
drwxr-xr-x 2 root root 4096 дек 7 15:46 ssh_config.d
drwxr-xr-x 2 root root 4096 ноя 17 19:57 sshd_config.d
-rw-r--r-- 1 root root 3528 ноя 30 01:22 sshd_config
-rw------- 1 root root 2590 окт 2 02:26 ssh_host_rsa_key
-rw-r--r-- 1 root root 1558 дек 4 02:47 ssh_config
-rw-r--r-- 1 root root 564 окт 2 02:26 ssh_host_rsa_key.pub
-rw------- 1 root root 505 окт 2 02:26 ssh_host_ecdsa_key
-rw------- 1 root root 399 окт 2 02:26 ssh_host_ed25519_key
-rw-r--r-- 1 root root 172 окт 2 02:26 ssh_host_ecdsa_key.pub
-rw-r--r-- 1 root root 92 окт 2 02:26 ssh_host_ed25519_key.pub
```
Здесь уже достаточно хорошо видно различие между обычной сортировки и сортировки по размеру.
Обратная сортировка осуществляеться таким образом: `ls -lSr`.
### Рекурсивый просмотр каталогов
Попробуем вывести сразу список в активном каталоге и тех, которые находяться в нем. Добавим аргумент `-R` к `-l`.
```console title="Вевести ВСЕ!"
[cher@k-des test0]$ ls -lR
.:
итого 8
drwxr-xr-x 3 cher cher 4096 янв 3 21:52 dirrectory
-rw-r--r-- 1 cher cher 16 янв 3 19:35 hello-world.txt
./dirrectory:
итого 8
drwxr-xr-x 2 cher cher 4096 янв 3 21:53 dirrectory0
-rw-r--r-- 1 cher cher 5 янв 3 21:49 gift.txt
./dirrectory/dirrectory0:
итого 4
-rw-r--r-- 1 cher cher 10 янв 3 21:53 trap.txt
```
Теперь мы сразу увидели что находиться в каталогах **./dirrectory** и **./dirrectory/dirrectory0**.
### Сотрировка по времени
Аргумент `-t` или `--time` поможет сортировать по времени.
```console title="Временной калаж"
[cher@k-des test0]$ ls -ltA
итого 12
drwxr-xr-x 3 cher cher 4096 янв 3 21:52 dirrectory
-rw-r--r-- 1 cher cher 10 янв 3 19:38 .hide-file.txt
-rw-r--r-- 1 cher cher 16 янв 3 19:35 hello-world.txt
```
### Вывод элементов по строчно без дополнительной информации
Аргумент `-1` работает также, как и `-l`, но без лишней информации, только название элементов.
```console title="Строчный список имен"
[cher@k-des test0]$ ls -1A
dirrectory
hello-world.txt
.hide-file.txt
```
## Аргументы
| Аргумент | Описание |
| :--------: | -------- |
| `-l` | Выводит подробный список. |
| `-a`, `--all`| Выводит дополнительно скрытые файлы и каталоги, начинающиеся с точки. |
| `-A` `--almost-all` | То же, что и `-a`, `-all`, но без основного каталога `.` и каталога выше `..`.|
| `-o` | То же, что и `-l`, но без групп. |
| `-g` | То же, что и `-l`, но без владельцев. |
| `--full-time` | Выведет время в полном варианте. <br> Будет использоваться формат **full-iso**. |
| `-S` | Сортировка элементов по размеру. |
| `-s` | Отобразить блочно размер файлов. |
| `-r` | Перевернуть список. |
| `-R` | Рекурсивный список каталогов и файлов. <br> Отобразит содержимое основного каталого и и тех, которые присутствуют в нем. |
| `-1` | Работает так же, как и `-l`, но выводит только название файлов и каталогов. |
| `-t`, `--time` | Сортировка по времени |
+82
View File
@@ -0,0 +1,82 @@
## Что делает данная команда?
Команда **LS** (List Files and Directories) - выводит список директорий и файлов в активном каталоге.
## Что она может делать?
- Выводить как списоком, то есть подробно, так и в строку.
- Сортировать вывод по алфавиту, дате и типу.
## Примеры
Попробуем сначала вывести просто `ls` без аргументов:
```bash
[cher@k-des test0]$
ls
dirrectory hello-world.txt
```
Мы видим, что было выведено 2 элемента: `hello-world.txt` и `dirrectory`.
Теперь посмотрим, имеються ли скрытые файлы:
```bash
[cher@k-des test0]$
ls -a
. .. dirrectory hello-world.txt .hide-file.txt
```
> Да бы скрыть файл или каталог, его название должно иметь в начле точку `.`.
Мы видим, что в нашем каталоге имееться скрыты файл `.hide-file.txt`. Но вместе с этим мы получили еще 2 элемента: `.` и `..`. Что они обозначают?
- `.` обозначает наш активный каталог.
- `..` ссылкаеться на предыдущий каталог.
Они нам особо не нужны. Можно их не выводить. Аргумент `-A` не выводит данные обозначения:
```bash
[cher@k-des test0]$
ls -A
dirrectory hello-world.txt .hide-file.txt
```
Теперь попробуем вывести списком. Для этого нам понадобиться аргумент `-l`. Попробуем снова посмотрет с дополнительны аргументом `-A`:
```bash
[cher@k-des test0]$
ls -lA
итого 12
drwxr-xr-x 2 cher cher 4096 янв 3 20:03 dirrectory
-rw-r--r-- 1 cher cher 16 янв 3 19:35 hello-world.txt
-rw-r--r-- 1 cher cher 10 янв 3 19:38 .hide-file.txt
```
Здесь нужно остановиться и разобраться, что здесь написано.
- **итого 12** - Так обозначаеться общий размер всех файлов в каталоге в килобайтах. Но считает не размерами файлов, а блоками.
- **-rw-r--r--** - Права на файл или каталог. *Данная тема очень обширная и ее следует рассматривать отдельно*.
- Мы можем увидеть, что у каталога в начале прав вместо `-` установлена `d`. Это обозначение каталога.
- **Первый столбец с обозначением cher** - Имя пользователя, который владеет каталогом или файлом.
- **Второй столбец с обозначением cher** - Группа, которая владеет каталога или файла.
- Почему имя пользователя и группа одинакова? При создании какого либо элемета, владельцем становиться создатель, а так же, присваиваеться его группа.
- **4096**, **16** и **10** - Размер файла и каталога в байтах.
> Каталоги, как и все в Linux - файл. Обычный пустой каталог весит **4096** байтов, то есть **4** КБ.
- **Янв 3 19:38** - Дата и время создания или измения каталога.
| Параметр | Описание |
| -------- | -------- |
| **итого 12** | Обозначаеться общий размер всех файлов в каталоге в килобайтах. Но считает не размерами файлов, а блоками. |
| **-rw-r--r--** | Права на файл или каталог. *Данная тема очень обширная и ее следует рассматривать отдельно*. <br> Мы можем увидеть, что у каталога в начале прав вместо `-` установлена `d`. Это обозначение каталога. |
| Первый параметр **cher** | Имя пользователя, который владеет каталогом или файлом. |
| Второй параметр **cher** | Группа, которая владеет каталога или файла. |
| **4096**, **16** и **10** | Размер файла и каталога в байтах. <br> Каталоги, как и все в Linux - файл. Обычный пустой каталог весит **4096** байтов, то есть **4** КБ. |
| **Янв 3 19:38** | Дата и время создания или измения каталога. |
Это базовые аргументы, которые должны знать пользователи GNU/Linux. Теперь посмотрим и другие парамерты.
## Аргументы
| Аргумент | Описание |
| -------- | -------- |
| `-l` | Выводит подробный список. |
| `-a`, `--all`| Выводит дополнительно скрытые файлы и каталоги, начинающиеся с точки. |
| `-A` `--almost-all` | Выведет все файлы в каталоге. Без активного каталога `.` и каталога выше `..`.|
| `-o` | То же, что и `-l`, но без групп. |
| `-g` | То же, что и `-l`, но без владельцев. |
| `--full-time` | Выведет время в полном варианте. Будет использоваться формат **full-iso** |
@@ -0,0 +1,93 @@
# Устранение сетевых проблем
!!! Warning "Обратите внимание"
Ошибки бывают разные. Доступ к определенному ресурсу, пропускная спостобность и так далее.
Здесь разберем самые самые частые проблемы, которые могут быть.
Так же, эта информация не для обычных пользователей, а администраторов сетей и серверов. Здесь показаны достаточно специфичные варианты устранения проблем.
Все команды, показаны здесь чаще всего используються в ОС Linux.
Посмотрим сначала достаточно простые проблемы, а после перейдем на более серьезные ситуации.
---
## Сайт не открываеться
Для начала посмотрим коды ошибок.
??? info "Комментарий автора"
Сам не запоминаю коды, так как сразу перехожу на поиск проблемы. Это происходит на мышечном памяти.
Когда управляешь самостоятельно всей инфраструктурой, можешь сразу определить причину методом исключения. Однако это не очень правильно и коды необходимо знать.
### Коды ошибок
Самые частые коды:
1. **404** — **Not Found** — ресурс не найден на сервере.
2. **403** — **Forbidden** — доступ запрещен.
- Неправильные права доступа к файлам на уровне ОС.
- Активен фильтр ограничения доступа (IP-белый список и т.п.).
3. **504** — **Gateway Timeout** — бэкенд не ответил вовремя.
- Сервер отвечает долго и может происходить на сетевом уровне или из-за нагруженности бэкенда.
4. **503** — **Service Unavailable** — бэкенд временно недоступен.
- Бэкенд не запущен или упал.
- Порт бэкенда закрыт или недоступен.
5. **502** — **Bad Gateway** — прокси получил некорректный ответ от бэкенда.
- Несовместимость версий протоколов.
- Бэкенд отдает ответ в неправильном формате.
!!! info Бэкенд
Был упомянут такой термин, как Бэкенд.
Это распространенное название конечных серверов, когда веб сервер находиться из сервером проксирования.
Коды ошибок во время диагностики:
1. **200** - **OK** - ресурс упешно получен без каких либо ошибок.
2. **301** - **Moved Permanently** - Перенаправляет на другой URI.
---
### Примеры ситуаций
#### Сайт поднят, но не открываються на других устройствах в локальной сети
Для начала, и это самое важное, нужно определить как именно не открываеться.
- Сайт не загружаеться.
- Браузер сразу показывает ошибку, что не может достучаться до сайта.
- **Server not found** или **Не удается получить доступ к сайту**.
- Выводит статическу ошибку о ошибке.
- Сервер выведет данную ошибку ввиде HTML страницы кода, если такое веб сервер умеет.
##### Сайт не открываеться.
Для начало узнаем, открыт ли порт.
```
nc -zv <address> <port>
```
``` title="Порт открыт"
$ nc -zv 192.168.1.1 80
Connection to 192.168.1.1 80 port [tcp/http] succeeded!
```
``` title="Порт закрыт"
$ nc -zv 192.168.1.1 80
nc: connect to 100.222.6.5 port 80 (tcp) failed: Connection timed out
```
!!! info "Рекомендация"
Используйте параметр `-w`. Данный параметр выставляет time out по секундноe
+10
View File
@@ -0,0 +1,10 @@
<h1 style="text-align:center;">Команды Linux</h1>
| Команда | Значение | Комментарий |
| :--: | :--- | :--- |
| `systemctl status` | Список всех служб | |
| `systemctl` или `systemctl list-utils` | Список рабочих служб | |
| `systemctl --failed` | Службы, которые завершились с ошибкой | |
| `systemctl list-unit-files` | Оторазить список unit файлов (`.service`,`.mount`...) со статусом | |
| `systemctl status` *pid* | Отобразить статус определенной службы | |
+46
View File
@@ -0,0 +1,46 @@
## Зачем это нужно?
Пользователи, которые используют мой VPN постоянно спрашивают о разных технических проблемах. Отвечать я не устал, однако иногда оперативно не получаеться всем ответить.
Я создал комнату на моем сервере Element, да бы пользователи могли общаться, помогать и оперативно получать важную информацию о работе vpn.
## Почему Element?
Я не буду вдаваться в технические особеднности данного мессенджера. Однако четко отвечу на вопрос.
> **Element** - гибкий сервис, где достаточно удобно можно создавать комнаты и общаться с пользователями.
>
> Данный сервис не запрашивает почту или номер телефона во время регистрации и можно развернуть свой личный сервер у себя дома или на арендованном сервере. А это приводит к тому, что Element достаточно удобен и его с наименьшей вероятностью заблокируют.
## Параметры подключения
- Веб сайт, где можно общаться: [https://element.serti.fun](https://element.serti.fun)
- Адрес подключения для приложений: `https://matrix.serti.fun`
- Некоторые приложения могут запросить адрес выше, однако таких програм достаточно мало
## Приложения для телефонов
- Android
- [Google Play](https://play.google.com/store/apps/details?id=im.vector.app)
- [F-Droid](https://f-droid.org/packages/im.vector.app/)
- [IOS](https://apps.apple.com/app/vector/id1083446067)
!!! info
Рекомендуеться приложение Element Classic, так как он более стабильный для моего сервера.
Однако можно использовать любое другое приложение.
После установки, введите мой адрес до сервера, а после пройдите аунтификацию, если не делали ранее.
## Связь со мной
Как только зарегистрируетесь, напишите мне и я добавлю вас в комнату.
``` title="Мой id"
@cher:matrix.serti.fun
```
Так же, добавлять могут и другие участники.
+31
View File
@@ -0,0 +1,31 @@
# WebDAV, CalDAV, CardDAV от Yandex
## Предисловие
Когда пришлось работать с Yandex сервисами как корпоративная почта, мне не понравился веб интерфейс. Когда привык к Thunderbird или к какому то другому почтовому клиенту, веб клиенты становяться невносимо нагружены. Как и с Yandex. Они впихнули все что возможно. Тем более не нужное для корпоратвных сервисов Яндекс Алиса.
<br /> Я все же не стал привыкать к интерфейсу, и перевел на Thunderbird почту, календарь и контакты. С почтой было все просто. Трудностей с настройкой IMAP и SMTP не возникало. Однако, как только перешел на настройку синхронизации контактов и календаря, я понял, что это ужас. Самое важное то, что документация у Yandex сырая. URi WebDAV и CalDAV отсутствтует.
<br /> Однако, у меня получилось найти URi CalDAV и CardDAV.
## Аунтинфикация
Логин - почта Вашей учетной записи.
<br /> Для того что бы использовать **SMTP**, **IMAP** и **DAV** сервисы, необходимо создать **пароль для приложений** для **каждого протокола**. Данный пароль можно сделать в настройках безопастности учетной записи Yandex.
## Ссылки
### CalDAV
```
https://caldav.yandex.ru
```
```
$ dig caldav.yandex.ru +short
77.88.21.67
```
### CardDAV
```
https://carddav.yandex.ru
```
```
$ dig carddav.yandex.ru +short
77.88.21.67
```
+72
View File
@@ -0,0 +1,72 @@
## Для чего это нужно?
??? info inline end "Важное замечание"
Делайте это **на свой страх и риск**!
Valve не рекомендует изменять систему.
Изменение корневого раздела системы может понадобиться для:
- Установка пакетов из репозитория ArchLinux:
- Java (для игр, включая Minecraft)
- Сетевые инструменты диагностики
- Пользовательские драйверы и библиотеки
- И другие
- **Углубленная настройка** системы
!!! warning "Обратите внимание"
После обновления SteamOS **все изменения будут утеряны**!
## Основные команды
```console title="Отключение защиты"
# steamos-readonly disable
```
```console title="Включение защиты"
# steamos-readonly enable
```
## Пример
### Снятие защиты от изменения.
1. Откройте **Konsole**, если не открыт.
2. Введите данную комманду:
```console
$ sudo steamos-readonly disable
```
3. Подтвердите личность, если запросит, введя пароль учетной записи **deck**.
- Если отсутствует, то просто нажите **Enter**.
**Готово** ✅
### Вернуть защиту
!!! danger "Верните защиту как только закончите!"
Это защита от дурака.
**Систему можно запросто сломать!**
1. Откройте **Konsole**, если не открыт.
2. Введите данную комманду:
```console
$ sudo steamos-readonly enable
```
3. Подтвердите личность, если запросит, введя пароль учетной записи **deck**.
- Если отсутствует, то просто нажите **Enter**.
**Готово** ✅
## Пример на скриншоте
![Steam Deck Console](/media/steamos-konsole-disable-readonly-system.png){ .gallery-item }
## Примечание
Как было упомянуто ранее, это **не безопастный вариант установки**.
Альтернативные решения:
- Установка с помощью **Flatpak** из реестра приложений **Flathub**.
- Можно установить с помощью приложение Discover или через консоль.
- Скачивать приложения с расширанием .AppImage или бинарные файли для Linux.
- Проверьте, что имеються все зависимости у бинарного файла с помощь команды `lld`.
+3
View File
@@ -0,0 +1,3 @@
---
icon: fontawesome/brands/steam
---
+3
View File
@@ -0,0 +1,3 @@
---
icon: fontawesome/brands/steam
---
+91
View File
@@ -0,0 +1,91 @@
# Decky
![Decky](/media/steamos-decky-icon.png){ align=right width="150" }
- [Оф. сайт](https://decky.xyz/)
- [GitHub](https://github.com/SteamDeckHomebrew)
## Что это?
**Decky** - менеджер плагинов для Game Mode.
![Baner](/media/steamos-decky-baner.png){ width="400" }
!!! warning "Внимание"
Некоторые плагины могут выводить из строя Game Mode а то и саму систему.
**Лучший исход** - система просто перезагрузиться и продолжит дальше работать.
Ставьте любые плагины, особенно улчшающие производительность, **на свой страх и риск!**
## Установка
Заходим на [оф. сайт](https://decky.xyz) и скачиваем файл с расширением **desktop**, нажав на **Download**. После запускаем скачанный файл.
??? info "Для Российского региона"
Вероятнее всего, если зайдете на [decky.xyz](https://decky.xyz), то увидите долгую загрузку. В последние годы это стало нормой - замедлять подключение к любым сайтам без какого либо повода. Да же если это безобидный сайт, где нет упоминания о политических мативах и каких либо запрещенных тем.
Но не беда! В desktop файле обычный curl, который скачивает скрипт из GitHub для установки проекта. Запустите данный скрипт используя **konsole**.
```bash
curl -S -s -L -O --output-dir /tmp/ --connect-timeout 60 https://github.com/SteamDeckHomebrew/decky-installer/releases/latest/download/user_install_script.sh
```
**Обратите внимание!**
Мало вероятно, но репозиторий плагинов то же может долго загружаться. Рекомендую использовать сервисы для обхода блокировок.
Учтите. Разработчики Decky и плагинов - разные.
Установщик может потребовать пароль от пользователя.
Как только установщик завершит установку, выходим из рабочего стола или запускаем **Big Picture**.
## Использование
Нажмите на кнопку **Быстрого доступа** `. . .` и Вы увидите кнопку, похожую на вилку. Это установленный Decky. Нажмите на него!
![decky-from-big-picture](/media/steamos-decky-show-button-from-big-picture.png)
Здесь можно управлять плагинами. На скриншоте установленно достаточно много плагинов, но после установки Decky у Вас ничего не будет.
Перейдите в менеджер плагинов `кнопка с иконкой торговой лавкой`. Вы увидете достаточно длинный список плагинов с фильтром, которые можно установить.
![decky-market-plugins](/media/steamos-decky-show-market-plugins.png)
Плагинов очень много. Полный список плагинов можно посмотреть на [сайте](https://plugins.deckbrew.xyz/) или на [GitHub](https://github.com/SteamDeckHomebrew/decky-plugin-database/tree/main/plugins).
## Выявленные проблемы плагинов
![steamgriddb](/media/steamos-decky-steamgriddb-halflife.png){ align=right width="400" }
### SteamGridDB
Достаточно популярный плагин, который добавляет поиск картинок для игр.
- Не используйте анимированные изображения, так как движок React, на котором работает Game Mode, и не только, может полностью зависнуть во время загрузки.
[GitHub проекта](https://github.com/SteamGridDB/decky-steamgriddb)
![deckthemes](/media/steamos-decky-deckthemes.png){ align=right width="400" }
### CSS Loader
Изменяет интерфейс Game Mode.
- Может поломать работу движка, от чего Game Mode может перейти в перезагрузку.
- Необходимо использовать максимум 1-2 темы, стараясь не перемешивать CSS стили.
[Оф. сайт проекта](https://deckthemes.com/)
### Decky Translator
Переводит текст с экрана.
- Плагин может начать переводить содержимое экрана, но управление останиться в игре. Из-за чего перевод от Decky Translator достаточно трудно закрыть.
- Держите Decky Translator отключенным, если Вам не обходимо переводить текст с игры.
@@ -0,0 +1,30 @@
# Обновление GPG ключей репозиториев Pacman
## Описание
Если захотите обновить пакеты или установить, то у вас появиться ошибка с сертификатами на подобии этой:
```
glibc: signature from "GitLab CI Package Builder <ci-package-builder-1@steamos.cloud>" is unknown trust
```
Это нормальная ситуация для pacman. Исправить достаточно просто.
!!!warning "Обратите внимание"
Все команды ниже запускаються с повышенными привилегиями
## Решение
1. Инициализируем базу ключей:
```
pacman-key --init
```
2. Далее, генерируем ключи для ArchLinux и Holo:
```
pacman-key --populate archlinux
```
```
pacman-key --populate holo
```
+5 -10
View File
@@ -1,15 +1,10 @@
#Личный блог Kurnesay # Приветствую Вас на моем личном сайте! :material-hand-wave:
Приветствую Вас на моем личном сайте. Меня зовут **Валентин**. Так же, Вы можете знать меня по нику **Kurnesay**.
**Здесь можно узнать много интереснного.** Здесь я выкладываю **посты** по разным темам и пишу **документациии**.
## Обо мне ## Обо мне
Обычно я работаю техником, но в свободное время увликаюсь GNU/Linux и сетевыми технологиями. Обычно работаю техником, но в свободное время увликаюсь *GNU/Linux* :penguin: и сетевыми технологиями :material-ip-network:.
Чем обычно увлекаюсь Мне нравиться работать с техникой. Так же, Поднимаю различные сервисы, провожу эксперименты над ОС GNU/Linux и Unix подобными системами, тем самым изучая их.
- Углубленная настройка GNU/Linux
- История развития микро-компьютеров
- Прошитие разных устройств
- Настраиваю как локальную, так и виртуальную сеть
Binary file not shown.

After

Width:  |  Height:  |  Size: 356 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 503 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 518 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 714 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 787 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 619 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 817 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 945 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 609 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 808 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 624 KiB

+5 -12
View File
@@ -1,15 +1,8 @@
# Сервера ## Основное оборудование
## Основное оборудование - Dell PowerEdge R630 - **Тип сервера** - Rack сервер - Dell PowerEdge R630
- **Операционная система**: Proxmox - **Операционная система**: Proxmox
- **Оперативная память**: 126 ГБ - **Оперативная память**: 126 ГБ
- **Процессор**: 2 Intel Xeon E5-2680 - **Процессор**: 2 Intel Xeon E5-2680
- **Хранилище**: 8 SAS дисков по 512 ГБ - **Хранилище**:
- **RAID**: 10 - **Диски**: 8 SAS дисков по 512 ГБ
## Файловая помойка - **RAID**: 10
- **Операционная система**: TrueNAS
- **Материнская плата**: ...
- **Процессор**: Intel Core i7 CPU 870
- **Оперативная память**: 12 ГБ
- **Хранилище**:
- **1 ПУЛ**: 3 ТБ
- **2 ПУЛ**: 4 ТБ
+22
View File
@@ -0,0 +1,22 @@
# Публичные сервисы
## Медиа контент
!!! info "Доступ к медиа контенту ограничен "
Свяжитесь со мной, если хотите получить доступ.
- [**Jellyfin**](https://jellyfin.serti.fun){:target="_blank"} - [оф. сайт](https://jellyfin.org){:target="_blank"} - Медиа сервис для просмотра видео и аудио контента
- [**Emby**](https://emby.serti.fun){:target="_blank"} - [оф. сайт](https://emby.media){:target="_blank"} - Медиа сервис для просмотра видео и аудио контента
- [**Komga**](https://komga.serti.fun){:target="_blank"} - [оф. сайт](https://komga.org){:target="_blank"} - Медиа сервис для четения комиксов
## Менеджер игровых серверов
!!! info "Платный доступ"
Свяжитесь со мной, если захотите поднять свой игровой сервер у меня.
- [**Pterodacty**](https://pterodactyl.serti.fun){:target="_blank"} - [оф. сайт](https://pterodactyl.io/){:target="_blank"} - Удобный сервис для управления игровыми серверами
## Прочее
- [**TeamSpeak**](https://invite.teamspeak.com/serti.fun){:target="_blank"} - [оф. сайт](https://teamspeak.com){:target="_blank"} - Игровой голосовой сервер на подобии Discord
- [**Stirling PDF**](https://stirlingpdf.serti.fun){:target="_blank"} - [оф. сайт](https://www.stirling.com/){:target="_blank"} - Редактирование PDF файлов
- [**VaultWarden**](https://vaultwarden.serti.fun){:target="_blank"} - [Исходный код](https://github.com/dani-garcia/vaultwarden){:target="_blank"} - Сервис для хранение паролей, аналог BitWarden
- [**LinkWarden**](https://linkwarden.serti.fun){:target="_blank"} - [оф. сайт](https://linkwarden.app/){:target="_blank"} - Серивис для хранения ссылок в удобном формате
- [**it-tools**](https://it-tools.serti.fun){:target="_blank"} - [Исходный код](https://github.com/CorentinTh/it-tools){:target="_blank"} - Сервис с инструментами для разработчиков и администраторов
- `SoftEther` - [оф. сайт](https://www.softether.org) - VPN сервер со множеством протоколов и отдельный клиент - Публичный хаб в разработке
+78 -24
View File
@@ -1,6 +1,6 @@
site_name: HomeLab Serti site_name: Serti Lab
site_url: https://docs.serti.fun/ site_url: https://serti.fun/
site_description: Документация и блог моего HomeLab site_description: Личный сайт Kurnesay
site_author: Kurnesay site_author: Kurnesay
theme: theme:
@@ -9,7 +9,11 @@ theme:
- navigation.tabs - navigation.tabs
- navigation.sessions - navigation.sessions
- navigation.expand - navigation.expand
- navigation.instant
- navigation.trcking
- toc.integrate - toc.integrate
- content.code.copy
- content.code.annotate
palette: palette:
# Светлая тема # Светлая тема
- scheme: default - scheme: default
@@ -17,37 +21,87 @@ theme:
accent: deep orange accent: deep orange
toggle: toggle:
icon: material/weather-sunny icon: material/weather-sunny
name: Switch to dark mode name: Переключиться на темную тему
# Тёмная тема # Тёмная тема
- scheme: slate - scheme: slate
primary: teal primary: teal
accent: deep orange accent: deep orange
toggle: toggle:
icon: material/weather-night icon: material/weather-night
name: Switch to light mode name: Периключить на светлую тему
plugins:
- search
- git-revision-date-localized
- glightbox
- blog
nav: nav:
- Главная: index.md - "Главная": index.md
- Блог:
- 2026:
- '01':
- "Создание блога": blog/2026/01/create-blog.md
- Документации: - Документации:
- Proxmox: - 'index': docs/index.md
- "Что такое Proxmox": docs/proxmox/about.md - 'Linux':
- "Запуск и настройка": docs/proxmox/first-setup.md - 'Сеть':
- Nginx Proxy Manager: - 'Устранение проблем': docs/linux/network/troubleshooting.md
- "Что такое Nginx Proxy Manager": docs/nginx-proxy-manager/about.md - 'Docker':
- "Запуск и настройка": docs/nginx-proxy-manager/first-seup.md 'О проекте': docs/docker/about.md
- "Медиа серверы": 'Установка': docs/docker/install.md
- Jellyfin: #'Команды': docs/docker/commands.md
- "Что такое Jellyfin": docs/media-servers/jellyfin/about.md 'Запуск контейнеров': docs/docker/run_container.md
- "Запуск и настройка": docs/media-servers/jellyfin/first-seup.md #- 'Apache guacamole':
- Emby: # - 'О проекте': docs/guacamole/about.md
- "Что такое Emby": docs/media-servers/emby/about.md # - 'Установка': docs/guacamole/install.md
- "Запуск и настройка": docs/media-servers/emby/first-seup.md - 'NextCloud':
- Мой сервер: server.md - 'Запуск и первоначальная настройка': docs/cloud-services/nextcloud/install.md
- 'Steam Deck':
- "Снятие Read Only с корневого раздела": docs/steam-deck/disable-read-only.md
- "Обновление сетификатов реп Pacman": docs/steam-deck/upgrade-pgp-pacman.md
- "Decky": docs/steam-deck/plugins/decky.md
- 'Другое':
- 'CalDAV и CardDAV от Yandex': docs/other/ya-dav.md
- 'Доступ к комнате element для пользователей VPN': docs/other/element-vpn.md
- Сервисы: services.md
- Мои сервера: server.md
#- Блог:
# - Привет: blog/hi.md
# - 2026:
# - Январь:
# #- "01 Создание блога": blog/2026/create-blog.md
# - "01 Дифицит комплектующих ПК": blog/2026/ai-and-me.md
extra: extra:
social: social:
- icon: fontawesome/solid/envelope - icon: fontawesome/solid/envelope
link: mailto:kurnesay@disroot.org link: mailto:kurnesay@disroot.org
- icon: fontawesome/brands/git-alt
link: https://git.serti.fun/Kurnesay/serti-docs/src/branch/main
- icon: fontawesome/brands/telegram
link: https://t.me/Kurnesay
- icon: fontawesome/brands/discord
link: https://discordapp.com/users/226313599570804736
- icon: fontawesome/brands/steam
link: https://steamcommunity.com/id/KURNESAY/
markdown_extensions:
- admonition
- pymdownx.details
- pymdownx.superfences
- attr_list
- md_in_html
- toc:
permalink: true
- pymdownx.emoji:
emoji_index: !!python/name:material.extensions.emoji.twemoji
emoji_generator: !!python/name:material.extensions.emoji.to_svg
- pymdownx.highlight:
anchor_linenums: true
line_spans: __span
pygments_lang_class: true
- pymdownx.inlinehilite
- pymdownx.snippets
- pymdownx.superfences:
custom_fences:
- name: mermaid
class: mermaid
format: !!python/name:pymdownx.superfences.fence_code_format
+6
View File
@@ -0,0 +1,6 @@
mkdocs>=1.6
mkdocs-material>=9.7
mkdocs-git-revision-date-localized-plugin>=1.2
mkdocs-rss-plugin>=1.7
mkdocs-glightbox
pymdown-extensions