Linguaggio Francoforte, Germania
Nodion esegue la build di ogni repository con un requirements.txt, un Pipfile o un pyproject.toml usando il suo buildpack Python. Installa le tue dipendenze, avvia Django, FastAPI e Flask con un server di produzione ed esegue tutto il resto da app.py, main.py o dal tuo Procfile. L'app gira a Francoforte.
requirements.txt, Pipfile o pyproject.tomlapp.py / main.py o Procfilepoetry.lock (Poetry), Pipfile.lock (Pipenv), requirements.txt (pip), poi un pyproject.toml da solo, installato con pip install . (o con Poetry se ha una sezione [tool.poetry]). Un uv.lock viene ignorato e un Pipfile senza il suo lock file non installa nulla. .python-version, poi runtime.txt, poi requires-python in pyproject.toml; se non trova nessuna di queste indicazioni, usa la 3.13. Un intervallo come requires-python = ">=3.10" seleziona la release più recente pubblicata, al momento la 3.15, quindi fissa la versione con cui fai i test. .python-version 3.13 manage.py) parte con Gunicorn, FastAPI o Starlette con Uvicorn, Flask con Gunicorn. Nodion non installa il server, quindi aggiungilo alle dipendenze. Senza un framework, Nodion esegue python app.py o python main.py, e quello script deve restare in ascolto su 0.0.0.0 e sulla porta PORT impostata da Nodion. web: sostituisce il comando predefinito. Senza Django, FastAPI, Flask, app.py o main.py, il Procfile deve definire un processo, web: o worker:; altrimenti la build si ferma con un errore che indica cosa manca. Una riga release: viene eseguita una volta per ogni build, prima che parta la nuova versione: è il posto giusto per le migrazioni. Procfile web: gunicorn myapp.wsgi --bind 0.0.0.0:$PORT
release: alembic upgrade head DATABASE_URL, esistono solo a runtime. Da quel momento ogni push crea una nuova release. worker: da sola non avvia nulla: nella scheda Processes aggiungi un processo con lo stesso nome e senza porta. Tieni accanto una riga web: esplicita, perché senza di essa la prima voce del Procfile diversa da release: diventa il comando predefinito. Un'app fatta solo di worker, come un bot, imposta invece web a 0 istanze.requirements.txt, Pipfile, pyproject.toml, poetry.lock e Pipfile.lock. I lock file elencano anche le dipendenze indirette, quindi una libreria che si porta dietro FastAPI, come Gradio, può attivare il comando predefinito di FastAPI. Una riga web: risolve la questione.requirements.txt, per esempio con uv export --no-emit-project -o requirements.txt, e fanne il commit; altrimenti Nodion installa da pyproject.toml senza lock.DATABASE_URL, REDIS_URL o CLICKHOUSE_URL. release: del Procfile viene eseguita a ogni nuova build. Le app con Dockerfile, così come i redeploy e i rollback a un'immagine precedente, usano un comando di release impostato sull'app stessa, che ha anche la precedenza sulla riga del Procfile. Nei siti statici, la fase di release gira in un'immagine che contiene solo i file generati dalla build. Dalla 3.10 alla 3.15, con la 3.13 come predefinita. Fissane una in .python-version e ottieni la patch più recente di quella versione. Le versioni giunte a fine vita (end of life) fanno fallire la build con un messaggio chiaro.
In quel caso, senza Django, FastAPI o Flask, è il tuo Procfile a dire cosa viene eseguito: una riga web: per un server o una riga worker: per un processo in background. Se manca, la build fallisce con un errore che ti dice cosa aggiungere.
Sì. Inseriscilo in un Procfile come worker: python job.py, aggiungi nella scheda Processes un processo chiamato worker senza porta e imposta web a 0 istanze. Per gli script da eseguire a orari pianificati, usa invece la scheda Cron.
Nella regione EU Central a Francoforte, in Germania. La build, il registry, l'app e i suoi database, volumi, bucket, log e metriche restano in quella regione. L'API e il control plane di Nodion sono ospitati in Germania. Nodion GmbH ha sede a Stoccarda.
Nodion offre le basi per farlo: Nodion GmbH ha sede a Stoccarda, in Germania; nella regione di Francoforte l'app, i suoi database e i volumi girano in Germania; puoi sottoscrivere il DPA (accordo sul trattamento dei dati, art. 28 GDPR) in formato elettronico nella dashboard. La conformità del tuo utilizzo dipende anche da come configuri e usi l'app.
Un'istanza dell'app costa da 1 EUR al mese. La configurazione mostrata nel riquadro costa 2 EUR al mese: App 2 EUR. I prezzi sono IVA esclusa e la fatturazione è al secondo. Puoi scegliere dimensioni più grandi o più istanze quando ti servono.
Sì. Ogni app riceve un hostname predefinito con HTTPS. Aggiungi il tuo dominio nella scheda Domains dell'app; il certificato TLS viene emesso e rinnovato automaticamente.
Fino a 15 € di credito quando ti registri.
oppure con l'email
Novità sul prodotto, niente spam. Puoi annullare l'iscrizione quando vuoi.
Iscrizione completata.