Перейти к содержанию

Сателлит: shopdix.su — магазин готовых серверных устройств

Документ составлен 2026-07-09. Цель — дать полный контекст для новой сессии разработки, чтобы не восстанавливать решения заново.


Концепция и зачем это нужно

shopdix.su — интернет-магазин готовых физических устройств (смартфоны, Raspberry Pi, ноутбуки), поставляемых с предустановленным device_client и настроенным туннелем dix.su. Также продаются цифровые подписки и бесплатные инструкции по самостоятельной настройке.

Почему это стратегически важно

  1. Живая реклама сервиса: сам магазин работает через туннель dix.su на реальном смартфоне (Redmi 4) — покупатель видит, что это не теория. URL shopdix.su проксируется через dix.su → лучшая демонстрация возможностей.

  2. Первый пользовательский трафик: органический SEO-трафик через страницы устройств и инструкций даёт первых реальных пользователей на dix.su.

  3. Обратные ссылки: страницы shopdix.su ссылаются на dix.su → SEO-вес.

  4. Снижение порога входа: покупатель получает устройство, включает в розетку и подключает интернет — туннель уже работает. Нет необходимости разбираться в настройке.


Текущее состояние

Компонент Статус
Django-магазин (eskimos) Работает на Redmi 4 с PostmarketOS
Туннель eskimos.dix.su — активен, продакшн
Кодовая база Собственный проект, путь уточнить в новой сессии
Домен shopdix.su Не зарегистрирован
Custom domain привязка Функционал готов в dix.su (V43–V44), не настроен
Продуктовый каталог Требует наполнения
Платёжная интеграция Уточнить в eskimos (в dix.su — Tinkoff + Lemon Squeezy)

Архитектура

Покупатель → https://shopdix.su
              Cloudflare DNS → dix.su
                     ▼ (custom domain, V43–V44)
              dixu_proxy → WSS-канал → device_client
                                    Redmi 4 (PostmarketOS)
                                    Django / eskimos
                                    SQLite / PostgreSQL
                                    порт 8000 (или nginx локально)

Сам магазин физически живёт на устройстве пользователя — платформа dix.su только проксирует трафик. Это означает: - При выключении устройства магазин недоступен → нужен uptime (устройство всегда включено, подключено к интернету, желательно systemd autostart device_client). - Нагрузка на dix.su — минимальная (relay без терминации). - Device_client уже запущен на Redmi 4, туннель eskimos.dix.su активен.


Шаг 1. Привязка домена (без кода)

  1. Зарегистрировать shopdix.su (или другой домен по решению).
  2. DNS: добавить CNAME-запись shopdix.su → dix.su (или A-запись на IP VPS).
  3. В кабинете dix.su: раздел «Кастомный домен» для туннеля eskimos → ввести shopdix.su → система выдаст TXT-запись для верификации → добавить в DNS → сертификат Let's Encrypt выдаётся автоматически через certbot-agent.

Функционал custom domain полностью реализован (CustomDomainController, AcmeDnsChallengeController, certbot-agent.py) — никакого кода не нужно.


Шаг 2. Продуктовый каталог

Физические устройства (основной продукт)

Линейка формируется от дешёвого входа к профессиональному серверу:

Уровень Устройство ОС Для чего Ориентир цены
Старт Redmi 4 (б/у) PostmarketOS Личный сайт, Django, бот ~2 000–4 000 ₽
Базовый Redmi Note 8 / аналог (б/у) PostmarketOS Магазин, API, несколько сервисов ~4 000–7 000 ₽
Средний Raspberry Pi 4 (4 GB) Raspbian/Debian Постоянный сервер, БД ~8 000–12 000 ₽
Продвинутый Raspberry Pi 5 (8 GB) Debian Несколько сервисов, ML-задачи ~14 000–18 000 ₽
Профи Мини-ПК / ноутбук б/у Ubuntu Server Полноценный сервер, Docker ~20 000–40 000 ₽

Каждое устройство поставляется: - С установленным device_client (бинарник для нужной платформы) - С созданным аккаунтом на dix.su и предназначенным slug/token - С инструкцией первого запуска (одна страница: включить → подключить интернет → готово) - Опционально: с предустановленным ПО (Django, WordPress, Gitea, Plausible Analytics и т.д. по заказу) - Plausible CE доступен только на устройствах с ≥2 ГБ RAM и SSE 4.2 / NEON (RPi 4 4GB+, RPi 5, мини-ПК)

Конкретная линейка моделей PostmarketOS — определить отдельно с учётом доступности и совместимости (pmOS device support таблица на wiki.postmarketos.org). Redmi 4 (codename: markw) подтверждён рабочим.

Цифровые подписки

Продаются через магазин, но активируются на dix.su:

Продукт Что включает Цена
Подписка VIP (30 дней) SSH-туннель + доп. возможности по тарифу dix.su
Подписка PRO (30 дней) RDP/VNC/БД + аналитика по тарифу dix.su
Подписка PERS (30 дней) Все возможности + приоритет по тарифу dix.su

Механизм: покупатель получает промо-ссылку или ваучер → вводит на dix.su → тариф активируется. (Реализация процесса активации — отдельная задача.)

Бесплатный контент (SEO-трафик)

Страницы-инструкции без оплаты, дают органический поиск: - «Как запустить сервер на Redmi 4 без публичного IP» - «PostmarketOS на Xiaomi: пошаговая установка» - «Raspberry Pi как домашний сервер через туннель» - «Запуск Django-магазина на смартфоне»

Каждая инструкция завершается CTA на dix.su и на покупку готового устройства.


Шаг 3. Процесс выполнения заказа (v1 — ручной)

На старте процесс полностью ручной, автоматизация — позже:

  1. Покупатель оформляет заказ в eskimos.
  2. Владелец (ты) получает уведомление.
  3. Прошивает устройство PostmarketOS / Raspbian / Ubuntu.
  4. Устанавливает device_client (бинарник с сайта dix.su или вручную).
  5. Создаёт аккаунт на dix.su, заводит туннель, записывает slug+token в конфиг.
  6. Настраивает systemd для автостарта device_client.
  7. Устанавливает заказанное ПО (Django, WordPress и т.д.) при заказе «под ключ».
  8. Отправляет устройство + карточку с данными аккаунта.

Автоматизация v2 (после первых продаж): - API dix.su для программного создания аккаунта и туннеля - Скрипт инициализации устройства (bash/ansible) — один запуск на свежей ОС - Автоматическое письмо покупателю со slug/token после отгрузки


Шаг 4. Eskimos — что проверить перед запуском

В новой сессии первым делом:

# Найти кодовую базу
find ~ -name "manage.py" 2>/dev/null

# Проверить зависимости
cat requirements.txt

# Текущие модели (что уже есть в каталоге)
python manage.py showmigrations
python manage.py shell -c "from django.apps import apps; [print(m) for m in apps.get_models()]"

# Статус БД
python manage.py dbshell  # посмотреть таблицы

# Запущенные сервисы на устройстве
systemctl list-units --type=service --state=running

Вопросы для уточнения в новой сессии: - Django версия и основные установленные пакеты - Используемая БД (SQLite vs PostgreSQL) - Есть ли уже продукты в каталоге или он пустой - Платёжный провайдер (если подключён) - Статические файлы: WhiteNoise, nginx локально или что-то ещё - Как сейчас принимаются заказы (форма, email, телеграм-бот?)


Шаг 5. SEO и маркетинг

Стратегия: shopdix.su → SEO-трафик → часть посетителей регистрируется на dix.su.

Приоритетные страницы для индексации: 1. Главная: «Готовые серверы на базе открытого ПО» 2. Каждое устройство: отдельная страница с характеристиками, фото, видео работы 3. Инструкции: long-tail SEO по запросам «сервер из старого телефона», «PostmarketOS сервер», «туннель без публичного IP» 4. О проекте: история — «этот магазин работает на смартфоне Redmi 4 без аренды сервера»

Ссылочный профиль: - shopdix.su → dix.su (естественные ссылки из контента) - dix.su → shopdix.su (раздел «Примеры использования» или витрина)

Соцсети (отдельная задача): - Видео-демонстрация: «Заказал телефон, включил — сайт в интернете» - Короткие видео про PostmarketOS + device_client


Связь с основной инфраструктурой dix.su

Точка интеграции Механизм Статус
Custom domain (shopdix.su → eskimos) CustomDomainController + certbot-agent Готово, нужна настройка
Создание аккаунта для покупателя Ручной процесс v1 → API v2 v1 ручной, v2 — будущее
Продажа подписок Ваучеры/промо-коды → dix.su Нужна реализация
Ссылки shop ↔ dix.su Редакционные ссылки Редакционно
Аналитика Раздел аналитики туннеля eskimos (PRO-тариф) Уже работает

Первые шаги в новой сессии (чеклист)

[ ] Найти кодовую базу eskimos на локальной машине или на устройстве
[ ] Убедиться что eskimos.dix.su работает прямо сейчас
[ ] Зарегистрировать shopdix.su
[ ] Настроить DNS: shopdix.su → dix.su (CNAME или A-запись)
[ ] Привязать custom domain в кабинете dix.su → туннель eskimos
[ ] Проверить автоматическое получение SSL для shopdix.su
[ ] Аудит eskimos: что есть, чего не хватает для запуска
[ ] Наполнить каталог первым устройством (Redmi 4 — уже проверен)
[ ] Добавить страницу «О проекте» с историей о магазине на смартфоне
[ ] Добавить ссылки на dix.su (регистрация, тарифы)
[ ] Добавить 2–3 инструкции (SEO-страницы)
[ ] Проверить форму заказа / уведомления

Замечания по странице товара (ревью 2026-07-11)

Проверена страница /shop/product/raspberry-pi-4 на shopdixsu.dix.su.

Критичные — блокируют продажи

1. Нет фотографий товаров Везде /static/images/none.png. До появления реальных фото страница не конвертирует. Минимум: официальное фото платы + фото "как это выглядит в реальности" (плата, кабели, коробка).

2. Не указана модель оплаты туннеля Цена 10 000 руб. включает туннель? На год? Навсегда? Ежемесячно? Нужно указать прямо рядом с ценой — без ответа покупатель не купит hardware+SaaS bundle.

3. Нет блока "Что в коробке" SD-карта? Блок питания? Корпус? Кабели? Для hardware-продукта это блокирующий вопрос.

Важные — снижают конверсию

4. Нет таблицы технических характеристик Нужно: CPU / RAM / хранилище (тип, объём) / ОС и версия / версия device_client / потребление Вт.

5. Нет раздела "Как это работает" на странице товара Покупатель должен понять ДО покупки весь путь: "Купил → получил → подключил питание → через 2 минуты сервер доступен по мой-slug.dix.su."

6. Смешанные категории в "Похожих товарах" Рядом с RPi4 показывается "Подсвечник Туристы у костра" (категория candlestick). Похожие товары должны фильтроваться по той же категории.

Структурные

7. Названия разделов каталога непрозрачны keymasters, candlestick, devices — непонятно с первого взгляда. Нужны человекочитаемые заголовки рядом с внутренними именами.

8. Страница /shop/delivery — место для снятия главного возражения "Что будет, если dix.su закроется?" — ответить честно: open-source клиент на GitHub, можно поднять свой сервер. Снимает главный страх и строит доверие.


Технические зависимости от dixsu-infra

  • Custom domain: CustomDomainController.java, certbot-agent.py — уже в проде
  • device_client бинарники: скачиваются со страницы /client-binaries на dix.su — уже работает
  • Туннель eskimos: device_client запущен на Redmi 4, eskimos.dix.su активен
  • Никакого кода в dixsu-infra для этого сателлита не нужно — только конфигурация

Заметки по устройствам (для маркетинга)

Почему смартфон — это правильно: - Встроенный аккумулятор = UPS (переживает кратковременные отключения питания) - Мобильный интернет как резервный канал (SIM-карта) - Низкое энергопотребление (3–5 Вт vs 15–30 Вт у Raspberry Pi) - Компактность — помещается в карман

Почему Raspberry Pi: - Стандартное железо, предсказуемое поведение - Огромное сообщество, много готовых образов - Лучше для стационарного использования - Подходит для Docker, несколько сервисов одновременно

Ключевой маркетинговый месседж:

«Твой сервер в интернете — без аренды, без публичного IP, без DevOps. Включил — работает. shopdix.su сам работает именно так.»