Vai al contenuto principale
ipmideck offre un unico comando da console, ipmideck, che avvia il server, reimposta la password admin o genera un certificato self-signed. ipmilink è un alias retrocompatibile per lo stesso comando, ogni sottocomando e flag qui sotto funziona in modo identico sotto entrambi i nomi.
La CLI si applica solo quando esegui ipmideck direttamente (install pip o un checkout dei sorgenti). L’immagine Docker avvia uvicorn backend.main:app direttamente e non invoca mai la CLI, quindi nessuno di questi flag, della precedenza di bind o del guard a istanza singola si applica al container. Il bind del container è impostato dal suo stesso comando di avvio. Vedi Installazione.

Avvio del server

start è il comando di serve principale. Un’invocazione nuda senza sottocomando serve in modo identico, quindi questi sono equivalenti:
ipmideck start
# or, with no subcommand:
ipmideck
Senza flag, ipmideck si lega a 0.0.0.0:3000 per impostazione predefinita, raggiungibile su ogni interfaccia, sulla porta 3000. Apri http://<your-ip>:3000 una volta che è attivo. Sovrascrivi il bind con --host e --port:
ipmideck start --host 127.0.0.1 --port 8080

Sottocomandi

SottocomandoCosa fa
startAvvia il server (predefinito). Anche un ipmideck nudo senza sottocomando serve.
serveAlias deprecato di start. Si comporta in modo identico; mantenuto così gli script esistenti continuano a funzionare.
reset-passwordCrea o aggiorna interattivamente il login admin, poi esce senza servire.
serve è un alias deprecato di start, preferisci start (o un ipmideck nudo) nei nuovi script.

Flag

Questi flag top-level si applicano al percorso di serve. --demo e --config sono letti prima di qualsiasi branch di sottocomando, quindi influenzano anche reset-password e --gen-cert.
FlagEffetto
--host <host>Host di bind. Il default viene da config.yaml o 0.0.0.0. Un flag esplicito vince sulla config.
--port <port>Porta di bind. Il default viene da config.yaml o 3000. Un flag esplicito vince sulla config.
--demoGira in modalità demo con dati simulati.
--config <path>Percorso a un config.yaml da caricare.
--reloadAbilita l’auto-reload per lo sviluppo.
--gen-certGenera un cert + chiave self-signed in data/certs/, scrive i percorsi in config.yaml, ed esce.

Precedenza di bind

L’host e la porta a cui ipmideck si lega davvero sono risolti in quest’ordine, priorità più alta prima:
  1. Un flag esplicito --host / --port sulla riga di comando.
  2. La configurazione, che a sua volta risolve la variabile d’ambiente (IPMIDECK_SERVER_HOST / IPMIDECK_SERVER_PORT) sopra config.yaml sopra il default integrato.
  3. Il fallback hardcoded 0.0.0.0:3000, usato se il caricamento iniziale della config fallisce.
In altre parole: un valore che persisti in config.yaml è sovrascritto da una variabile d’ambiente IPMIDECK_ o da un flag --host / --port al boot successivo, env e CLI vincono sempre. Se config.yaml è malformato, ipmideck stampa un avviso su stderr e ripiega su 0.0.0.0:3000.
Le variabili d’ambiente IPMIDECK_SERVER_HOST e IPMIDECK_SERVER_PORT usano il prefisso IPMIDECK_. Vedi Configurazione per l’elenco completo degli override.

HTTPS con —gen-cert

--gen-cert genera un certificato e una chiave self-signed, poi esce. Non avvia il server e non attiva HTTPS da solo:
ipmideck --gen-cert
Scrive una coppia cert + chiave in data/certs/, registra i loro percorsi nel blocco server di config.yaml, e stampa tre righe:
Generated: <path-to-cert>
Generated: <path-to-key>
Wrote cert_file/key_file to config.yaml. Set server.https=true and restart to serve over HTTPS.
Per servire davvero su HTTPS, imposta server.https: true in config.yaml e riavvia ipmideck. HTTPS non viene mai abilitato automaticamente.

Modalità demo

--demo esegue ipmideck su hardware simulato invece che su BMC reali, utile per valutare la dashboard senza alcun server collegato:
ipmideck start --demo
La modalità demo è impostata molto presto, prima di qualsiasi branch di sottocomando, così tutta l’app (config e il server in esecuzione) la vede.

Reimpostare la password admin

reset-password crea o aggiorna interattivamente il login admin, poi esce senza mai avviare il server:
ipmideck reset-password
Chiede Username: e poi New password: (input nascosto). Se un account esiste già, aggiorna la password di quell’utente e stampa Password updated for <username>; altrimenti crea l’utente e stampa User <username> created.

Auto-reload per lo sviluppo

--reload è un percorso veloce solo per lo sviluppo: passa il controllo al supervisore di auto-reload di uvicorn e ritorna. Salta intenzionalmente il guard a istanza singola della porta descritto qui sotto, perché il reloader gira il suo stesso processo supervisore.
ipmideck start --reload
--reload è solo per lo sviluppo. Poiché aggira il guard a istanza singola, eseguilo su un host dove nessun’altra istanza di ipmideck è già legata alla stessa porta.

Codici di uscita

Codice di uscitaQuando
0Arresto pulito su Ctrl+C / SIGTERM, il server si ferma in modo pulito, nessun traceback.
1La porta è già in uso sull’host di destinazione (un’altra istanza potrebbe essere in esecuzione), oppure il bind fallisce perché l’indirizzo non è disponibile o non è permesso (per esempio una porta privilegiata o un’interfaccia che non esiste).
Sul percorso di serve (non --reload), ipmideck esegue un guard a istanza singola prima di legarsi. Se la porta è già in uso stampa un errore su stderr ed esce con 1. Se il bind fallisce perché l’indirizzo non è disponibile o non è permesso, stampa un errore distinto ed esce anch’esso con 1.

Prossimi passi