Как я сделал свой сервис для хостинга статичных сайтов — из необходимости во время безработицы

В июле 2025 года меня сократили. Я — фронтенд-разработчик, с 2020 года в профессии. Последние три года работал в стабильной продуктовой компании, не искал работу, не делал пет-проекты, не ходил на собеседования.

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

Как всё началось:

Пока искал работу, делал тестовые задания. И каждый раз работодатели просили: “Скинь ссылку, чтобы можно было открыть и посмотреть результат.” GitHub Pages — ну такое, вроде просто, но мне не понравилась настройка. Netlify и Vercel — отличные решения, правда пару раз отваливался CloudFlare). tiiny.host — самый простой, но жестко жрет память... самое минимальное потребление главной страницей = 460мб. в пике у меня было больше 1гб.

В России нет аналога лёгкого, простого хостинга для просто статики, тестовых заданий, пет-проектов или небольших сайтов. Или больших) И я решил сделать свой.

Так появился ТОКМО — сервис быстрого хостинга статичных сайтов.

Архитектура и стек:

Я начал с самого простого, без планов “делать стартап”. Хотел просто закрыть реальную боль.

Технологии:

  • Nuxt 4 — универсальный фреймворк, идеально мне подошел. Пишу я на Vue.js;
  • PostgreSQL — база;
  • S3-хранилище от Selectel — для загруженных файлов;
  • Docker Compose — на сервере удобно;
  • Nginx + wildcard SSL — для обслуживания поддоменов вроде myproject.tocmo.host.

Как это работает:

Пользователь загружает архив или файлы по отдельности (HTML, CSS, JS, изображения и т.п.) → файлы сохраняются в S3 → в БД создаётся запись с поддоменом → через middleware Nuxt запросы на *.tocmo.host подхватываются и отдаются напрямую из S3, с кэшем и корректными заголовками.

Если у проекта есть index.html — он открывается как полноценный сайт, если нет — автоматически строится список файлов.

Каждый проект получает поддомен вроде yourproject.tocmo.host и открывается за доли секунды по РФ (Selectel внутри страны быстрый).

Что готово сейчас:

  • регистрация и авторизация (есть OAuth) (это просто обязательно для такой штуки, чтобы не заспамили и не обанкротили меня))),
  • загрузка файлов на сервер (в S3),
  • управление проектом (удалить, редактировать, заменить файлы)
  • поддомены для каждого проекта,
  • кэширование файлов и мгновенная отдача контента.
  • под мобилку адаптировано, но лично я пока не вижу смысла пользоваться с мобилы.

В планах:

  • поддержка всех типов файлов, просто почему бы нет, презентации например, эксель.
  • интеграция с GitHub API для прямого деплоя;
  • доделать публичный роадмап, где пользователи могут предлагать и голосовать за идеи, что уже в принципе работает, но надо доделать;

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

Почему это важно:

ТОКМО — это не конкурент крупным западным сервисам. Это локальное, простое и быстрое решение, чтобы делиться результатом работы — без Git, CI/CD, терминалов и сложных конфигов. Всё, что нужно — открыть сайт, перетащить архив, и через секунду у тебя ссылка вида: https://work-example.tocmo.host

Если хочешь потестить — загрузи свой HTML и посмотри, как быстро это работает. А если есть идея для улучшения — напиши, я открыт к предложениям.

Как я сделал свой сервис для хостинга статичных сайтов — из необходимости во время безработицы
В июле 2025 года меня сократили.
Я — фронтенд-разработчик, с 2020 года в профессии | Сетка — социальная сеть от hh.ru