Framework Francfort, Allemagne

Déployez Astro sur Nodion

Nodion reconnaît Astro à la présence de astro dans package.json et lance votre build avec son buildpack Node.js. Par défaut, il sert dist/ comme site statique ; si votre configuration définit output: 'server', il démarre à la place le serveur Node.js avec node ./dist/server/entry.mjs. Dans les deux cas, votre site tourne à Francfort.

Déployer sur Nodion ›

à partir de 1 EUR / mois

Jusqu'à 15 € de crédit de bienvenue à l'inscription

Détecté par
astro dans package.json
Démarrage
fichiers statiques depuis dist/, ou node ./dist/server/entry.mjs
Node.js
22, 24 (par défaut), 26
Région
EU Central (Francfort)

Déployez Astro étape par étape

  1. Commitez le lockfile et lancez le build Commitez votre lockfile ; sans lui, le build échoue. Nodion exécute votre script build et sert dist/ avec un serveur web statique. Aucun serveur Node.js ne tourne : un site Astro statique n'a donc pas besoin d'adapter. package.json
    "scripts": {
      "dev": "astro dev",
      "build": "astro build"
    }
  2. Marquez les variables de build Un build statique lit toutes ses variables pendant astro build : cochez donc Build pour chacune dans l'onglet Environment. En mode serveur, il en va de même pour les variables PUBLIC_*, qui se retrouvent dans le code exécuté par le navigateur.
  3. Pour le SSR : ajoutez l'adapter Node Exécutez npx astro add node ou installez vous-même @astrojs/node, utilisez-le en mode standalone et définissez output: 'server' (ou 'hybrid' sous Astro 4). Nodion ne démarre un serveur que si astro.config.mjs, .js ou .ts contient ce paramètre ; il ne lit pas astro.config.mts. Gardez astro et @astrojs/node dans dependencies, car les dépendances de développement sont supprimées après le build. astro.config.mjs
    import { defineConfig } from "astro/config";
    import node from "@astrojs/node";
    
    export default defineConfig({
      output: "server",
      adapter: node({ mode: "standalone" }),
    });
  4. Faites écouter le serveur sur toutes les interfaces Le serveur standalone lit PORT, défini par Nodion, et HOST. Définissez HOST sur 0.0.0.0 dans l'onglet Environment pour que le serveur accepte les connexions venant de l'extérieur de l'instance, y compris le health check. Nodion démarre node ./dist/server/entry.mjs, sauf si package.json contient un script start ; si le vôtre exécute astro dev, supprimez-le.
  5. Créez l'app et poussez Dans le dashboard, créez une application depuis votre dépôt GitHub, GitLab, Bitbucket ou Gitea dans la région EU Central. Chaque push construit une nouvelle release, et le trafic bascule vers elle dès que / renvoie un code 2xx ou 3xx.

Bon à savoir

  • Les pages à la demande nécessitent output: 'server'Nodion décide en fonction du paramètre output, pas de l'adapter. Un projet qui garde la sortie statique par défaut et rend certaines pages à la demande avec export const prerender = false n'est pas exécuté comme serveur. Définissez plutôt output: 'server' et marquez les pages qui doivent rester statiques avec export const prerender = true.
  • Votre page 404Pour les chemins qui n'existent pas, le serveur statique répond avec votre index.html. Pour afficher à la place la page qu'Astro génère à partir de src/pages/404.astro, ajoutez un static.toml avec fallback = "404.html". Ne le faites qu'avec une sortie statique : avec un static.toml, Nodion sert toujours le projet comme fichiers statiques.

Ce que Nodion gère pour vous

  • Déploiements sans interruption Faites un push sur votre branche : Nodion construit une nouvelle release. Le trafic bascule lorsque les nouvelles instances réussissent leur health check ; si la release échoue, celle en cours reste active. Les apps avec un volume local redémarrent, car le disque appartient à une seule instance.
  • Bases de données à côté de l'app PostgreSQL, pgvector, MySQL, Valkey et ClickHouse managés, dans la même région. Les bases de données rattachées arrivent sous forme de DATABASE_URL, REDIS_URL ou CLICKHOUSE_URL.
  • Previews par pull request Activez les previews, et les pull requests de votre dépôt obtiennent leur propre app, avec sa propre URL et des bases de données neuves et vides, créées automatiquement ou à la main. Les pull requests issues de forks ou de bots sont ignorées.
  • Workers, cron jobs et mise à l'échelle Exécutez les workers comme processus supplémentaires de la même app, planifiez des tâches dans l'onglet Cron et mettez chaque processus à l'échelle jusqu'à 16 instances.
  • Étape de release Avec les buildpacks, une ligne release: du Procfile s'exécute à chaque nouveau build. Les apps Dockerfile, ainsi que les redéploiements ou les rollbacks vers une image antérieure, utilisent une commande de release définie sur l'app elle-même, qui prime aussi sur la ligne du Procfile. Sur les sites statiques, l'étape de release s'exécute dans une image qui ne contient que les fichiers générés par le build.
  • Logs et métriques Logs de build, de release et d'exécution, ainsi que les métriques CPU, mémoire, disque et réseau de chaque instance, dans le dashboard.
  • Domaines et HTTPS Un nom d'hôte par défaut avec HTTPS dès le premier déploiement, et des certificats automatiques pour vos propres domaines.

Pour aller plus loin

Astro sur Nodion : questions et réponses

Nodion exécute-t-il Astro comme site statique ou comme serveur ?

Par défaut comme site statique, servi depuis dist/. Avec output: 'server' dans astro.config.mjs, .js ou .ts, Nodion exécute le serveur Node.js que construit @astrojs/node.

Quel adapter faut-il pour le SSR d'Astro sur Nodion ?

@astrojs/node avec mode: 'standalone'. Il construit un serveur que Nodion démarre avec node ./dist/server/entry.mjs ; définissez HOST sur 0.0.0.0 pour qu'il accepte les connexions extérieures.

Pourquoi mon app Astro SSR est-elle servie comme fichiers statiques ?

Nodion cherche uniquement output: 'server' (ou 'hybrid') écrit en toutes lettres dans astro.config.mjs, astro.config.js ou astro.config.ts. Une configuration dans astro.config.mts, une valeur d'output lue depuis une variable ou un static.toml dans le projet le maintiennent en statique.

Où tourne mon app Astro ?

Dans la région EU Central, à Francfort (Allemagne). Le build, le registry, l'app et ses bases de données, volumes, buckets, logs et métriques restent dans cette région. L'API et le plan de contrôle de Nodion sont hébergés en Allemagne. Nodion GmbH a son siège à Stuttgart.

Puis-je utiliser Astro en conformité avec le RGPD ?

Nodion en pose les bases : Nodion GmbH a son siège à Stuttgart (Allemagne). Dans la région de Francfort, l'app, ses bases de données et ses volumes fonctionnent en Allemagne. Vous concluez le DPA (accord de traitement des données, art. 28 RGPD) par voie électronique dans le dashboard. La conformité de votre déploiement dépend aussi de la façon dont vous configurez et utilisez l'app.

Combien coûte l'hébergement Astro sur Nodion ?

Une instance d'app coûte à partir de 1 EUR par mois. La configuration présentée dans l'encadré des coûts revient à 2 EUR par mois : App 2 EUR. Les prix sont HT, avec une facturation à la seconde. Vous pouvez choisir des tailles plus grandes ou davantage d'instances dès que vous en avez besoin.

Puis-je utiliser mon propre domaine pour mon app Astro ?

Oui. Chaque app reçoit un nom d'hôte par défaut avec HTTPS. Ajoutez votre propre domaine dans l'onglet Domains de l'app. Le certificat TLS est émis et renouvelé automatiquement.

Offrez un cloud à votre agent.

Jusqu'à 15 € de crédit de bienvenue à l'inscription.

Continuer avec GitHub

ou par e-mail

Restez informé.

Les nouveautés du produit, sans spam. Désabonnez-vous à tout moment.