Docker Configuration for Development | Next.js 13.4, Postgresql, Strapi CMS

Posted by

Конфигурация Docker для разработки | Next.js 13.4, Postgresql, strapi cms

Конфигурация Docker для разработки с Next.js 13.4, Postgresql и Strapi CMS

Если вы разрабатываете веб-приложение с использованием Next.js 13.4, Postgresql и Strapi CMS, то Docker может стать отличным инструментом для упрощения вашего рабочего процесса. Docker позволяет упаковать приложение, его зависимости и среду выполнения в контейнер, что делает его переносимым и легко масштабируемым.

Для начала создайте файл docker-compose.yml, в котором опишите сервисы, необходимые для вашего приложения:


version: '3'
services:
  nextjs:
    build: .
    ports:
      - "3000:3000"
    volumes:
      - .:/app
    links:
      - postgres
      - strapi
  postgres:
    image: postgres
    environment:
      POSTGRES_USER: myuser
      POSTGRES_PASSWORD: mypassword
      POSTGRES_DB: mydb
  strapi:
    image: strapi/strapi
    ports:
      - "1337:1337"
    volumes:
      - ./strapi-app:/usr/src/api

В данном примере мы создаем три сервиса: nextjs, postgres и strapi. Сервис nextjs использует собственный Dockerfile для сборки образа с приложением Next.js. Мы пробрасываем порт 3000 из контейнера, чтобы можно было обращаться к нашему приложению из браузера. Также мы монтируем текущую директорию в контейнер, чтобы вносить изменения в код и видеть их сразу в приложении. Сервис postgres использует официальный образ Postgresql, где мы задаем параметры для создания базы данных. Сервис strapi использует образ Strapi CMS, пробрасывает порт 1337 для доступа к админке и монтирует директорию с приложением.

После создания файла docker-compose.yml запустите контейнеры с помощью команды:


docker-compose up

Теперь у вас есть готовая конфигурация Docker для разработки вашего веб-приложения с использованием Next.js 13.4, Postgresql и Strapi CMS. Данная конфигурация позволяет вам легко развернуть все необходимые сервисы с минимальной конфигурацией и начать разработку вашего приложения.

0 0 votes
Article Rating
19 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@user-mk1or2yc4f
6 months ago

Спасибо Евгений, очень классное видео. Залип на твой канал.
Подскажи пожалуйста, что может быть не так. Я склонировал твой проект с гита, попытался запустить и когда я запускаю контейнер у меня появляется ошибка что пакет @esbuild используется не для той операционки, т.к. я работаю на маке, а в докере линукс. Получается что в докер копируются node_modules а не скачиваются самостоятельно.

В файлах dockerignore прописаны node_modules и /node_modules/

@kirillpodolinniy309
6 months ago

Спасибо большое

@zoki5388
6 months ago

Evgeni, could you share your github repo for this?

@roadtobecomingjsmaster3744
6 months ago

Чтобы заработал hot reload под windows 11, нужно заменить запуск на этот "dev": "WATCHPACK_POLLING=true next dev", По крайней мере мне помогло

@AleksandrMaltsev-jm8ph
6 months ago

Люди которые используют nvim Спасибо вам!
Расскажи про эту обертку над fetch() 35:54

@elmirweb6583
6 months ago

Здравствуйте Евгений, а вы пробовали запустить это, когда у вас локально на машине не установлена node? Оно мне кажется, не работает

@tanercoder1915
6 months ago

Женя, было бы интересно узнать как настроить для разработки и потом прода. и как это все должно взаимодействовать….

@tanercoder1915
6 months ago

супер видео и очень актульно! есть видео как настроить WSL ?

@user-fu5dq7cq8o
6 months ago

Ребят, кто-нибудь в курсе почему при попытке добавить volumes в docker-compose для связки vite + react, выбрасывается ошибка что вместо esbuil/win32-x64 нужно установить esbuil/linux-x64, как это поправить? Поресерчил весь инет, не нашел(

@elixzez
6 months ago

Видос просто пушка , спасибо Евгений !
был бы просто рад увидеть продакшн версию
сам сейчас работаю с подобным проектом (nuxt, strapi, nginx, docker)

@gegcbr9319
6 months ago

Something went wrong installing the "sharp" module Cannot find module '../build/Release/sharp-linux-x64.node'

А такой ошибки не было у кого нибудь?

@qrthack3233
6 months ago

Сделай пожалуйста видео о том как запилил wsl и настроил vim

@narek1771
6 months ago

спасибо тебе огромное

@timwin47
6 months ago

ci это не просто быстро, главное безопасно, а то даже минорное обновление библиотеки может поломать приложение)

@dinliri472
6 months ago

Офигенно. Я сейчас тоже работаю с этим стэком. 👍 Было бы классно увидеть пример продакшн деплоя этой связки и реализацию поиска по всем данным из страпи разом)

@react205
6 months ago

О и страпи и докер, пушка

@goldovyidozhdik3430
6 months ago

привет, а чтобы сделать всё то же самое на винде, надо будет wsl установить?

@andor1904
6 months ago

Отличное видео, все понятно и лаконично!
Было бы славно иметь побольше контента по strapi, напрмер примеры посложнее

@WizyCom
6 months ago

Круто! Не забрасывай некст в таком подходе. В русском сегменте такого нет практически. Немного бы в сторону энтерпрайза :))