Compilare dai sorgenti
Prerequisiti: Go 1.27 o successivo, Node.js 22 o successivo con npm, make e git. In alternativa apri il
repository nel devcontainer incluso.
git clone https://github.com/coste360/porto.git && cd portomake setup # moduli Go, golangci-lint in ./bin, dipendenze web ed e2emake build # compila le due applicazioni web e bin/porto (statico, senza CGO)bin/porto versionmake build incorpora nel binario il pannello e la pagina pubblica: il file bin/porto è tutto ciò che serve per
eseguire Porto.
Avvio senza Docker
Sezione intitolata “Avvio senza Docker”export PORTO_BASE_URL=https://porto.mio-marina.itexport PORTO_SECRET_KEY="$(openssl rand -base64 32)" # conservala insieme ai backupexport PORTO_DATA_DIR=/var/lib/portobin/porto serveIl server ascolta su :8080 (PORTO_ADDR) e applica le migrazioni all’avvio (PORTO_AUTO_MIGRATE=true). Le altre
variabili sono in Configurazione. Per tenerlo in esecuzione usa il gestore di
servizi del sistema (per esempio un’unità systemd con Restart=on-failure e le variabili in un EnvironmentFile
leggibile solo dall’utente del servizio).
Immagine Docker
Sezione intitolata “Immagine Docker”make docker # immagine ghcr.io/coste360/porto:dev da deploy/DockerfileComandi del binario
Sezione intitolata “Comandi del binario”porto serve # avvia il serverporto migrate up|status [--check] # applica o mostra le migrazioni (--check: esce con 1 se ce ne sono in sospeso)porto admin create --email E --name N --org ORG [--marina NOME --slug SLUG --timezone TZ --locale it|en] # crea il titolare (password da PORTO_ADMIN_PASSWORD, --password-stdin o richiesta)porto seed demo [--password-stdin] # carica il porto dimostrativo, con un utente per ruoloporto backup --out FILE # backup portabile, uguale per SQLite e PostgreSQLporto restore --in FILE [--force] # ripristino da backup (--force svuota prima il database)porto version # versione del binarioCodici di uscita: 0 riuscito, 1 errore, 2 uso errato.
App desktop
Sezione intitolata “App desktop”Il launcher dell’app desktop si compila con make desktop-build (apre il pannello nel browser) o
make desktop-build DESKTOP_TAGS=webview (finestra propria, richiede CGO e il toolchain del sistema). I pacchetti non
firmati si producono con make desktop-package-macos, make desktop-package-windows e
make desktop-package-linux. Dettagli in
docs/desktop-build.md.
Porto è sviluppato da Coste360 SRL. Codice sorgente disponibile con licenza BSL 1.1; il marchio Porto è escluso dalla licenza.