Skip to content

YunoHost

За этой категорией можно следить из открытой социальной сети, используя идентификатор yunohost@baseinfo.nbics.net

2 Темы 12 Сообщения
  • Структура Nginx в YunoHost 12

    Прикреплена Перенесена
    8
    0 Голоса
    8 Сообщения
    6 Просмотры
    A
    Общая теория Nginx Разберём общую теорию Nginx, как он работает, чтобы потом проще понимать Yunohost и любую веб-инфраструктуру. Я постараюсь максимально подробно, с примерами и пояснениями. 1️⃣ Архитектура Nginx Nginx — это высокопроизводительный веб-сервер и reverse proxy, который может работать с HTTP, HTTPS, TCP и UDP потоками. Основные компоненты Master process (главный процесс) Запускается от root (для открытия портов <1024, например 80 и 443). Читает конфигурацию (nginx.conf) и запускает worker-процессы. Управляет перезапуском, логами и перезагрузкой конфигурации. PID хранится в /run/nginx.pid. Worker processes (рабочие процессы) Основная работа: обработка HTTP-запросов, proxy, отдача файлов. Запускаются от обычного пользователя (например www-data). Каждый worker может обрабатывать множество соединений одновременно через асинхронный event loop (epoll/kqueue). Event loop Внутри worker процессов. Асинхронно обрабатывает сокеты, читает/пишет данные без блокировки. Позволяет одному worker’у обрабатывать тысячи соединений. 2️⃣ Работа с доменами и виртуальными хостами Server blocks (виртуальные хосты) Один Nginx сервер может обслуживать несколько доменов на одном IP через server { ... } блоки. Пример: server { listen 80; server_name example.com www.example.com; root /var/www/example.com; index index.html; location / { try_files $uri $uri/ =404; } } Объяснение: listen 80; — порт, на котором сервер слушает HTTP-запросы. server_name — имена доменов, которые этот блок обслуживает. root — корневая папка для файлов сайта. location / — обработка запросов к URL. try_files $uri $uri/ =404; — ищет файл, если нет — 404. Yunohost делает примерно то же самое, но автоматически создаёт отдельные блоки для каждого домена и приложений. Server_name vs default_server default_server — блок, который обслуживает все запросы, если домен не совпал ни с одним server_name. В Yunohost главный домен admin обычно ставится в default_server. 3️⃣ Порты и протоколы Nginx может слушать любые порты. HTTP: 80 HTTPS: 443 TCP/UDP: любые, через stream {} блок Можно слушать локально (127.0.0.1:port) или публично (0.0.0.0:port). Пример proxy_pass: server { listen 443 ssl; server_name myapp.example.com; ssl_certificate /etc/letsencrypt/live/myapp/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/myapp/privkey.pem; location / { proxy_pass http://127.0.0.1:3025; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } Nginx слушает HTTPS на 443. Проксирует на backend (например, Node.js или Yunohost приложение) по 127.0.0.1:3025. 4️⃣ Взаимодействие с процессами и ресурсами Каждый worker: Обрабатывает много соединений одновременно. Работает асинхронно, не создавая отдельный поток на каждого клиента. worker_connections + worker_processes = максимальное количество соединений. Пример: auto worker_processes + worker_connections 768 → несколько тысяч одновременных клиентов. 5️⃣ Конфигурация include Nginx читает главный конфиг (nginx.conf), а затем подключает include файлы: include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; Это позволяет: Разделять конфиги на логические блоки Yunohost держит свои домены в conf.d/ Другие сайты или Jitsi в sites-enabled/ 6️⃣ SSL и HTTPS Настраивается в server block: listen 443 ssl; ssl_certificate /path/fullchain.pem; ssl_certificate_key /path/privkey.pem; Nginx может автоматически использовать LetsEncrypt через Yunohost или certbot. Можно указать протоколы (ssl_protocols TLSv1.2 TLSv1.3;) и предпочтительные шифры. 7️⃣ Proxy и backend Nginx может работать как reverse proxy: location / { proxy_pass http://127.0.0.1:3025; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } Прокси позволяет: Скрывать порт backend приложения Объединять несколько сайтов на одном IP Делать SSL-termination (TLS на Nginx, а backend по HTTP) 8️⃣ Логирование и gzip access_log и error_log — логируют запросы и ошибки. gzip on; — сжатие текста (HTML, CSS, JS), ускоряет отдачу клиентам. 9️⃣ Потоковые (stream) возможности Nginx умеет работать с TCP/UDP: stream { server { listen 5222; # XMPP proxy_pass 127.0.0.1:5222; } } Полезно для Mailcow (SMTP, IMAP, POP3) или Jitsi Videobridge. Ключевые выводы Master + worker — асинхронная, масштабируемая архитектура. Server blocks — виртуальные хосты для доменов, могут быть HTTP или HTTPS. Include — позволяет организовать конфиги по каталогам (conf.d/, sites-enabled/). Proxy_pass — объединяет внешние порты с внутренними сервисами. SSL/TLS — делается на уровне server block, может быть централизованно через Yunohost. Гибкость портов — Nginx может обслуживать HTTP, HTTPS, TCP, UDP. Асинхронность — один worker обрабатывает тысячи соединений без блокировки.
  • Некоторые служебные приложения в YunoHost

    4
    0 Голоса
    4 Сообщения
    14 Просмотры
    A
    Приложение Основная функция Категория Статус в YunoHost (2026) Краткое пояснение / альтернативы / зачем ставить Vaultwarden Лёгкая реализация Bitwarden-сервера (пароль-менеджер) Password Manager Официальный (очень популярен, 126+ установок) Самый удобный self-hosted Bitwarden. E2E-шифрование, приложения на всех платформах. Diagrams.net Веб-редактор диаграмм (flowcharts, UML, network, org-charts) Diagramming Официальный Бывший draw.io. Отличная интеграция с Nextcloud/BookStack. Codi.md Коллаборативный Markdown-редактор (реал-тайм) Collaborative Notes Официальный Простой HedgeDoc-подобный инструмент для совместных заметок. Etherpad Реал-тайм совместное редактирование текста (как Google Docs для простого текста) Collaborative Editing Официальный Классика для быстрых совместных черновиков, плагины. My Mind Личный knowledge base / заметки с тегами и поиском Personal Notes Нет / wishlist Минималистичный, но мощный инструмент (не в каталоге сейчас). CryptPad Полноценный E2E-шифрованный офис (docs, sheets, kanban, whiteboard, forms) Encrypted Collaboration Официальный Самый приватный collaborative suite. OnlyOffice Офисный пакет (docs, sheets, presentations) с совместным редактированием Office Suite Официальный Интеграция с Nextcloud/File Browser, альтернатива Collabora. Reveal.js HTML-фреймворк для презентаций (Markdown, темы, экспорт PDF) Presentations Официальный Для технарей: презентации в браузере без PowerPoint. GLPI IT-Asset Management / Helpdesk (инвентаризация, тикеты, контракты) IT Service Management Официальный / community Для компаний/админов: учёт оборудования, заявки, SLA. PeerTube Remote Runner Удалённый runner для транскодирования видео в PeerTube Media Processing Нет / community Помогает разгрузить основной PeerTube-сервер (транскодинг на другом железе). Pixelfed Федеративная фото-социальная сеть (как Instagram + ActivityPub) Social / Fediverse Официальный Фотошеринг с подписками, фильтрами, приватностью. Forgejo Лёгкая альтернатива Gitea/GitHub (git-хостинг + CI) Code Hosting Официальный Форк Gitea, более community-driven. Gitea Самостоятельный git-сервер (репозитории, issues, wiki, CI) Code Hosting Официальный Лёгкий GitHub-клон, очень популярен. GitLab Полноценная DevOps-платформа (git + CI/CD + issues + wiki) Code Hosting / DevOps Официальный (но тяжёлый) Самый мощный, но жрёт ресурсы. GitLab Runner Runner для GitLab CI/CD (выполняет пайплайны) CI/CD Нет / manual Обычно ставят отдельно в Docker/контейнере. Cockpit Веб-панель управления сервером (мониторинг, systemd, storage, users) Server Management Официальный Удобный "пульт" для Linux-сервера. NodeRED Визуальный редактор потоков / IoT-автоматизация Automation / IoT Официальный Соединяет устройства, API, сервисы (IFTTT-like). n8n No-code/low-code workflow automation (Zapier self-hosted) Automation Официальный 300+ интеграций, мощный, но требует ресурсов. Documize Современная корпоративная wiki / knowledge base Documentation Нет / wishlist Красивый, с интеграциями, но не в каталоге. Dokuwiki Простая файловая wiki (без БД) Wiki Официальный Лёгкая, надёжная, плагины. BookStack Красивая wiki / knowledge base с книгами, полками, страницами Documentation Официальный Markdown + WYSIWYG, интеграция Diagrams.net. Wiki.js Современная Node.js wiki (Markdown, Git-backend, поиск) Wiki Официальный Очень гибкая, темы, аутентификация. Language Tool Server Сервер проверки грамматики/орфографии (для LibreOffice, браузеров) Writing Tools Официальный / community Альтернатива Grammarly self-hosted. Dolibarr ERP/CRM для малого бизнеса (учёт, счета, склад, контакты) ERP / CRM Официальный Полноценная система для компаний. FunkWhale Федеративный музыкальный сервис (как SoundCloud + Subsonic) Music Streaming Официальный Подкасты, альбомы, плейлисты, federation. MediaWiki Движок Википедии (самая мощная wiki) Wiki Официальный Для больших знаний-баз, расширений. Omeka S Платформа для цифровых коллекций / музеев / архивов Digital Collections Нет / community Метаданные, выставки, OAI-PMH. XWiki Очень мощная enterprise-wiki (структурированные данные, приложения) Wiki / Knowledge Base Официальный Для сложных корпоративных баз знаний. Jitsi Meet Видеоконференции (WebRTC, комнаты, запись) Video Conferencing Официальный Самый популярный open-source Zoom-заменитель. MiroTalk Простой WebRTC-видеочат (альтернатива Jitsi, легче) Video Conferencing Нет / manual Минималистичный, без сервера медиа. NodeBB Современный форум (реал-тайм, мобильный, плагины) Forum Официальный Красивый, быстрый, как Discourse. PhpBB Классический PHP-форум (темы, расширения) Forum Официальный Стабильный, но старомодный дизайн. RoundCube Веб-почта (IMAP-клиент) Webmail Официальный Классика, плагины, интеграция с YunoHost почтой. SOGo Groupware (почта + календарь + контакты + ActiveSync) Groupware / Webmail Официальный Полноценный Outlook-подобный клиент. Synapse Admin Админ-панель для Matrix Synapse (управление пользователями, комнатами) Matrix Admin Официальный Удобный GUI для модерации Matrix-сервера. Element Основной веб/мобильный клиент для Matrix Matrix Client Официальный Чистый фронтенд, без БД, лёгкий. Trilium Notes Иерархический note-taking с скриптами и клонированием Personal Knowledge Base Официальный / community Очень мощный для заметок + базы знаний. TLDraw Коллаборативный whiteboard / рисовалка (как Excalidraw) Whiteboard Нет / manual Простой, реал-тайм, экспорт SVG. Whitebophir Ещё один whiteboard (fork Excalidraw) Whiteboard Нет / manual Похож на TLDraw, иногда стабильнее. SVG-edit Веб-редактор SVG-графики Graphics Editor Нет / community Простой векторный редактор в браузере. OpenProject Project management (Gantt, задачи, wiki, форум, time-tracking) Project Management Официальный Полноценный Redmine/Asana-заменитель. Snipe-IT Управление IT-активами (hardware/software лицензии, чек-ин/аут) Asset Management Официальный Для админов: учёт ноутбуков, серверов, ПО. Redirect Прокси/редирект + плитка в портале YunoHost Proxy / Portal Официальный (очень популярен) Идеально для внешних контейнеров (твой случай!). Stirling PDF Веб-инструменты для PDF (merge, split, compress, OCR, sign) PDF Tools Официальный Всё, что нужно с PDF без Adobe. Linkwarden Bookmark-менеджер с архивацией страниц и тегами Bookmarks Нет / wishlist Как Raindrop.io self-hosted. Readeck Read-it-later + RSS (сохранение статей, чтение оффлайн) Read Later / RSS Нет / community Wallabag-подобный. Peertube Федеративная видео-платформа (YouTube + P2P) Video Platform Официальный Твой основной сервис, тяжёлый, но мощный.