Langage Francfort, Allemagne
Nodion reconnaît Go à son go.mod. Le buildpack Go télécharge vos modules, compile des binaires statiques avec la release de Go la plus récente et lance votre serveur, tandis que la chaîne d'outils reste hors de l'image d'exécution. L'app tourne à Francfort, à côté d'une base de données PostgreSQL managée si vous en avez besoin.
go.modcmd/<name>PORT pour le processus web ; écoutez sur ce port, sur toutes les interfaces. r.Run() de Gin sans adresse utilise déjà PORT. Avec Echo, Fiber ou Chi, passez vous-même ":" + port. main.go package main
import (
"log"
"net/http"
"os"
)
func main() {
port := os.Getenv("PORT")
if port == "" {
port = "8080"
}
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("ok"))
})
log.Fatal(http.ListenAndServe(":"+port, nil))
} cmd/, Nodion compile la racine du module en un seul binaire. Sinon, chaque cmd/<name> contenant des fichiers Go devient son propre binaire, et le package racine n'est alors pas compilé. Le processus web lance le binaire unique, sinon celui nommé server, api, web ou app, sinon le premier ; chaque autre binaire devient un type de processus du même nom. cmd/server/main.go
cmd/worker/main.go
cmd/migrate/main.go CGO_ENABLED=0 et -ldflags "-s -w". Si une dépendance a besoin de cgo, comme mattn/go-sqlite3, définissez CGO_ENABLED=1 dans l'onglet Environment en cochant Build. Une variable Build GOFLAGS_LDFLAGS remplace les ldflags : incluez-y -s -w si vous voulez les conserver. DATABASE_URL arrive au prochain déploiement, et les pilotes PostgreSQL comme pgx l'acceptent telle quelle. Au runtime, vos binaires sont dans le PATH : un binaire cmd/migrate peut donc tourner comme étape de release, une fois par build, avant le démarrage de la nouvelle version. Procfile release: migrate cmd/worker devient le type de processus worker. Ajoutez un processus nommé worker sans port dans l'onglet Processes et laissez sa commande vide : il lance ce binaire. Nommez le binaire web server, api, web ou app pour que le processus web n'en choisisse pas un autre.go de go.mod et un fichier .go-version ne sélectionnent pas une chaîne d'outils plus ancienne : chaque build utilise la version de Go la plus récente préparée par Nodion. Faites aussi tourner votre CI avec le Go le plus récent.DATABASE_URL, REDIS_URL ou CLICKHOUSE_URL. 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. Oui. Nodion compile et lance votre binaire, quel que soit le framework utilisé ; le serveur doit seulement écouter sur PORT. Si Gin figure dans go.sum, Nodion définit aussi GIN_MODE=release.
Toujours la version de Go la plus récente préparée par Nodion, actuellement la 1.27.x. Les versions plus anciennes de Go ne sont pas utilisées pour les builds, même si go.mod en indique une.
Non. Le buildpack Go compile vos binaires et les place dans l'image d'exécution sans la chaîne d'outils Go. Si vous avez déjà un Dockerfile, Nodion peut l'utiliser pour le build à la place.
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.
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.
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.50 EUR par mois : App 1 EUR, PostgreSQL 1.50 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.
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.
Jusqu'à 15 € de crédit de bienvenue à l'inscription.
ou par e-mail
Les nouveautés du produit, sans spam. Désabonnez-vous à tout moment.
Inscription confirmée.