Zerops is a dev-first cloud platform that can be used to deploy both Static and SSR Astro site.
This guide will walk you through setting up and deploying both Static and SSR Astro sites on Zerops.
Running apps on Zerops requires two steps:
Projects and services can be added either through a Project add wizard or imported using a yaml structure:
# see https://docs.zerops.io/references/import for full reference
project:
name: recipe-astro
services:
- hostname: app
type: static
This will create a project called recipe-astro with a Zerops Static service called app.
To tell Zerops how to build and run your site, add a zerops.yml to your repository:
# see https://docs.zerops.io/zerops-yml/specification for full reference
zerops:
- setup: app
build:
base: nodejs@20
buildCommands:
- npm i
- npm build
deployFiles:
- dist/~
run:
base: static
# see https://docs.zerops.io/zerops-yml/specification for full reference
zerops:
- setup: app
build:
base: nodejs@20
buildCommands:
- pnpm i
- pnpm build
deployFiles:
- dist/~
run:
base: static
# see https://docs.zerops.io/zerops-yml/specification for full reference
zerops:
- setup: app
build:
base: nodejs@20
buildCommands:
- yarn
- yarn build
deployFiles:
- dist/~
run:
base: static
Now you can trigger the build & deploy pipeline using the Zerops CLI or by connecting the app service with your GitHub / GitLab repository from inside the service detail.
Update your start script to run the server output from the Node adapter.
"scripts": {
"start": "node ./dist/server/entry.mjs",
}
Projects and services can be added either through a Project add wizard or imported using a yaml structure:
# see https://docs.zerops.io/references/import for full reference
project:
name: recipe-astro
services:
- hostname: app
type: nodejs@20
This will create a project called recipe-astro with Zerops Node.js service called app.
To tell Zerops how to build and run your site using the official Astro Node.js adapter in standalone mode, add a zerops.yml file to your repository:
# see https://docs.zerops.io/zerops-yml/specification for full reference
zerops:
- setup: app
build:
base: nodejs@20
buildCommands:
- npm i
- npm run build
deployFiles:
- dist
- package.json
- node_modules
run:
base: nodejs@20
ports:
- port: 3000
httpSupport: true
envVariables:
PORT: 3000
HOST: 0.0.0.0
start: npm start
# see https://docs.zerops.io/zerops-yml/specification for full reference
zerops:
- setup: app
build:
base: nodejs@20
buildCommands:
- pnpm i
- pnpm run build
deployFiles:
- dist
- package.json
- node_modules
run:
base: nodejs@20
ports:
- port: 3000
httpSupport: true
envVariables:
PORT: 3000
HOST: 0.0.0.0
start: pnpm start
# see https://docs.zerops.io/zerops-yml/specification for full reference
zerops:
- setup: app
build:
base: nodejs@20
buildCommands:
- yarn
- yarn build
deployFiles:
- dist
- package.json
- node_modules
run:
base: nodejs@20
ports:
- port: 3000
httpSupport: true
envVariables:
PORT: 3000
HOST: 0.0.0.0
start: yarn start
Now you can trigger the build & deploy pipeline using the Zerops CLI or by connecting the app service with your GitHub / GitLab repository from inside the service detail.
Install the Zerops CLI.
# To download the zcli binary directly, # use https://github.com/zeropsio/zcli/releases npm i -g @zerops/zcli
Open Settings > Access Token Management in the Zerops app and generate a new access token.
Log in using your access token with the following command:
zcli login <token>
Navigate to the root of your app (where zerops.yml is located) and run the following command to trigger the deploy:
zcli push
© 2021 Fred K. Schott
Licensed under the MIT License.
https://docs.astro.build/en/guides/deploy/zerops/