Привет, друзья!
Предположим, что у нас есть приложение Next.js, данные которого хранятся в Postgres, и мы хотим запустить его в продакшн, но не хотим использовать готовую инфраструктуру Vercel. Что делать? Создать собственную инфраструктуру. К счастью, сделать это не так уж и сложно.
Основные элементы нашей системы:
- приложение, демонстрирующее несколько мощных возможностей Next.js 15
- база данных Postgres для хранения списка задач, создаваемых/удаляемых в приложении
- задача Cron для удаления из БД всех задач каждые 10 мин
- приложение, БД и задача Cron функционируют в контейнерах Docker
- контейнеры запускаются с помощью Docker Compose на облачном сервере Ubuntu
- сервер Nginx для перенаправления запросов HTTP (обратного проксирования)
- домен, привязанный к серверу
- Certbot для получения сертификата SSL из Let's Encrypt и его установки для домена
Интересно? Тогда прошу под кат.