Пример Astro-приложения для frontend-деплоя можно найти на Гитхабе.
Astro можно развернуть как frontend-приложение или включить серверный рендеринг (SSR).
Сборка приложения
При подготовке среды сборки по умолчанию выполняется команда:
DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y --no-install-recommends \
curl \
{% if system_dependencies %}{{ system_dependencies | join(' ') }}{% endif %} \
&& rm -rf /var/lib/apt/lists/*
Где system_dependencies — системные зависимости, указанные в панели управления. App Platform подставляет их в команду при сборке.
Далее устанавливаются зависимости проекта. В зависимости от файлов проекта используется один из пакетных менеджеров — yarn, pnpm или npm. Выполняется соответствующая команда:
yarn install pnpm install npm install
Для сборки приложения по умолчанию используется команда:
npm run build
Убедитесь, что в файле package.json присутствует скрипт build.
Директория сборки по умолчанию — /dist. После сборки App Platform публикует файлы из этого каталога.
Для frontend-деплоя настройте статическую сборку сайта.
Поддержка SSR
Пример приложения с серверным рендерингом можно найти на Гитхабе.
При создании приложения включите поддержку SSR. В этом случае оно перейдет в режим бэкенд-приложения:
-
Потребуется выбрать конфигурацию сервера.
-
Интерфейс панели управления после деплоя будет идентичен бэкенд-приложению.
-
Можно будет задать команду запуска.
Команда запуска по умолчанию:
node ./dist/server/entry.mjs
Для SSR настройте адаптер @astrojs/node в режиме standalone и задайте output: 'server' в файле astro.config.mjs.
Убедитесь, что сервер слушает 0.0.0.0, а не 127.0.0.1, иначе внешние подключения работать не будут.
Отключить поддержку SSR после деплоя нельзя. Чтобы изменить режим, создайте новое приложение с нужной настройкой.