Jira nel piano Standard costa oggi circa 7,91 dollari per utente al mese, circa 7 €. Per un team di cinque sviluppatori sono circa 34 € al mese, per dieci già 68 €, e il conto cresce con ogni nuovo Account: stagista, tester, cliente che deve vedere l'avanzamento dello sprint. Linear calcola in modo simile. In questa guida ti mostriamo come installare Plane, un'alternativa open source a Jira e Linear, sul tuo Box su Saplo. Senza costi per postazione, con i dati su un server in Germania e con un pagamento una volta all'anno.
Trovi la ricetta pronta sulla pagina di Plane nel catalogo delle applicazioni Saplo. Di seguito tutto quello che c'è da sapere prima e dopo il clic.
Cos'è Plane
Plane è uno strumento per la gestione del lavoro dei team di sviluppo. Offre tutto ciò per cui i team pagano in Jira:
- attività (work items) con priorità, assegnazione, etichette, stima e scadenza,
- cicli, ovvero sprint con data di inizio e fine e grafico del burn-down,
- moduli ed epiche, con cui raggruppi blocchi di lavoro più grandi,
- backlog con attività che non sono ancora entrate in nessun ciclo,
- viste a lista, lavagna Kanban, calendario, tabella e linea temporale, salvate con filtri,
- pagine, ovvero wiki semplici per il progetto per appunti, specifiche e decisioni,
- collaborazione in tempo reale, perché le modifiche degli altri utenti sono visibili immediatamente, senza aggiornamenti.
Il progetto è sviluppato apertamente su GitHub e l'edizione Community è rilasciata sotto licenza AGPL-3.0 e non ha limiti di utenti. Su Saplo installiamo l'immagine ufficiale makeplane/plane-aio-community, ovvero la versione All-In-One: interfaccia, API, worker per le attività in background e server di collaborazione in tempo reale si trovano in un unico container.
Una distinzione importante: nel catalogo Saplo c'è anche Vikunja. Vikunja è un elenco generale di attività, kanban e gantt per qualsiasi team. Plane è stato creato per il lavoro di un team di sviluppo agile: sprint, backlog, epiche e stime. Se gestisci una fioreria e vuoi un elenco di attività per la settimana, scegli Vikunja. Se conduci sprint, scegli Plane.
Plane o Jira: un confronto equo
| Jira Cloud (Standard) | Plane Community su Saplo | |
|---|---|---|
| Prezzo | circa 7 € per utente al mese | prezzo fisso del Box, annuale |
| Limite utenti | paghi per ogni Account | nessun limite |
| Dove sono i dati | cloud Atlassian | il tuo Box, server in Germania |
| Sprint, backlog, epic | sì | sì |
| Viste: kanban, elenco, calendario, timeline | sì | sì |
| Wiki per progetto | separato in Confluence, a pagamento | pagine incorporate |
| Marketplace di plugin | enorme | modesto |
| Workflow e automazioni avanzate | molto estese | più semplici |
| Aggiornamenti e backup | Atlassian si occupa | tu, con l'aiuto dei backup del Box |
| Supporto | dal produttore | comunità e Documentazione |
Quando rimanere con Jira:
- se il team ha fino a 10 persone e il piano gratuito Jira Free è sufficiente (con le sue limitazioni, tra cui l'assenza di autorizzazioni estese e un piccolo limite di spazio per i file),
- se l'azienda vive nell'ecosistema Atlassian: Confluence, Bitbucket, Jira Service Management e una dozzina di plugin a pagamento,
- se hai bisogno di schemi di workflow molto complessi, audit di conformità e un accordo SLA con il produttore,
- se nessuno nel team vuole essere responsabile della propria istanza, anche se semplice come su Saplo.
Quando Plane ha più senso:
- il team cresce e ogni mese paghi per nuovi Account,
- vuoi che clienti o subappaltatori abbiano accesso al progetto, senza dover acquistare licenze per loro,
- i dati del progetto, le specifiche e le note con i clienti devono rimanere sul tuo server nell'UE,
- Jira è troppo pesante per il team e volete uno strumento rapido e chiaro nello stile di Linear.
L'edizione Community non ha tutte le funzionalità dei piani a pagamento di Plane (Pro, Business). Prima di spostare un team numeroso, vale la pena confrontare l'elenco delle funzionalità sulla pagina dei prezzi di Plane e verificare se ciò che usate quotidianamente in Jira è disponibile nella Community.
Calcolo dei costi
Per Plane è necessario un Box L (ne parleremo più avanti), che costa 139 € all'anno, ovvero circa 11 € al mese. Il prezzo del primo periodo è lo stesso del prezzo di rinnovo. Confronto con Jira Standard al prezzo di circa 7 € a persona:
| Team | Jira Standard all'anno | Plane su Box L all'anno | Differenza |
|---|---|---|---|
| 5 persone | circa 409 € | 139 € | circa 273 € |
| 10 persone | circa 818 € | 139 € | circa 682 € |
| 15 persone | circa 1227 € | 139 € | circa 1091 € |
| 25 persone | circa 2045 € | 139 € | circa 1909 € |
Due osservazioni oneste su questa tabella. Innanzitutto, per un massimo di 10 persone esiste Jira Free, quindi un piccolo team che non è infastidito dalle limitazioni gratuite non risparmierà un solo Euro con Plane. In secondo luogo, Box L non include solo Plane. Hai 6 GB di RAM e 60 GB di spazio su disco, quindi accanto a Plane di solito c'è spazio per applicazioni più leggere, come Uptime Kuma per il monitoraggio o un sito web aziendale. Il numero di applicazioni su Box non è limitato, solo la memoria e lo spazio su disco lo sono.
Requisiti e scelta del Box
Plane è una delle ricette più “pesanti” nel Catalogo delle applicazioni. L'installazione prevede sei container:
- postgres (PostgreSQL 16) per i dati dell'applicazione,
- redis per la cache e le sessioni,
- rabbitmq come coda per le attività in background,
- storage, un archivio di file compatibile con S3 (SeaweedFS) per allegati e avatar,
- storage-init, un container monouso che crea un bucket per i file e poi termina il suo lavoro,
- plane, l'applicazione stessa.
La ricetta richiede un minimo di 3 GB di RAM e 10 GB di spazio su disco. Questo esclude i piani Box S (1 GB) e Box M (2 GB). La scelta giusta è:
- Box L (6 GB di RAM, 60 GB di spazio su disco, 139 € all'anno, backup di 7 giorni) per un team di massimo una dozzina di persone, con una riserva di memoria per una o due applicazioni leggere aggiuntive,
- Box XL (12 GB di RAM, 150 GB di spazio su disco, 299 € all'anno, backup di 14 giorni), se il team è più grande, se sono presenti molti allegati o se sullo stesso Box devono funzionare altre applicazioni più pesanti, come n8n o un CRM.
Entrambi i piani hanno accesso SSH con pieno sudo, il che sarà utile per la configurazione della posta.
Installazione passo dopo passo
- Accedi al tuo pannello Saplo e vai al Catalogo delle applicazioni. Troverai Plane negli strumenti. Puoi anche iniziare dalla pagina di Plane e fare clic sul pulsante di deploy.
- Seleziona un Box. Se non ha abbastanza memoria libera, il pannello ti avviserà prima dell'installazione, non dopo un tentativo fallito.
- Specifica l'indirizzo. Il più semplice è un sottodominio come
zadania.saploapp.pl. Puoi impostare un tuo Dominio, ad esempioprojects.tuaazienda.it, durante l'installazione, e il certificato SSL verrà emesso automaticamente. - Conferma. Il motore installa Docker, genera password casuali per il database, Redis, RabbitMQ e l'archivio file, nonché le chiavi di sessione. Le salva permanentemente nella configurazione di questa installazione e avvia i container nell'ordine corretto: prima il database, la cache, la coda e l'archivio, poi la creazione del bucket e infine l'applicazione.
- Attendi. Al primo avvio, Plane esegue la migrazione dello schema del database, che richiede più di qualche secondo. L'installazione è completa solo quando l'applicazione risponde effettivamente al tuo indirizzo, quindi lo Stato "in esecuzione" significa che Plane è pronto.
- Apri l'indirizzo nel browser.
All'interno del container, Plane esegue il proprio server proxy sulla porta 80 senza certificato. La crittografia HTTPS termina sul server del Box, come con qualsiasi altra applicazione in Saplo, quindi non è necessario configurare nulla qui.
Primo avvio: amministratore e workspace
Plane non genera una password di amministratore predefinita. Crei l'account tu stesso al primo accesso:
- Alla prima visita, Plane ti guida nella configurazione dell'istanza. La persona che completa questa procedura diventa l'amministratore dell'istanza, quindi fallo subito dopo l'installazione, prima che l'indirizzo sia accessibile a chiunque altro.
- Crea un workspace, ovvero lo spazio dell'azienda. Il nome e l'indirizzo del workspace appariranno nei link alle attività.
- Crea il primo progetto con un breve identificatore, ad esempio
WEB. Le attività riceveranno i numeriWEB-1,WEB-2e così via, come in Jira. - Nelle impostazioni del progetto, personalizza gli stati (ad es. Backlog, Da fare, In corso, Code review, Fatto) e abilita le funzioni che utilizzate: cicli, moduli, pagine.
La descrizione dell'installazione, inclusi i nomi di tutti i container e i comandi per visualizzare i log, viene salvata nel file PLANE-SETUP.txt nella directory dell'applicazione su Box. Il Pannello Saplo ne mostrerà il contenuto quando ne avrai bisogno.
Lavoro di squadra: inviti ed e-mail
Puoi invitare altri membri del team dalle impostazioni dello spazio di lavoro. C'è una cosa che devi sapere: la ricetta non configura automaticamente il server di posta. L'invito verrà creato, ma l'e-mail non verrà inviata, così come le notifiche di assegnazione dei compiti.
Ci sono due modi:
- Più semplice: i membri del team creano account con il tuo indirizzo, quindi accettano l'invito dopo aver effettuato l'accesso oppure li aggiungi manualmente allo spazio di lavoro.
- Completo: colleghi SMTP, ad esempio un account di posta aziendale. Questo viene fatto tramite SSH, compilando le variabili
EMAIL_*nel filedocker-compose.ymlnella directory dell'applicazione (host, porta, utente, password, indirizzo del mittente) e riavviando il contenitore con il comandodocker compose up -d. Da quel momento in poi, inviti, notifiche e reimpostazione della password funzioneranno normalmente.
Puoi creare una casella di posta per l'invio nella posta Saplo, che è inclusa nel prezzo di ogni Box.
Migrazione da Jira. È più sensato iniziare con un progetto e uno sprint, piuttosto che migrare l'intera cronologia. I vecchi compiti chiusi possono rimanere in Jira solo in modalità di sola lettura o in un'esportazione. Vale la pena verificare nella Documentazione di Plane prima della migrazione se è disponibile un importatore automatico da Jira in una data edizione. Se necessario, rimane l'API di Plane, tramite la quale è possibile caricare i compiti con uno script.
Sicurezza e impostazioni che vale la pena modificare
Alcune cose per la prima settimana:
- Configura l'istanza immediatamente. La prima persona che esegue la configurazione diventa amministratore, quindi non lasciare una nuova installazione incustodita.
- Limita la registrazione. Quando tutti nel team hanno un account, disattiva la possibilità per chiunque conosca l'indirizzo di creare liberamente account nel pannello di amministrazione dell'istanza.
- Usa i ruoli. Un cliente che deve solo visualizzare i progressi non ha bisogno del ruolo di membro con diritto di modifica. Plane ha i ruoli di amministratore, membro e ospite.
- Backup. Box L esegue backup di 7 giorni, e Box XL di 14 giorni. Inoltre, ogni Box ha un backup fuori server. Prima di modifiche importanti, ad esempio un aggiornamento di versione, puoi scaricare il database manualmente tramite
docker execsul container PostgreSQL. - I segreti rimangono al loro posto. Le password e le chiavi sono salvate in
docker-compose.ymldi questa installazione. Non modificarle manualmente senza necessità, perché la modifica della chiave di sessione disconnetterà tutti, e la modifica della password del database senza modificarla nel database stesso fermerà l'applicazione.
Problemi più comuni
Il sito non si carica per molto tempo subito dopo l'installazione. All'interno del container, diversi processi si avviano contemporaneamente (migrazioni, API, worker, server di collaborazione). Su un Box nuovo, il primo accesso potrebbe richiedere un po' più di tempo. Anteprima: docker logs -f con il nome del container dal file PLANE-SETUP.txt.
Gli inviti non arrivano. Non è un errore, ma la mancanza di SMTP. La descrizione di come collegare la posta elettronica è più in alto.
Impossibile caricare un allegato. Gli allegati vengono inviati allo storage di SeaweedFS. Se il container storage-init non ha creato il bucket, il caricamento termina con un errore. L'installazione segue questo ordine, ma se riavvii i container manualmente, controlla i log dello storage e del container storage-init.
Il Box inizia a rallentare. Sei container richiedono memoria. Se altre applicazioni pesanti sono in esecuzione insieme a Plane, controlla il consumo di RAM nel Pannello Saplo. La soluzione è un'aggiunta di memoria o il passaggio da Box L a Box XL, senza trasferire dati.
Dopo il riavvio, tutti sono disconnessi. Questo non dovrebbe accadere, perché le chiavi di sessione sono salvate in modo permanente. Se succede, controlla se qualcuno non ha cancellato le variabili SECRET_KEY o LIVE_SERVER_SECRET_KEY nella configurazione.
Riepilogo
Plane offre al team di sviluppo sprint, backlog, epiche e viste familiari di Jira, senza costi per ogni account. Per un team di oltre 10 persone, la differenza si misura in migliaia di Euro all'anno, e i dati dei progetti rimangono sul tuo server nell'Unione Europea. Il prezzo per questo: pochi minuti di configurazione della posta e la gestione dei backup, che in Saplo vengono eseguiti automaticamente.
Se il team è composto da poche persone e Jira Free è sufficiente, non c'è motivo di migrare. Se la fattura per le licenze aumenta ogni trimestre, apri la pagina di Plane nel catalogo Saplo, scegli Box L e installa la tua istanza. Un confronto completo dei piani è disponibile nel listino prezzi.
- #Self-hosting
- #Jira
- #Plane
- #Guida
- #Gestione dei progetti
