Гайды по Strapi 5: деплой, Docker, ошибки
Рабочие конфиги и команды из наших проектов на Strapi 5 и Next.js. Не хотите разбираться сами, сделаем и возьмём на поддержку.
Здесь собраны гайды по Strapi 5 из нашей практики: как поднять Strapi с Postgres и Nginx в Docker Compose, задеплоить на VPS с HTTPS, забрать вложенные компоненты через populate, перенести контент между серверами и что делать, когда админка не открывается или Next.js не видит Strapi. Все команды и конфиги взяты из живых проектов, где мы ведём Strapi с фронтом на Next.js, а ошибки в разборах те, которые мы сами ловили в логах.
Что здесь есть
Гайды сгруппированы по тому, на каком этапе вы застряли.
Поднять и задеплоить
- Strapi 5 + Postgres + Nginx в Docker Compose. Полный compose-файл с healthcheck, перезапуском, томом для загрузок и секретами в .env. Отдельный домен для админки.
- Деплой Strapi на VPS. От чистого сервера до HTTPS: пользователь, Docker, Nginx, сертификат, первый запуск, бэкапы.
- Хранение медиа Strapi в S3. Yandex Object Storage и Selectel вместо диска сервера, настройки провайдера в Strapi 5.
Данные и API
- Populate в Strapi 5. Почему из dynamic zone приходят только title и description и как описать populate для вложенных компонентов через on.
- Перенос контента Strapi между серверами. Transfer вместо export и import, токены pull и push, ловушка с абсолютными ссылками на медиа.
- Мультиязычный сайт на Strapi 5. Локали в ядре, один documentId на все переводы, что меняется в запросах.
Когда что-то сломалось
- Next.js не видит Strapi в Docker. ECONNREFUSED, ENOTFOUND и "Could not initialize the Strapi Client" при сборке: откуда берутся и как разводятся серверный и публичный адреса.
- Картинки из Strapi не показываются в Next.js. Свой loader, remotePatterns, почему локально работает, а на проде нет.
- Админка Strapi не открывается. Восемь причин: права на папки, NODE_ENV, несобранная админка, Nginx, 403 на медиа из-за блокировки зарубежного трафика на сервере.
Как мы это проверяем
Каждый гайд перед публикацией прогоняется на чистом сервере: поднимаем VPS, выполняем команды из текста сверху вниз, смотрим, что получилось. Версии Strapi и Node.js указаны в начале каждой статьи, и когда выходит релиз, который что-то меняет, статью правим, а не пишем новую.
Типовая сборка, вокруг которой написано большинство гайдов:
| Компонент | Версия или настройка |
|---|---|
| Strapi | 5.x, Node.js 22 или 24 LTS |
| База | PostgreSQL 14 и новее |
| Фронт | Next.js в отдельном контейнере, серверные запросы к Strapi по имени контейнера |
| Прокси | Nginx с HTTPS, сайт и админка на разных доменах |
| Файлы | Том Docker или S3-совместимое хранилище в России |
Ошибки, которые мы сами ловили
Список из наших проектов, по каждой есть или будет разбор:
- фронт в Docker ходил в Strapi по внешнему домену и получал ECONNREFUSED, по имени контейнера из другой сети получал ENOTFOUND;
- сборка Next.js падала с "Could not initialize the Strapi Client", потому что Strapi ещё не поднялся;
- архив strapi export с несколькими гигабайтами медиа приходил битым, спас strapi transfer;
- после переноса в базе остались абсолютные ссылки на медиа старого сервера;
- правки в админке не появлялись на сайте из-за кэша фронта;
- загрузка медиа отвечала 403, потому что хостер блокировал зарубежный трафик на сервере;
- populate для dynamic zone отдавал только верхние поля, пока не описали вложенность через on.
Не хотите сами
Гайды бесплатные, но если нужно, чтобы кто-то поднял, обновил или починил Strapi за вас, это делает наша команда на strapi.expert: аудит, обновление Strapi 4 до 5, поддержка с мониторингом логов. Срок и цену называем через день после доступа к проекту, до этого ничего не обещаем.
Новые сайты на Strapi 5 с фронтом на Next.js делаем на strapi.pro. Если вы ещё выбираете между Strapi и другими системами, сравнения на живых проектах собраны на headless.expert.
Нашли в гайде ошибку или у вас случай, который здесь не разобран, напишите нам через форму ниже. Если проблема типовая, разберём и опубликуем, если нет, скажем, сколько займёт починка.
Частые вопросы
На какой версии Strapi написаны гайды?
На Strapi 5. Ветка 4 не получает патчей с апреля 2026, поэтому конфиги под неё мы не публикуем. Где команда или формат ответа отличаются от четвёрки, отдельно отмечаем в тексте.
Какой сервер нужен для Strapi 5 с Postgres?
Для сайта с админкой, базой и фронтом на Next.js в одном Docker Compose хватает VPS с 2 ядрами и 4 ГБ памяти. Сборка админки и Next.js на 2 ГБ упирается в память, поэтому либо собираем образы на другой машине, либо берём 4 ГБ. Node.js только LTS: 22, 24 или 26.
Почему Next.js в Docker не видит Strapi?
Чаще всего фронт в контейнере ходит в Strapi по внешнему https-домену и получает ECONNREFUSED, или по имени контейнера, которого нет в той же сети, и получает ENOTFOUND. Серверные запросы должны идти по имени контейнера внутри сети Docker, а адрес картинок для браузера остаётся публичным. Это две разные переменные окружения.
Как перенести контент Strapi на другой сервер?
Командой strapi transfer с токеном на принимающей стороне, а не через export и import: архивы экспорта на больших медиа у нас бились. После переноса проверьте ссылки на медиа в базе, там могут остаться абсолютные адреса старого сервера.
Можно ли попросить вас сделать это вместо меня?
Да. Деплой, обновление, перенос между серверами и поддержка сайтов на Strapi у нас на strapi.expert. Пишите туда с адресом админки или ссылкой на репозиторий, через день получите срок и цену.