{esc(p['title'])}
{esc(p['lead'])}
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..ab18a4a
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,19 @@
+# Local credentials, runtime dependencies and backups
+.deps/
+__pycache__/
+release-backups/
+*.zip
+*.key
+*.pem
+*.crt
+*.env
+*.secret
+*.secret.*
+*id_rsa*
+verification.json
+live-verification.json
+reference/live-*
+artwork/photos/
+artwork/**/contact-sheet.jpg
+gitea_auth_local.py
+prepare_gitea_tree.py
diff --git a/README.md b/README.md
index 633a1dc..5317423 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,17 @@
# servaki.online
+## Версия сайта от 28 сентября 2026
+
+Здесь сохранены исходники, оригиналы изображений и готовый каталог `public/`,
+который опубликован на Beget. Главная связывает 12 карточек с профильными статьями;
+есть 3 каталога, адаптивные изображения, лёгкие схемы работы оборудования и SEO-разметка.
+Состав сборки, проверки, доступ к хостингу без секретов и порядок отката — в [SITE-BUILD.md](SITE-BUILD.md).
+
+Актуальные тарифы: «Старт» — 9 000 ₽/мес., «Бизнес» — 21 000 ₽/мес.,
+«Премиум» — 45 000 ₽/мес. Публикация на Beget выполняется отдельно от Git.
+
+## Сведения о прежней версии
+
**Сайт:** https://servaki.online
**Назначение:** IT-поддержка для бизнеса на Юге России — главный хаб компании Сервакисервисы
**Стек:** Статический HTML + Nginx (Beget shared hosting)
diff --git a/SITE-BUILD.md b/SITE-BUILD.md
new file mode 100644
index 0000000..058ecdf
--- /dev/null
+++ b/SITE-BUILD.md
@@ -0,0 +1,67 @@
+# servaki.online — расширение лендинга
+
+Подготовлено и опубликовано 28 сентября 2026 на существующем Beget-хостинге `infogypa`. Сертификат Let's Encrypt заказан повторно и ожидает выпуска со стороны Beget.
+
+## Состав
+
+- Главная с 12 тематическими иллюстрациями под описаниями карточек и ссылками на профильные страницы.
+- 12 статей-лендингов: 3 подхода, 6 услуг, 3 отрасли. 3525 слов основного содержания с FAQ.
+- Каталоги `/approach/`, `/services/`, `/industries/`.
+- Автор, дата, хлебные крошки, оглавления, связанные материалы, контакты.
+- Уникальные title/description/canonical, Open Graph, Article/Service/FAQPage/BreadcrumbList, sitemap, robots.
+- 12 тематических AI-иллюстраций для карточек главной и 12 тёплых фотореалистичных AI-изображений для внутренних страниц, с WebP-версиями 480/960/1536 px. У каждой статьи своё изображение и подпись о том, что оно создано ИИ без данных и фотографий клиентов.
+- На страницах услуг — конкретные пояснения о согласовании доступа, ограничении видимости данных и бережной работе в действующем офисе или на объекте. Это описание подхода, а не обещание абсолютной безопасности.
+- В тексте каждой из 12 статей — тематическая схема работы оборудования: индикаторы приборов и движение сигнала между ними. Схемы состоят из компактных SVG и CSS, не загружают GIF или видео. При настройке «уменьшить движение» индикаторы и путь остаются статичными.
+- Описания под всеми 12 карточками главной переписаны: задача клиента, способ работы и результат; условия отклика указаны без обещания устранить любой сбой за 15 минут. У трёх каталогов и главной — отдельные поисковые описания.
+
+## Просмотр и сборка
+
+Текущий предпросмотр: http://127.0.0.1:5186/ . Использовать HTTP-сервер, не открывать index.html как file://: пути начинаются от корня сайта.
+
+Python 3.12+, зависимости в `requirements.txt`: Pillow для экспорта изображений, Paramiko для SFTP и cryptography для проверки сертификата. HTML генерируется стандартной библиотекой, Node и npm для этой сборки не нужны.
+
+```
+python -m pip install -r requirements.txt
+python prepare_images.py
+python prepare_photos.py
+python build.py
+python -m http.server 5186 --bind 127.0.0.1 --directory public
+python verify.py
+```
+
+`content/pages.json` — тексты; `content/card-copy.json` — тексты карточек; `content/flow-scenes.json` — подписи и оборудование для анимированных схем; `content/image-prompts.json` и `content/photo-prompts.json` — промпты встроенного image_gen; `content/photo-alt.json` и `content/privacy-notes.json` — описания фото и редакционные пояснения; `artwork/` — оригиналы; `assets/` — CSS и WebP; `public/` — готовый сайт; `reference/original.html` — сохранённая исходная главная.
+
+## Фактическая основа
+
+Внутренние заметки используются только как подтверждение исторического инженерного опыта, без имён заказчиков, адресов, паролей и топологии:
+
+- fleet-vault/daily/2026-09-28-antosha-fleet-traffic-audit.md — диагностика туннелей по реальному трафику, сохранение настроек и проверка зависимостей.
+- fleet-vault/memory/vesovaya-bitarov-most-remzona-2026-07-21.md — обследование связи весовой и ремонтной зоны, сопоставление доступности и uptime.
+- fleet-vault/memory/mpo-inform-site-2026-07-01.md — работа со схемами камер и СКУД, необходимость отделять условные модели от точных монтажных данных.
+- fleet-vault/projects/controllers-energy-digest-bot.md — Wiren Board/MQTT, показатели энергии, существующие сценарии и отдельно запланированные функции.
+- fleet-vault/inventory/fleet-hosts.md — опыт серверной виртуализации и контейнеров. Наличие каждого старого сервиса сейчас не заявляется.
+
+Для HoReCa описана применимость сетевого и серверного опыта, не придуманы гостиничные кейсы, отзывы, гарантированные результаты или количество клиентов. 28 сентября 2026 по прямому указанию владельца цены трёх тарифов увеличены втрое: «Старт» — 9 000 ₽/мес., «Бизнес» — 21 000 ₽/мес., «Премиум» — 45 000 ₽/мес. Состав тарифов не менялся; отклик и срок устранения разделены.
+
+## SEO и ИИ-поиск
+
+Основа: доступный HTML-текст, нормальная внутренняя навигация, точные описания, вопросы и ответы, изображения и соответствующая видимому тексту разметка. Специальный файл llms.txt не нужен для показа в AI-функциях Google и не представлен как условие индексации или гарантия цитирования.
+
+Источники: https://developers.google.com/search/docs/appearance/ai-features и https://developers.google.com/search/docs/appearance/snippet . Попадание в индекс и ответы ИИ не гарантируется. FAQ-разметка описывает видимый FAQ, не обещает расширенный сниппет.
+
+## Проверки
+
+`verification.json`: 16 HTML-страниц локально HTTP 200, побайтная сверка, уникальные title и description, H1, JSON-LD, все внутренние ссылки/якоря и изображения, 16 адресов sitemap. На 12 статьях проверены схемы с тремя приборами и двумя путями сигнала; мобильные фото весят не более 38,7 КБ, общий CSS — 12,6 КБ. Отрицательный контроль: намеренно сломанная ссылка на изображение обнаруживается.
+
+`live-verification.json`: 21 публичный URL проверен по HTTPS с временным отключением проверки старого сертификата; все отдали 200 и байт-в-байт совпали со сборкой. Публичный сертификат на момент проверки ещё истёк (17.09.2026); заявка на бесплатный перевыпуск принята панелью Beget 28.09.2026. До выпуска сертификата браузеры по-прежнему могут показывать предупреждение.
+
+Браузер: главная и статья на обычном экране и 390×844; горизонтального переполнения нет, responsive images загружаются, оглавление и FAQ работают. Анимированная схема сети визуально проверена на 1280 px и в мобильном окне 390 px: устройства выстраиваются вертикально, путь сигнала сохраняется. Исходная форма на главной остаётся демонстрационной; все новые CTA ведут прямо в Telegram или на телефон, сообщения автоматически не отправлялись.
+
+## Публикация и откат
+
+- Боевой каталог подтверждён по SFTP: `/home/i/infogypa/servaki.online/public_html`. Перед публикацией его `index.html` побайтно совпал с `reference/original.html`; новые каталоги `approach`, `services`, `industries`, `assets/editorial` отсутствовали. Семь прежних изображений в `img/` совпали с исходными и не перезаписывались.
+- `deploy_beget.py audit` сохранил изменяемые исходные файлы в `release-backups/2026-09-28-before-landing/`; дубликат главной размещён на Beget вне публичного каталога: `/home/i/infogypa/servaki.online/backup-2026-09-28-before-landing/`.
+- `deploy_beget.py deploy` загрузил и сверил SHA-256 всех 98 файлов. Сначала были загружены графика и внутренние страницы, главная заменена последней. Скрипт фиксирует SSH-отпечаток хостинга и не перезаписывает посторонние файлы.
+- `deploy_beget.py reprice` меняет только главную: перед загрузкой проверяет, что шесть изменений касаются исключительно трёх видимых цен и трёх цен в JSON-LD. Предыдущая главная сохраняется локально в `release-backups/2026-09-28-before-tripled-prices/` и на Beget вне публичного каталога в `backup-2026-09-28-before-tripled-prices/`.
+- `.htaccess`, DNS, почта и другие сайты не менялись. Исходный репозиторий сайта — `german/site-servaki-online` в Gitea; в `servaki-monitor` есть чужие незакоммиченные изменения, они не затрагивались. Публикация выполнялась напрямую на существующий Beget-хостинг, без автоматического деплоя из Gitea.
+- Для отката вернуть из резервной копии прежний `index.html`; у нового релиза были добавлены `robots.txt`, `sitemap.xml` и каталоги `approach`, `services`, `industries`, `assets/editorial`. Удалять общие каталоги `img` и другие сайты нельзя.
diff --git a/assets/editorial.css b/assets/editorial.css
new file mode 100644
index 0000000..200beb5
--- /dev/null
+++ b/assets/editorial.css
@@ -0,0 +1,12 @@
+:root{--ink:#eef2ff;--muted:#a8b9db;--cyan:#22d3ee;--blue:#3b82f6;--violet:#8b5cf6;--line:rgba(255,255,255,.12);--bg:#05070f;--panel:#0c1326;--max:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:radial-gradient(ellipse at 10% 0,rgba(59,130,246,.13),transparent 45%),radial-gradient(ellipse at 100% 25%,rgba(139,92,246,.08),transparent 40%),var(--bg);color:var(--ink);font:16px/1.75 Inter,system-ui,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid var(--cyan);outline-offset:6px}img{max-width:100%;display:block}h1,h2,h3,.brand-name{font-family:'Space Grotesk',Inter,system-ui,sans-serif;line-height:1.15;letter-spacing:-.035em}h1{font-size:clamp(2.15rem,4.3vw,4.25rem);margin:20px 0 24px;max-width:960px}h2{font-size:clamp(1.55rem,2.3vw,2.25rem);margin:0 0 24px}h3{font-size:1.25rem}p{color:var(--muted);margin:0 0 20px}ul{padding-left:22px}.wrap{width:min(calc(100% - 48px),var(--max));margin:auto}.skip{position:fixed;top:-100px;left:24px;padding:12px;background:var(--cyan);color:#05070f;z-index:100}.skip:focus{top:8px}.site-nav{position:sticky;top:0;z-index:20;background:rgba(5,7,15,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(15px)}.nav-row{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:82px}.brand{display:flex;align-items:center;gap:12px}.brand-orbit{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--cyan),var(--blue),var(--violet));color:#071225;font-weight:800}.brand-name{font-size:20px;letter-spacing:-.03em}.brand small{display:block;font-size:10px;font-family:Inter,system-ui,sans-serif;letter-spacing:.03em;color:var(--muted);margin-top:5px}.nav-links{display:flex;align-items:center;gap:28px;font-size:14px}.nav-links>a:hover,.crumbs a:hover,.toc a:hover{color:var(--cyan)}.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border-radius:12px;background:linear-gradient(120deg,var(--cyan),var(--blue));color:#051222;font-weight:700;font-size:14px;line-height:1.4;transition:transform .2s}.button:hover{transform:translateY(-2px)}.button.secondary{border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--ink)}.crumbs{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0;font-size:12px;color:var(--muted)}.crumbs li+li:before{content:' / ';margin-right:10px;color:#53668d}.intro{padding:38px 0 50px}.eyebrow{display:inline-block;margin-top:38px;color:var(--cyan);font-size:11px;letter-spacing:.16em;text-transform:uppercase}.intro .lead{font-size:clamp(17px,1.6vw,21px);max-width:840px;line-height:1.7}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.meta{font-size:12px;color:#92a5cd;margin-top:26px}.hero-figure{margin:0;position:relative;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:#080c1a}.hero-figure img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.hero-figure figcaption{position:absolute;bottom:0;left:0;right:0;padding:35px 30px 22px;background:linear-gradient(transparent,rgba(5,7,15,.94));font-size:12px;color:#c1cde5}.strengths{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin:26px 0 72px}.strength{padding:26px;background:#080d1b;font-size:15px;line-height:1.6}.strength span{display:block;color:var(--cyan);font-size:11px;letter-spacing:.1em;margin-bottom:12px}.reading-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:80px;align-items:start}.toc{position:sticky;top:112px;font-size:13px;line-height:1.6;border-top:1px solid var(--line);padding-top:20px}.toc strong{display:block;color:#fff;margin-bottom:16px}.toc ol{padding:0;list-style:none;display:grid;gap:14px;margin:0}.toc a{color:var(--muted)}.article-body{max-width:800px}.article-body section{margin:0 0 48px}.article-body section p{font-size:17px;line-height:1.9}.article-body section+section{border-top:1px solid var(--line);padding-top:38px}.faq{margin-top:60px}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{cursor:pointer;list-style:none;font-weight:600;padding-right:35px;position:relative;line-height:1.6}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:4px;top:-2px;font-size:24px;color:var(--cyan)}.faq details[open] summary:after{content:'−'}.faq details p{padding-top:18px;margin-bottom:0;font-size:15px}.consult{border:1px solid rgba(34,211,238,.24);border-radius:24px;padding:clamp(24px,5vw,60px);margin:75px 0;background:radial-gradient(ellipse at right,rgba(59,130,246,.13),transparent 75%)}.consult p{max-width:760px}.consult .eyebrow{margin-top:0;margin-bottom:16px}.related{padding-bottom:80px}.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.related-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:linear-gradient(140deg,rgba(255,255,255,.05),rgba(255,255,255,.01));transition:border-color .2s}.related-card:hover{border-color:var(--cyan)}.related-card img{aspect-ratio:3/2;object-fit:cover;width:100%;height:auto}.related-card .copy{padding:24px}.related-card h3{margin:0 0 12px}.related-card p{font-size:13px;margin-bottom:15px;line-height:1.7}.link-arrow{color:var(--cyan);font-size:13px;font-weight:600}.site-footer{border-top:1px solid var(--line);padding:35px 0 45px;font-size:13px;color:var(--muted)}.footer-row{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.site-footer a{color:var(--ink)}.footer-links{display:flex;gap:20px;flex-wrap:wrap}.hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:40px 0 70px}.hub-intro{max-width:820px}.card-landing{display:block;margin-top:22px;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.12);position:relative;z-index:2}.card-landing img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;transition:transform .3s}.card-landing span{display:block;padding:14px 15px;background:#0c1326;color:#67e8f9;font-size:13px;font-weight:600;line-height:1.4}.card-landing:hover img{transform:scale(1.025)}.card-landing:focus-visible{outline:3px solid #22d3ee;outline-offset:4px}.ind .card-landing{margin:0 24px 24px}.ind .top{display:none}.ind .body{padding-top:26px}.card p{flex-grow:0}.card-landing{margin-top:auto}.card h3+p{margin-bottom:22px}.card .stack{margin-bottom:20px}.content-note{font-size:12px;color:var(--muted)}
+@media(max-width:900px){.reading-grid{grid-template-columns:1fr;gap:32px}.toc{position:static}.toc ol{grid-template-columns:1fr 1fr;display:grid;gap:12px 24px}.article-body{max-width:none}.nav-links{gap:18px}.nav-links .desktop-link{display:none}.related-grid,.hub-grid{gap:16px}.related-card .copy{padding:18px}.strengths{margin-bottom:45px}}
+@media(max-width:600px){.wrap{width:calc(100% - 32px)}.nav-row{min-height:70px;gap:10px}.brand-name{font-size:16px}.brand small{font-size:8px}.brand-orbit{width:30px;height:30px;border-radius:9px}.nav-links{gap:8px}.nav-links .button{font-size:12px;padding:10px 12px}.intro{padding:24px 0 32px}.eyebrow{margin-top:30px;font-size:10px}.hero-figure{border-radius:16px}.hero-figure figcaption{position:static;padding:13px 16px;background:#080c1a;font-size:10px}.strengths{grid-template-columns:1fr}.strength{padding:20px}.strength span{margin-bottom:6px}.toc ol{grid-template-columns:1fr}.related-grid,.hub-grid{grid-template-columns:1fr}.article-body section p{font-size:16px}.article-body section{margin-bottom:32px}.consult{margin:45px 0}.actions .button{flex:1 1 160px}.meta{line-height:1.8}.related{padding-bottom:45px}.footer-links{gap:14px}.card-landing span{font-size:12px}}
+@media(max-width:600px){.actions .button{flex-basis:100%;white-space:nowrap}}
+.privacy-note{position:relative;margin:28px 0 22px;padding:22px 27px;border:1px solid rgba(249,185,108,.25);border-left:3px solid #e6ab70;border-radius:13px;background:linear-gradient(110deg,rgba(149,91,54,.17),rgba(255,255,255,.025));max-width:820px}.privacy-note span{display:block;color:#f2c598;font-size:11px;font-weight:700;letter-spacing:.13em;margin-bottom:8px}.privacy-note p{margin:0;color:#d5c8c0;font-size:15px;line-height:1.7}.hero-figure img{filter:saturate(.93) contrast(1.02)}
+.article-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(350px,.85fr);gap:50px;align-items:start;padding-top:12px}.article-top .intro{padding:26px 0 18px}.article-top h1{font-size:clamp(2.15rem,3.35vw,3.55rem)}.article-top .hero-figure{margin:30px 0 0}.article-top .hero-figure img{aspect-ratio:3/2;object-fit:cover}.article-top .meta{margin-bottom:0}
+@media(max-width:1000px){.article-top{grid-template-columns:1fr;gap:0}.article-top .intro{padding-bottom:16px}.article-top .hero-figure{margin:0}.article-top h1{font-size:clamp(2.15rem,4.3vw,4.25rem)}}
+@media(max-width:600px){.privacy-note{padding:18px 20px;margin:20px 0}.privacy-note p{font-size:14px}}
+@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
+.system-flow{margin:-20px 0 55px;padding:26px;border:1px solid rgba(34,211,238,.21);border-radius:20px;background:radial-gradient(circle at 80% 0,rgba(34,211,238,.1),transparent 50%),#0a1121}.system-flow figcaption{display:grid;gap:4px;margin-bottom:25px}.flow-kicker{color:#67e8f9;font-size:10px;font-weight:700;letter-spacing:.15em}.system-flow figcaption strong{font:600 clamp(19px,2vw,23px)/1.35 'Space Grotesk',Inter,sans-serif;color:#f5f8ff}.system-flow figcaption small{font-size:12px;line-height:1.55;color:#a8b9db}.flow-track{display:flex;align-items:stretch;gap:0}.flow-device{position:relative;display:flex;flex:1;min-width:0;min-height:130px;flex-direction:column;justify-content:space-between;padding:16px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(255,255,255,.035)}.flow-device-top{display:flex;align-items:flex-start;justify-content:space-between}.flow-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:rgba(34,211,238,.13);color:#67e8f9}.flow-icon svg{width:25px;height:25px}.flow-led{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.12);animation:flow-led-pulse 3.2s ease-in-out infinite}.flow-device:nth-child(3) .flow-led{animation-delay:.6s}.flow-device:nth-child(5) .flow-led{animation-delay:1.2s}.flow-device strong{font-size:13px;line-height:1.35;color:#eef2ff}.flow-device-index{position:absolute;right:14px;bottom:13px;color:#637799;font-size:10px}.flow-link{position:relative;flex:0 0 50px;align-self:center;height:2px;background:linear-gradient(90deg,rgba(34,211,238,.32),#67e8f9,rgba(34,211,238,.32))}.flow-link:before,.flow-link:after{content:'';position:absolute;right:-1px;top:-4px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid #67e8f9}.flow-link span{position:absolute;top:-3px;left:0;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 12px #67e8f9;animation:flow-packet 3.2s linear infinite}.flow-link:nth-child(4) span{animation-delay:1.6s}@keyframes flow-packet{0%{left:0;opacity:0}12%,85%{opacity:1}100%{left:calc(100% - 8px);opacity:0}}@keyframes flow-led-pulse{0%,100%{opacity:.4;box-shadow:0 0 0 2px rgba(34,197,94,.1)}45%{opacity:1;box-shadow:0 0 0 5px rgba(34,197,94,.17)}}
+@media(max-width:600px){.system-flow{padding:20px;margin:0 0 42px}.flow-track{flex-direction:column}.flow-device{width:100%;min-height:84px;padding:12px 15px;flex-direction:row;align-items:center;gap:12px}.flow-icon{width:38px;height:38px}.flow-icon svg{width:23px;height:23px}.flow-device strong{flex:1}.flow-device-index{position:static}.flow-device-top{align-items:center}.flow-link{align-self:center;flex:0 0 28px;width:2px;height:28px;background:linear-gradient(180deg,rgba(34,211,238,.32),#67e8f9,rgba(34,211,238,.32))}.flow-link:before,.flow-link:after{right:-4px;top:auto;bottom:-1px;border-top:7px solid #67e8f9;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:0}.flow-link span{top:0;left:-3px;animation-name:flow-packet-vertical}@keyframes flow-packet-vertical{0%{top:0;opacity:0}12%,85%{opacity:1}100%{top:calc(100% - 8px);opacity:0}}}
+@media(prefers-reduced-motion:reduce){.flow-link span{animation:none;opacity:1;left:50%;transform:translateX(-50%)}.flow-led{animation:none;opacity:1;box-shadow:0 0 0 3px rgba(34,197,94,.12)}}
diff --git a/build.py b/build.py
new file mode 100644
index 0000000..bc661a5
--- /dev/null
+++ b/build.py
@@ -0,0 +1,158 @@
+"""Static HTML build; no JavaScript required for article content or navigation."""
+from pathlib import Path
+import json, html, re, shutil, math
+from xml.etree import ElementTree as ET
+
+ROOT=Path(__file__).resolve().parent
+OUT=ROOT/'public'
+BASE='https://servaki.online'
+DATE='2026-09-28'
+PAGES=json.loads((ROOT/'content/pages.json').read_text(encoding='utf-8'))
+BY_ID={p['slug']:p for p in PAGES}
+PRIVACY=json.loads((ROOT/'content/privacy-notes.json').read_text(encoding='utf-8'))
+PHOTO_ALT=json.loads((ROOT/'content/photo-alt.json').read_text(encoding='utf-8'))
+FLOWS=json.loads((ROOT/'content/flow-scenes.json').read_text(encoding='utf-8'))
+CARD_COPY=json.loads((ROOT/'content/card-copy.json').read_text(encoding='utf-8'))
+GROUPS={'Подход':('approach','Как мы работаем','Поддержка с понятной ответственностью'),'Услуги':('services','IT-услуги для бизнеса','От рабочего места до инфраструктуры'),'Отрасли':('industries','IT-решения для отраслей','Учитываем, как работает ваш бизнес')}
+HUB_DESCRIPTIONS={
+ 'Подход':'Как servaki.online принимает обращения, поддерживает удалённые объекты и выстраивает абонентское IT-обслуживание бизнеса на КМВ и Юге России.',
+ 'Услуги':'Удалённая помощь, сети и VPN, мониторинг, видеонаблюдение, серверы и автоматизация для бизнеса на КМВ и Юге России. Состав работ и порядок поддержки.',
+ 'Отрасли':'IT-поддержка гостиниц и кафе, сельского хозяйства и строительных объектов: связь, рабочие системы, камеры и удалённый контроль на Юге России.'
+}
+ICON_PATHS={
+ 'ticket':'
'
+def photo_image(p):
+ slug=p['slug']
+ return image(p,lazy=False).replace(f'/{slug}-',f'/photo-{slug}-').replace(esc(p['alt']),esc(PHOTO_ALT[slug])).replace('(max-width: 1248px) 100vw, 1200px','(max-width: 600px) calc(100vw - 32px), (max-width: 1000px) calc(100vw - 48px), 520px')
+def head(title,description,canonical,img,graph):
+ data=json.dumps({'@context':'https://schema.org','@graph':graph},ensure_ascii=False).replace('<','\\u003c')
+ return f'''
{esc(p["label"])}
Подробнее{esc(t)}
{esc(a)}
{esc(p['lead'])}
Укажите ваш объект, существующее оборудование и задачу. Разберём исходные условия, уточним необходимые доступы и предложим порядок работ. Стоимость и сроки согласуем до начала.
]*>).*?(
)',lambda m:m.group(1)+esc(CARD_COPY[p['slug']])+m.group(2),after,count=1,flags=re.S) + if count!=1:raise RuntimeError('Missing homepage description: '+p['card']) + block=before+after + # Industry illustrations move below their descriptions, consistent with all cards. + block=re.sub(r'Что входит в обслуживание и как выбрать тариф →
') + for old in (3000, 7000, 15000): + structured=f'"price": "{old}"' + visible=f'{old}' + if result.count(structured)!=1 or result.count(visible)!=1: + raise RuntimeError(f'Expected one visible and one structured price for {old}') + new=old*3 + result=result.replace(structured,f'"price": "{new}"') + result=result.replace(visible,f'{new:,}'.replace(',', ' ')) + return result +def build(): + OUT.mkdir(exist_ok=True) + dest=OUT/'assets/editorial';dest.mkdir(parents=True,exist_ok=True) + shutil.copy2(ROOT/'assets/editorial.css',dest/'editorial.css') + for p in PAGES: + for width in [480,960,1536]: + img=ROOT/'assets'/f'{p["slug"]}-{width}.webp' + if img.exists():shutil.copy2(img,dest/img.name) + photo=ROOT/'assets'/f'photo-{p["slug"]}-{width}.webp' + if not photo.exists():raise RuntimeError('Missing warm photograph: '+str(photo)) + shutil.copy2(photo,dest/photo.name) + page=article(p) + page=page.replace(image(p,lazy=False),photo_image(p),1) + page=page.replace(f'/assets/editorial/{p["slug"]}-1536.webp',f'/assets/editorial/photo-{p["slug"]}-1536.webp') + page=page.replace(' · Тематическая AI-иллюстрация',' · Изображение создано ИИ, без данных и фотографий клиентов',1) + page=page.replace('{esc(desc)}
Как servaki.online принимает обращения, поддерживает удалённые объекты и выстраивает абонентское IT-обслуживание бизнеса на КМВ и Юге России.
Подписка помогает планировать IT-расходы и закрепить ответственность за поддержку. Сначала описываем вашу инфраструктуру и нужный уровень обслуживания, затем согласуем состав работ.

Абонентское обслуживание — это согласованный набор задач: помощь сотрудникам, сопровождение оборудования, профилактика и отчётность. Фиксированная стоимость имеет смысл только вместе с понятными границами. До старта определяем количество рабочих мест, перечень серверов и объектов, часы поддержки и приоритет критичных сервисов.
На главной опубликованы тарифы «Старт», «Бизнес» и «Премиум». Сопоставлять их лучше с задачами, а не только с числом компьютеров. Три рабочих места с критичной учётной системой могут требовать больше внимания, чем десять обычных офисных ПК. Несколько филиалов, камеры и резервные серверы учитываем при обсуждении состава обслуживания.
В нашей практике сети, серверы, видеонаблюдение и контроллеры работают совместно. Неисправность питания или одного маршрутизатора может проявиться сразу в нескольких сервисах. Поэтому при подключении описываем зависимости и общие точки отказа. Это даёт основу для профилактики и осмысленного плана развития.
Закупка оборудования, лицензии, монтаж, перенос сервисов и крупные изменения могут выходить за рамки регулярной поддержки. Такие задачи предварительно оцениваем. Порядок выездов, аварийные обращения вне рабочего времени и ограничения тарифа отражаем в договорённостях, чтобы у обеих сторон было одинаковое понимание услуги.
Собираем перечень устройств, проверяем доступы и резервные копии, фиксируем известные проблемы. Приоритет отдаём рискам остановки бизнеса. Затем согласуем канал обращений и форму отчёта. По итогам сопровождения показываем выполненные работы и рекомендации, которые можно включить в следующий бюджет.
Ориентиры опубликованы на главной в разделе тарифов. Итог зависит от состава оборудования, числа объектов, часов поддержки и необходимых выездов.
Да. Можно согласовать поддержку выбранных рабочих мест или сервисов и затем расширить состав обслуживания.
Это нужно проверить в предложении и договоре. Не следует считать закупки и сторонние подписки включёнными по умолчанию.
Укажите ваш объект, существующее оборудование и задачу. Разберём исходные условия, уточним необходимые доступы и предложим порядок работ. Стоимость и сроки согласуем до начала.
Когда остановилась работа, важен понятный следующий шаг. Принимаем обращение, оцениваем влияние сбоя на бизнес и согласуем порядок восстановления. Время отклика закрепляем в выбранном тарифе.

Это время начала обработки обращения для соответствующего уровня обслуживания, а не обещание устранить любую неисправность за четверть часа. На главной представлены разные условия: у тарифа «Старт» отклик до двух часов, у «Бизнес» — 30 минут, у «Премиум» — 15 минут. Рабочее время поддержки, каналы связи и порядок аварийной эскалации фиксируем при подключении.
В заявке полезно указать, что перестало работать, когда начался сбой и скольких сотрудников он затронул. Остановка связи на объекте и настройка нового принтера требуют разного приоритета. Проверяем доступность, последние изменения и сообщения об ошибках. Затем предлагаем действие: восстановить соединение, вернуть рабочую конфигурацию, переключить резерв или подготовить выезд.
В работе с распределёнными объектами мы сталкиваемся с ситуациями, когда роутер доступен, а нужный сервис не открывается. Поэтому проверяем не только индикатор подключения, но и прохождение данных, DNS и доступ к целевому приложению. Такой подход помогает отличить проблему провайдера от неисправности локальной сети или самого сервиса.
После работ объясняем причину, перечисляем изменения и вместе с сотрудником проверяем исходную задачу: открылся ли документ, печатает ли принтер, доступна ли камера. Если требуется наблюдение, назначаем конкретную проверку. Для повторяющихся сбоев предлагаем план устранения причины, а не бесконечную серию перезапусков.
Удалённое подключение не заменяет ремонт питания, кабеля или неисправного оборудования. В таких случаях готовим понятное задание для местного сотрудника или выезда: что проверить, какое устройство заменить, какие признаки зафиксировать. Это позволяет использовать время на объекте предметно.
Нет. Отклик и срок решения — разные показатели. Время восстановления зависит от причины, доступа, оборудования и сторонних сервисов.
Название объекта, краткое описание проблемы, время её появления и контакт сотрудника на месте. Пароли в обычное сообщение отправлять не нужно.
Круглосуточный автоматический мониторинг и дежурство инженера — разные услуги. Часы поддержки и аварийный порядок согласуются отдельно.
Укажите ваш объект, существующее оборудование и задачу. Разберём исходные условия, уточним необходимые доступы и предложим порядок работ. Стоимость и сроки согласуем до начала.
Между офисом и объектом могут быть десятки километров и горный перевал. Строим поддержку вокруг доступности связи, удалённого управления и понятных действий для человека на месте.

За пределами города на работу IT влияют питание, радиомосты, качество мобильной связи и ограниченная возможность быстро заменить оборудование. Обычная схема офисной поддержки здесь недостаточна. Начинаем с карты зависимостей: откуда приходит интернет, что запитано от одного блока, где заканчивается ответственность провайдера и кто может помочь на площадке.
Настраиваем защищённый доступ к нужным ресурсам: учётной системе, камерам, контроллеру или рабочему месту. Разделяем служебные устройства и гостевые подключения. Для резервного канала проверяем реальное переключение и возвращение на основной, чтобы запасное соединение существовало не только в настройках.
В нашей практике есть диагностика связи между весовой и ремонтной зоной через радиомост. Для поиска причины наблюдали доступность устройств по обе стороны моста и время работы маршрутизатора. Так можно отделить перезагрузку оборудования от потери связи на конкретном участке и подготовить адресную проверку питания или радиолинии.
Сам факт подключения VPN не доказывает, что сотрудник откроет приложение. Проверяем обмен данными, доступность нужного сервиса и изменения после переключения канала. Для камер отдельно проверяем живое видео и архив; для контроллеров — свежесть измерений. Порог и получателей уведомлений выбираем под задачу объекта.
Фиксируем состав оборудования, назначение каналов, порядок перезапуска и контакты для эскалации. Готовим короткую инструкцию для типовых ситуаций. Если восстановление требует физического вмешательства, человек на месте получает последовательность действий, а не просьбу наугад отключить всё питание.
Часто да. Сначала оцениваем покрытие, ограничения оператора и входящий доступ. Конкретную схему выбираем после проверки связи на площадке.
Для повседневной поддержки обычно достаточно ответственного сотрудника. Монтаж, замена оборудования и физические неисправности требуют присутствия человека.
Да, если он поддерживает нужные функции и работает стабильно. Замены предлагаем по результатам обследования.
Укажите ваш объект, существующее оборудование и задачу. Разберём исходные условия, уточним необходимые доступы и предложим порядок работ. Стоимость и сроки согласуем до начала.
+ Удалённое обслуживание компьютеров, сетей и серверов для малого и среднего бизнеса. + Решаем задачи без выездов — быстро, из любой точки, с фиксированной ценой подписки. +
+>_ «Мы рядом, даже если между нами горы».
+ ++ Мы — удалённый IT-отдел для бизнеса Юга России. Держим инфраструктуру под контролем там, + где выезд специалиста дорог и долог: фермы, базы, объекты в горах, курорты и стройплощадки. +
+При сбое связи, компьютера или сервиса принимаем заявку, оцениваем влияние на работу и начинаем диагностику. Отклик от 15 минут зависит от тарифа; срок устранения определяем после выяснения причины.
+
Подробнее: Реакция от 15 минут ↗Связываем фермы, весовые, склады и горные объекты с офисом. Проверяем канал, питание и доступ к нужным системам, чтобы удалённая площадка оставалась управляемой.
+
Подробнее: Работаем с удалёнными точками ↗Обслуживание рабочих мест и инфраструктуры по понятному ежемесячному плану: состав работ, ответственные и время отклика согласованы заранее. Помогаем не копить сбои до остановки работы.
+
Подробнее: Доступные подписки ↗Полный цикл поддержки инфраструктуры — от рабочего места сотрудника до сервера и видеонаблюдения.
+Помогаем сотруднику с компьютером, программой или принтером через согласованный сеанс. Сначала уточняем задачу, затем проверяем результат вместе с пользователем без лишнего доступа к данным.
+
Подробнее: Удалённый рабочий стол ↗Строим связь между офисом, складом и удалённым объектом через защищённые соединения. Настраиваем маршруты и права доступа, проверяем прохождение трафика до рабочих сервисов.
+
Подробнее: Сети и VPN ↗Следим за доступностью важных сервисов и сообщаем ответственным о сбоях. Состав мониторинга, резервное копирование и уведомления подбираем под инфраструктуру и порядок работы команды.
+
Подробнее: Мониторинг и безопасность ↗Подбираем камеры, запись и удалённый просмотр под задачи объекта. Учитываем зоны обзора, питание, хранение архива и права доступа, чтобы система помогала в работе.
+
Подробнее: Видеонаблюдение ↗Размещаем и сопровождаем серверы для рабочих приложений, чатов и внутренних сервисов. Контролируем доступы, обновления и резервные копии, согласуем перенос до начала работ.
+
Подробнее: Серверы и хостинг ↗Соединяем датчики, учётные системы и уведомления в понятный рабочий процесс. Боты сообщают о событиях и собирают данные; управляющие команды доступны согласованным сотрудникам.
+
Подробнее: Автоматизация ↗Понимаем специфику бизнеса Юга России и подбираем решения под задачи каждой отрасли.
+Для гостиниц и кафе проектируем разделение гостевого Wi-Fi и рабочих систем, помогаем с кассами и служебными сервисами. Доступ к данным гостей определяется правилами заведения.
+
Подробнее: HoReCa ↗На фермах и складах связываем датчики, весовые, камеры и удалённые площадки. Проверяем связь и питание, чтобы ответственные получали нужные показатели и понимали причину сбоя.
+
Подробнее: Агросектор ↗Организуем временные сети, рабочие места и камеры на стройплощадке. Учитываем перенос оборудования по этапам работ, питание, схему доступа и передачу настроек.
+
Подробнее: Строительство ↗Простой и прозрачный процесс — от вашего сообщения до постоянного мониторинга. Как устроена поддержка →
+Пишете в Telegram, WhatsApp или звоните — фиксируем задачу.
+Безопасно подключаемся к вашему устройству или инфраструктуре.
+Находим причину и устраняем проблему, не дожидаясь выезда.
+Присылаем отчёт и продолжаем следить за системами 24/7.
+Что входит в обслуживание и как выбрать тариф →
+Фиксированная цена в месяц. Прозрачные цены — без скрытых платежей и сюрпризов в счёте.
+Работаем там, где живёт и растёт бизнес региона: горы, поля, курорты и серверные.
+
+
+
+
+
+
+ Напишите в мессенджер или оставьте заявку — ответим и предложим план поддержки.
+Опишите задачу — предложим подходящий тариф и план подключения.
+ +На ферме IT выходит за стены офиса: весовая, склад, ремонтная зона, камеры и датчики могут находиться на разных площадках. Помогаем связать их и видеть состояние важных систем.

Проверяем доступные каналы, расстояния и зависимость оборудования от питания. Для офисной части, весовой и камер могут понадобиться разные требования к трафику. Подбираем схему удалённого доступа и резервирования с учётом существующего оборудования. Радиолинию и мобильный интернет оцениваем по измерениям на месте.
Разделяем доступность сети, работу компьютера и поведение специализированной весовой программы. Уточняем интерфейсы оборудования и ответственность поставщика. Настраиваем согласованный доступ к рабочему месту, контроль связи и резервирование данных, если это входит в задачу. До интеграции с учётной системой проверяем формат обмена.
В нашей практике есть диагностика связи весовой с удалённой ремонтной зоной и работа с видеонаблюдением на удалённых площадках. Наблюдение за доступностью оборудования и временем его работы позволяет точнее искать причину: перезапуск, пропадание питания или обрыв участка сети. Такой подход особенно полезен там, где каждый выезд занимает время.
Работаем с контроллерами Wiren Board и передачей данных по MQTT. Можно организовать наблюдение за совместимыми измерителями, питанием и состоянием оборудования. Для каждого сигнала согласуем порог, период проверки и получателя. Управление исполнительными устройствами рассматриваем отдельно от мониторинга, с учётом локальных защит и условий эксплуатации.
Стремимся сделать состояние площадки понятным без изучения десятков интерфейсов: какой объект на связи, откуда давно не поступали данные, что проверить первым. Документируем состав системы и действия при типовых отказах. Автоматизация внедряется поэтапно, начиная с самого полезного и проверяемого сценария.
Да, если датчики и контроллер поддерживают доступный интерфейс. Согласуем состав данных, периодичность и способ уведомлений.
Сначала проверим оборудование, программу и доступный формат обмена. Интеграция зависит от совместимости и документации поставщика.
Обследуем связь и питание, рассмотрим резерв. Критичные локальные функции должны сохраняться без зависимости от постоянного внешнего соединения.
Укажите ваш объект, существующее оборудование и задачу. Разберём исходные условия, уточним необходимые доступы и предложим порядок работ. Стоимость и сроки согласуем до начала.
Стройплощадка меняется по мере работ. Планируем связь и видеонаблюдение так, чтобы оборудование можно было обслуживать, переносить и расширять без потери понимания системы.

Организуем сеть для штаба строительства, сотрудников и согласованных рабочих систем. Выбор подключения зависит от доступных операторов, расположения площадки и срока эксплуатации. Проверяем питание, размещение оборудования и защищённый доступ к офисным ресурсам. Для временного решения также нужны документация и ответственный за обслуживание.
Определяем нужные зоны: въезд, склад, периметр или ход работ. При изменении застройки прежний ракурс может стать бесполезным, поэтому предусматриваем пересмотр размещения. Учитываем кабельные трассы, питание, условия среды и сохранение архива. Удалённый просмотр проверяем отдельно от локальной записи.
В опыте команды есть работа с планами камер, кабельных трасс и систем доступа для строительного объекта. Наглядная модель помогает обсуждать обзор и расположение устройств, но не заменяет проверенную исполнительную документацию. Если исходные привязки отсутствуют, фиксируем это явно и уточняем их до монтажного решения.
Перенос бытовок, смена подрядчиков и добавление оборудования меняют сеть. После согласованных работ актуализируем схему и резервные конфигурации. Проверяем, что новые подключения не нарушили существующие камеры и рабочие места. Временные доступы выдаём под задачу и пересматриваем по завершении работ.
Составляем перечень устройств, назначение соединений и порядок восстановления после отключения питания. При передаче объекта важно передать не только оборудование, но и актуальные настройки, права и документацию. Заранее согласуем, что остаётся в постоянной эксплуатации, а что демонтируется или переносится на следующую площадку.
Да, если покрытие и нагрузка позволяют. Качество и возможность резерва оцениваем на площадке.
Да, но после переноса нужно заново проверить обзор, питание, соединение и запись. План размещения стоит актуализировать.
Нет. Наглядная схема помогает согласованию; точные привязки и монтажные решения требуют проверенных исходных данных и документации.
Укажите ваш объект, существующее оборудование и задачу. Разберём исходные условия, уточним необходимые доступы и предложим порядок работ. Стоимость и сроки согласуем до начала.
Гость должен пользоваться связью, а сотрудники — спокойно работать с заказами и бронированиями. Собираем IT-инфраструктуру заведения вокруг этих повседневных задач.

Посетителям нужен удобный Wi-Fi, персоналу — стабильный доступ к рабочим системам. Предусматриваем разделение сегментов и ограничения доступа между ними. При обследовании учитываем планировку, перекрытия и места высокой нагрузки. Размещение точек доступа выбираем по условиям объекта, а качество связи проверяем в нужных зонах.
Проверяем сетевую часть подключения кассовых устройств, принтеров, компьютеров администратора и внешних сервисов. Поддержку самого прикладного ПО и фискального оборудования согласуем с их поставщиками. Это помогает быстро определить, кто решает конкретную проблему, вместо пересылки заявки между несколькими подрядчиками.
Опыт команды в сетях, удалённых объектах, серверных сервисах и видеонаблюдении применим к гостиницам и ресторанам: здесь также важно видеть общие зависимости. Если пропало питание коммутатора, одновременно могут исчезнуть Wi-Fi, камеры и рабочие подключения. Начинаем диагностику с картины целиком, затем проверяем отдельные устройства.
Согласуем работы на время минимальной нагрузки и предупреждаем, какие операции будут недоступны. Перед изменением сохраняем настройки и определяем порядок возврата. Для сезонных объектов полезно проверить оборудование и доступы до открытия, а после перестановок — заново оценить покрытие Wi-Fi и зоны обзора камер.
Количество зон и рабочих мест, часы работы, текущих поставщиков ПО, необходимость резерва интернета и удалённого просмотра камер. Интеграции с сервисами доставки или бронирования оцениваем по доступным интерфейсам. По результатам формируем понятный состав поддержки и правила обращения для персонала.
Возможно: сначала проверяем размещение точек, настройки, кабели и нагрузку. Замена нужна только там, где оборудование или схема ограничивают результат.
Согласуем перечень систем и границы работ. Настройку сети отделяем от задач, требующих участия поставщика кассового или фискального оборудования.
Такой объект можно включить в сопровождение. Состав подготовки к сезону и условия поддержки согласуются по его оборудованию и режиму работы.
Укажите ваш объект, существующее оборудование и задачу. Разберём исходные условия, уточним необходимые доступы и предложим порядок работ. Стоимость и сроки согласуем до начала.
IT-поддержка гостиниц и кафе, сельского хозяйства и строительных объектов: связь, рабочие системы, камеры и удалённый контроль на Юге России.
Связываем источники данных и рабочие действия: получить показание, отправить уведомление, собрать отчёт или выполнить согласованную команду. Начинаем с одного полезного сценария.

Разбираем, кто сейчас выполняет операцию, откуда берёт данные и кому передаёт результат. Выбираем измеримый сценарий: ежедневная сводка, уведомление об отклонении, сбор заявки или изменение статуса. Уточняем, что делать при недоступности источника, повторном событии и ошибке отправки.
Создаём Telegram-ботов и связки между сервисами, когда у источников есть подходящий интерфейс. Интеграция с кассой, CRM или учётной системой требует проверки API, версии и прав доступа. Не обещаем совместимость со всем оборудованием: сначала подтверждаем, какие данные и действия реально доступны.
В практике команды есть работа с Wiren Board, MQTT, энергетическими показателями и Telegram-уведомлениями. Измерение напряжения или мощности само по себе мало полезно владельцу; нужно добавить объект, время, понятный порог и объяснение события. Поэтому проектируем сообщение вокруг решения, которое сможет принять получатель.
Просмотр показаний и управление реле имеют разный уровень ответственности. Разделяем роли пользователей и разрешённые действия, предусматриваем подтверждение для чувствительных команд. Учитываем ограничения оборудования и локальные защитные механизмы. Автоматизация не должна обходить штатные блокировки и правила эксплуатации объекта.
Тестируем получение данных, обработку события, отправку и фактическое получение сообщения. Для отчётов проверяем свежесть данных и поведение при пропусках. Фиксируем зависимости от внешних сервисов и порядок восстановления. Развивать автоматизацию проще поэтапно: сначала надёжный сценарий, затем дополнительные источники и роли.
Сначала проверим доступный API, экспорт и права. Если данные можно получать устойчиво, предложим способ формирования и доставки отчёта.
Для совместимого оборудования — да, после согласования прав, подтверждений и защитных ограничений. Критичные блокировки должны оставаться на объекте.
Это учитывается в проектировании: журнал событий, повторная доставка или резервный канал выбираются под важность сценария.
Укажите ваш объект, существующее оборудование и задачу. Разберём исходные условия, уточним необходимые доступы и предложим порядок работ. Стоимость и сроки согласуем до начала.
Удалённая помощь, сети и VPN, мониторинг, видеонаблюдение, серверы и автоматизация для бизнеса на КМВ и Юге России. Состав работ и порядок поддержки.

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

Выбираем показатели под ваши сервисы: доступность сайта или приложения, состояние канала, свободное место, свежесть резервной копии и поступление данных от оборудования. Проверка одного сетевого адреса не заменяет проверку пользовательской операции. Для важных систем определяем, какой именно результат означает исправную работу.
Согласуем пороги, повторные проверки и получателей. Кратковременный сетевой сбой и длительная недоступность требуют разных действий. Уведомление дополняем названием объекта, наблюдаемым симптомом и следующей проверкой. Telegram может быть одним из каналов доставки; его работоспособность также нужно проверять.
В нашей практике мониторинг используется при поиске обрывов связи на удалённых площадках, наблюдении за серверами и сборе данных контроллеров. Сопоставляем доступность устройств и сервисов, чтобы локализовать участок отказа. После изменения проверяем исходный симптом; после настройки оповещений проводим согласованный пробный сценарий.
Само наличие файла ещё не доказывает пригодность резервной копии. Определяем, какие данные сохранять, как долго их хранить и где разместить копии. Согласуем допустимую потерю последних изменений и время восстановления. Для выбранных систем проводим пробное восстановление в отдельном месте, не затрагивая рабочие данные.
Проверяем внешние точки входа, права учётных записей и актуальность обновлений. Изменения планируем с резервной копией и возможностью отката. Мониторинг не гарантирует отсутствие инцидентов: он помогает обнаруживать отклонения и действовать по согласованному порядку. Круглосуточный сбор сигналов и круглосуточное дежурство инженера оговариваются отдельно.
Автоматические проверки выполняются круглосуточно. Время реакции инженера, дежурство и эскалация определяются условиями обслуживания.
Да, если согласованы бот, получатели и правила доставки. После подключения проверяем отправку и получение тестового уведомления.
Нет. Результат зависит от периодичности, хранения и пригодности копий. Поэтому заранее определяем допустимые потери и проверяем восстановление.
Укажите ваш объект, существующее оборудование и задачу. Разберём исходные условия, уточним необходимые доступы и предложим порядок работ. Стоимость и сроки согласуем до начала.
Связываем офисы, склады и удалённые объекты так, чтобы сотрудники получали доступ к нужным ресурсам, а управление сетью оставалось понятным и контролируемым.

Уточняем, кому и к чему нужна связь: сотрудникам — к файлам и приложениям, ответственному — к камерам, инженеру — к оборудованию. Проверяем адресацию, ограничения провайдеров и существующие маршруты. Это помогает заранее обнаружить пересекающиеся подсети и избежать ситуации, когда подключение VPN лишает объект обычного интернета.
Работаем с маршрутизаторами Keenetic и MikroTik, туннелями WireGuard и решениями на базе ZeroTier. Выбор зависит от оборудования, числа точек и требований к доступу. Разделяем служебный и гостевой трафик, задаём необходимые правила доступа и предусматриваем способ восстановления управления после изменения конфигурации.
В распределённых сетях встречается ситуация: туннель показывает активное состояние, но полезные данные не проходят. В нашей практике такие случаи разбираются по маршрутам в обе стороны, счётчикам обмена и доступности целевого сервиса. Отдельно проверяем DNS и сохранение настроек. Это позволяет искать причину точнее, чем по одному зелёному индикатору.
Два подключения не всегда означают два независимых канала: они могут зависеть от одного питания, линии или промежуточного узла. Фиксируем общие зависимости и проверяем поведение при отказе. Согласуем, какие сервисы должны пережить переключение и допустимо ли краткое прерывание работы.
Описываем назначение сегментов и соединений, сохраняем резервную конфигурацию и порядок отката. Проверяем доступ с рабочих мест и удалённых площадок. При сопровождении наблюдаем за нужными каналами и сервисами; новые правила вводим с учётом уже работающих устройств.
Для защищённого соединения площадок и доступа к корпоративным ресурсам. Состав доступных систем и права пользователей задаются отдельно.
Да, если связь и оборудование позволяют построить выбранную схему. Проверяем ограничения, адресацию и качество канала.
Нет. Для резерва нужен дополнительный рабочий канал и настроенное переключение. VPN решает задачу связи поверх доступного соединения.
Укажите ваш объект, существующее оборудование и задачу. Разберём исходные условия, уточним необходимые доступы и предложим порядок работ. Стоимость и сроки согласуем до начала.
Помогаем сотруднику вернуться к работе: разобраться с программой, восстановить доступ, настроить принтер или подготовить рабочее место. Подключение и объём действий согласуем заранее.

Диагностируем ошибки операционной системы и приложений, настраиваем сетевые принтеры, доступ к общим папкам и рабочим сервисам. Помогаем подключить новое рабочее место к существующей инфраструктуре. Перед изменениями уточняем, какие данные и программы критичны для сотрудника и что уже предпринималось для решения проблемы.
Сотрудник описывает симптом и подтверждает подключение. Проверяем состояние компьютера, сообщения об ошибках, сетевые настройки и доступность зависимых сервисов. При необходимости согласуем перезапуск или временное закрытие программы. Завершаем сеанс проверкой конкретной операции, которая не работала, и кратким объяснением результата.
Ошибка на экране не всегда возникает на самом ПК. Приложение может зависеть от VPN, файлового сервера или службы авторизации. Опыт сопровождения сетей и серверов помогает проверять цепочку целиком. Это особенно важно для удалённых сотрудников и объектов, где рабочее место выходит в корпоративные ресурсы через несколько участков связи.
Выбираем согласованный инструмент удалённой помощи и определяем, кто вправе подключаться. Постоянный доступ настраиваем только при необходимости, с ограничением прав. Учётные записи закрепляем за ответственными, а доступ уволенных сотрудников отзываем. Перед действиями, способными затронуть данные, проверяем наличие подходящей резервной копии.
Неисправный накопитель, повреждённый кабель и механическая поломка принтера требуют работ на месте. Если диагностика указывает на аппаратную причину, объясняем, что именно нужно проверить или заменить. Для специфического прикладного ПО при необходимости подключаем его поставщика: сетевую доступность и работу самой программы важно разделять.
Да, если есть рабочий интернет и возможность согласованного удалённого подключения. Доступ к корпоративным ресурсам проверяем отдельно.
Нет. Согласуем только необходимый доступ и подходящий способ его предоставления. Лишние права для диагностики не нужны.
Да: проверяем сетевое подключение, очередь печати и драйвер. Механический ремонт и расходные материалы относятся к отдельным работам.
Укажите ваш объект, существующее оборудование и задачу. Разберём исходные условия, уточним необходимые доступы и предложим порядок работ. Стоимость и сроки согласуем до начала.
Размещаем рабочие сервисы там, где ими удобно управлять и восстанавливать их после сбоя. Выбор между локальным сервером и хостингом начинаем с требований к данным и доступности.

Уточняем состав приложений, пользователей и данных: сайт, CRM, файловое хранилище, внутренняя система или другое рабочее ПО. Проверяем требования поставщиков и лицензирования. Оцениваем ресурсы, зависимость от интернета и возможный простой. Это помогает подобрать размещение без лишней сложности и без недооценки нагрузки.
Используем Proxmox для разделения серверных задач на виртуальные машины и контейнеры, Docker — для подходящих приложений. Разделение упрощает обслуживание, но само по себе не создаёт отказоустойчивость. Планируем хранение данных, доступ к управлению, обновления и резервное копирование каждого значимого компонента.
В нашей инфраструктурной практике есть виртуальные машины, контейнерные приложения, базы данных и веб-сервисы. Поэтому рассматриваем не только запуск программы, но и её зависимости: домен, сертификат, база, хранилище, почта и фоновые задачи. При переносе важно проверить пользовательский сценарий и сохранность данных, а не только состояние процесса.
Перед изменением определяем состав резервной копии и порядок отката. Для важных обновлений используем отдельную проверку или тестовый контур, если он предусмотрен. После работ проверяем ключевые функции приложения и журналы ошибок. Документируем версии и особенности конфигурации, которые понадобятся при следующем обслуживании.
Фиксируем ответственных за хостинг, приложение, лицензии и резервные копии. Настраиваем контроль ресурсов и важных сроков, включая сертификаты при включении этой задачи в обслуживание. Отдельно согласуем перенос данных, администрирование прикладной системы и доработку её кода: это разные виды работ.
Зависит от приложений, связи, требований к данным и допустимого простоя. Сначала сравниваем эти условия и стоимость сопровождения.
Да, после обследования и согласования окна работ. План включает копирование данных, проверку, переключение и возможность отката.
Да. Виртуализация не заменяет независимые резервные копии. Снимок на том же хранилище не защищает от его отказа.
Укажите ваш объект, существующее оборудование и задачу. Разберём исходные условия, уточним необходимые доступы и предложим порядок работ. Стоимость и сроки согласуем до начала.
Помогаем видеть нужную зону и находить запись нужного события. Рассматриваем видеонаблюдение как единую систему: обзор, освещение, сеть, питание, регистратор и доступ ответственных.

Для въезда, кассовой зоны и общего обзора территории нужны разные ракурсы. Уточняем задачу каждой камеры, расстояние до объекта наблюдения и условия освещения. При проектировании учитываем высоту установки, препятствия, кабельные трассы и возможность обслуживания. Количество камер само по себе не определяет качество системы.
Пропадание изображения может быть связано с камерой, PoE-коммутатором, радиомостом или перегрузкой канала. Проверяем цепочку целиком. Для удалённых площадок отдельно оцениваем пропускную способность и доступ к локальному архиву, чтобы просмотр через интернет не мешал основной работе объекта.
В практике команды есть работа со схемами камер и кабельных трасс на строительных объектах, а также диагностика регистраторов и связи между удалёнными площадками. Используем планы и наглядные схемы для обсуждения зон обзора. Условную визуализацию всегда отделяем от точной монтажной документации и проверяем привязки по исходным материалам.
Открывающаяся камера ещё не означает, что запись сохраняется. Проверяем дату и время, режим записи, состояние накопителей и поиск фрагмента. Срок хранения зависит от числа камер, разрешения, интенсивности записи и ёмкости дисков. Рассчитываем его под задачу и подтверждаем на выбранной конфигурации.
Разделяем права просмотра и администрирования, согласуем устройства для удалённого доступа. После настройки проверяем соединение из нужной сети и просмотр архива. Изменения паролей и состава пользователей учитываем в сопровождении. Для расширения системы заранее оцениваем запас по портам, питанию и хранилищу.
Да, если совместимость, состояние и качество изображения подходят задаче. Сначала обследуем систему и выявляем ограничения.
При локальном регистраторе запись может продолжаться, если питание и локальная сеть исправны. Это нужно проверить на конкретной системе.
Да, для совместимого оборудования настраиваем согласованный способ доступа и права. Работу проверяем через сеть, которой пользуется ответственный.
Укажите ваш объект, существующее оборудование и задачу. Разберём исходные условия, уточним необходимые доступы и предложим порядок работ. Стоимость и сроки согласуем до начала.
+ Удалённое обслуживание компьютеров, сетей и серверов для малого и среднего бизнеса. + Решаем задачи без выездов — быстро, из любой точки, с фиксированной ценой подписки. +
+>_ «Мы рядом, даже если между нами горы».
+ ++ Мы — удалённый IT-отдел для бизнеса Юга России. Держим инфраструктуру под контролем там, + где выезд специалиста дорог и долог: фермы, базы, объекты в горах, курорты и стройплощадки. +
+Решаем большинство задач удалённо, без выездов через перевалы. Помощь приходит по подключению, а не по дороге.
+Фермы, весовые, склады, базы и объекты в горах — объединяем их в единую защищённую сеть и держим на связи.
+Фиксированная цена в месяц вместо непредсказуемых счетов за разовые вызовы. Бюджет на IT понятен заранее.
+Полный цикл поддержки инфраструктуры — от рабочего места сотрудника до сервера и видеонаблюдения.
+Диагностика и настройка ПК, программного обеспечения, драйверов и принтеров без выезда специалиста.
+Объединяем офисы, склады и удалённые точки в единую защищённую сеть.
+Круглосуточный контроль серверов, регулярные резервные копии и антивирусная защита.
+IP-камеры, регистраторы, проектирование трасс и удалённый доступ к архиву.
+Разворачиваем и обслуживаем сервисы для бизнеса: почта, чаты, CRM и 1С.
+Telegram-боты и интеграции с кассами: уведомления, отчёты и рутинные операции без ручного труда.
+Понимаем специфику бизнеса Юга России и подбираем решения под задачи каждой отрасли.
+
Кассы и POS-терминалы, стабильный Wi-Fi для гостей, интеграция с Яндекс.Еда и Delivery Club.
+
Сети удалённых точек, весовые, видеонаблюдение и датчики на фермах, полях и складах.
+
Временные сети и роутеры на объектах, камеры для контроля и учёт материалов.
+Простой и прозрачный процесс — от вашего сообщения до постоянного мониторинга.
+Пишете в Telegram, WhatsApp или звоните — фиксируем задачу.
+Безопасно подключаемся к вашему устройству или инфраструктуре.
+Находим причину и устраняем проблему, не дожидаясь выезда.
+Присылаем отчёт и продолжаем следить за системами 24/7.
+Фиксированная цена в месяц. Прозрачные цены — без скрытых платежей и сюрпризов в счёте.
+Работаем там, где живёт и растёт бизнес региона: горы, поля, курорты и серверные.
+
+
+
+
+
+
+ Напишите в мессенджер или оставьте заявку — ответим и предложим план поддержки.
+Опишите задачу — предложим подходящий тариф и план подключения.
+ +