Desde hace cierto tiempo soy usuario de Next.js para todo lo que puedo, he sustituido las SPA con páginas estáticas y algunas funciones en AWS Lambda para los servicios de backend, pero hay ciertos requerimientos que no se pueden satisfacer con esas herramientas, como por ejemplo no tener que crear todas las páginas estáticas cuando se hace un cambio y por ejemplo dar soporte para RSS.
Por tal motivo, siempre he buscado la forma de utilizar servicios para poder hospedar Next.js con soporte para SSR y/o ISR. Intente primero con AWS Amplify el cual tiene soporte a medias para Next.js y se encuentra lejos de darle soporte a la versión 12.
Navegando por foros y blogs de programación que frecuento, vi la siguiente imagen:
Y fue cuando decidí empezar a utilizar AWS App Runner.
Por el momento es necesario desactivar swcMinify
ya que en nodejs14
(la versión de nodejs más reciente que se puede utilizar en App Runner) marca error.
next.config.js
const nextConfig = {
swcMinify: false,
};
apprunner.yaml
version: 1.0
runtime: nodejs14
build:
env:
- name: NODE_ENV
value: "production"
- name: NEXT_TELEMETRY_DISABLED
value: 1
commands:
pre-build:
- node --version
- npm install npm -g
- npm --version
- npm ci
build:
- npm run build
run:
command: npm run start
network:
port: 3000