Nell'articolo Passo dopo passo per configurare un ERP e un CRM per la tua PMI Abbiamo insegnato come eseguire una macchina virtuale che avesse un'installazione preconfigurata di Odoo 8, che ci ha permesso di godere di questo ERP in modo semplice e veloce, questa volta vogliamo entrare nel mondo di Docker e installare Odoo utilizzando questa grande tecnologia.
Fondamentalmente con questo tutorial imparerai come installare Odoo con docker e aggiungere moduli esterni che ti permetteranno di migliorare ed estendere le funzionalità di Odoo. Grazie a docker, puoi avere qualsiasi versione di Odoo sullo stesso computer e avere più istanze in esecuzione, il che faciliterà lo sviluppo e l'avvio in qualsiasi momento, in qualsiasi organizzazione e soprattutto in qualsiasi ambiente.
La procedura è abbastanza semplice ma cercherò di renderla il più dettagliata possibile, i passaggi e le procedure si concentreranno sulle distribuzioni con Ubuntu 16.04 ma possono essere facilmente applicate su qualsiasi distro Linux.
Passaggi per installare Docker e Docker Compose
Installa Docker
Per installare Docker in Ubuntu, esegui il seguente comando:
sudo apt-get install docker.io
Aggiungi il tuo utente al gruppo Docker
Dobbiamo eseguire il seguente comando:
sudo gpasswd -a ${USER} docker
Installa Docker-compose
Il modo più semplice per installare Docker-ompose è usare pip, per farlo eseguire il seguente comando:
pip install docker-compose
Installa Docker-engine
Installa docker-engine con il seguente comando:
sudo curl -sSL https://get.docker.com/ | sh
Riavvia Docker
Affinché tutte le modifiche vengano eseguite correttamente, è conveniente riavviare Docker utilizzando:
sudo service docker restart
Creazione del nostro file docker-compose.yml
Una volta installato docker, dobbiamo creare il file finestra mobile-compose.yml Nella directory di nostra preferenza, conterrà praticamente tutte le informazioni necessarie per implementare il nostro servizio con Odoo.
nano docker-compose.yml
Questo file conterrà quanto segue:
versione: '2' servizi: odoo: immagine: odoo: 8 riavvio: sempre porte: - "8069: 8069" link: - volumi db: - ./extra-addons:/mnt/extra-addons db: immagine: postgres: 9.4 riavvio: sempre ambiente: - POSTGRES_USER = odoo - POSTGRES_PASSWORD = odoo
In questo file possiamo apportare le seguenti modifiche per adattarlo alle nostre esigenze:
image: odoo:8
: Puoi sostituire odoo: 8 con la versione che ti serve odoo: 9, odoo: 10, odoo11 o semplicemente odoo: latest per l'ultima versione disponibile.ports: - "8069:8069"
: Sostituisci la prima porta con la porta che desideri, questo ti aiuterà ad avere più istanze di odoo in esecuzione allo stesso tempo, ad esempio potrebbe assomigliare a questo,ports: - "8070:8069"
oports: - "8071:8069"
e così viaimage: postgres:9.4
: Puoi anche sostituire l'immagine postgres che desideri utilizzare, in particolare questa versione mi si adatta abbastanza bene.
In linea generale con questo finestra mobile-compose.yml Invochiamo un insieme di contenitori correlati tra loro, come il contenitore della versione odoo e il contenitore postgres, allo stesso modo per il primo contenitore affermiamo che ascolterà la porta 8069 (e potrà accedere a quella che indichiamo) e inoltre, viene montato un volume locale chiamato extra-addons che si collegherà automaticamente con / mnt / extra-addons nel contenitore odoo.
Infine viene descritto il nome utente e la password da utilizzare per postgres e si stabilisce che quando il computer host riavvia il servizio docker lo farà anche lui, grazie al parametro restart: always.
Configurazione iniziale di Odoo
Una volta creato il nostro file docker-compose.yml
, dobbiamo avviare l'istanza di Odoo, per farlo dal terminale andiamo nella directory dove si trova il file creato in precedenza ed eseguiamo:
docker-compose up -d
Verrà avviato automaticamente il download dei contenitori docker necessari, verrà avviato il database e potremo accedere alla nostra istanza odoo da localhost:8069
o la porta specificata. Una volta dentro, sarà necessario creare il nostro database, per il quale dovremo scegliere l'email, la password di accesso, la lingua e la lingua, oltre a selezionare se vogliamo importare i dati del test per valutare Odoo.
Una volta creato il database, possiamo accedere a odoo e iniziare a goderne i vantaggi.
Aggiunta di moduli esterni a Odoo
El finestra mobile-compose.yml che abbiamo creato nei passaggi precedenti, oltre a sollevare le immagini odoo e postgres necessarie, crea anche un volume nella nostra directory per poter aggiungere moduli esterni alla nostra istanza. Per questo è sufficiente che copiamo un modulo compatibile con la versione di odoo che abbiamo eseguito in detta directory, puoi aggiungere i tuoi moduli o scaricarlo dal App Odoo.
Una volta che abbiamo il nostro modulo nella directory extra-addons (decompresso) che si trova nella directory in cui abbiamo il nostro finestra mobile-compose.yml, procediamo a dargli i permessi corrispondenti in modo che possa essere letto dal nostro docker. Il modo più semplice è quello che si trova nella directory principale di extra-addons eseguiamo i seguenti comandi dal terminale:
sudo chown -R lizard: lizard extra-addons / #sostituisci lizard con il tuo utente sudo chmod -R 755 extra-addons /
Ora dalla nostra istanza odoo dobbiamo attivare la modalità sviluppatore che, a seconda della versione di odoo che hai, può essere eseguita nel modo seguente:
Attiva la modalità sviluppatore in Odoo 8
La modalità di sviluppo in Odoo 8 si attiva dai profili Utente, per farlo dal menu vai nella categoria Utente, individua il tuo utente amministratore e nella parte in basso a destra attiva le caratteristiche
Attiva la modalità sviluppatore in Odoo 9
In Odoo 9 vai in alto a destra e clicca sulla data che si trova accanto alla foto del profilo dell'utente, poi vai sull'opzione Informazioni e nella finestra che si apre seleziona Attiva la modalità sviluppatore.
Attiva la modalità sviluppatore in Odoo 10 e Odoo 11
Per attivare la modalità sviluppatore in Odoo 10 e 11 dobbiamo andare nel menu Impostazioni e nella parte in basso a destra cliccare su Attiva la modalità sviluppatore.
Infine, in una qualsiasi delle versioni, dobbiamo andare nel menu dei moduli o delle app locali e fare clic sul collegamento per aggiornare l'elenco dei moduli, quindi è possibile installare i moduli come spiegato nell'articolo su Come installare i moduli in Odoo.
Installazione di pacchetti nella nostra finestra mobile
Può essere il caso che uno qualsiasi dei moduli o utilità che vuoi incorporare in odoo (o una caratteristica di odoo stesso) richieda l'installazione di pacchetti esterni, questo può essere fatto abbastanza facilmente in docker grazie a docker exec
che è un'utilità che ci consente di eseguire comandi in un contenitore docker.
La prima cosa che dobbiamo sapere è il nome della nostra istanza docker, che viene eseguita con il seguente comando:
docker ps
Per installare un'applicazione su una finestra mobile come root, dobbiamo eseguire il seguente comando, adattandolo alle vostre esigenze:
docker exec -u root odoo9_odoo_1 pip install xlsxwriter
dove docker exec -u root odoo9_odoo_1
indica che un comando verrà eseguito come root nell'istanza odoo9_odoo_1 e pip install xlsxwrite
r sarebbe il comando che vuoi eseguire.
Infine vorrei condividere diversi comandi che saranno utili quando si lavora con docker-composer
# Viene eseguito dalla directory di un'istanza docker e per il docker-compose che è in esecuzione docker-composer stop # Viene eseguito dalla directory di un'istanza docker e avvia docker-compose docker-composer start # Arresta tutti i contenitori docker stop $ (docker ps -a -q) # Elimina tutti i contenitori docker rm $ (docker ps -a -q) # Elimina tutte le immagini docker rmi $ (immagini docker -q)
Spero che il tutorial sia di tuo gradimento, nei prossimi articoli inizieremo a imparare come usare Odoo e configurarlo nelle nostre PMI.
Magnifico tutorial, vediamo se riesco a trovare il tempo per metterlo in pratica: sia Odoo che Docker sembrano molto interessanti. Per ora sono impegnato a vedere se imparo qualcosa sul web-scraping usando rstudio e una finestra mobile selenium-firefox, qualcosa da esplorare DesdeLinux.
Il selenio non è per raschiare, è per strappare. Solo lo scraping di alcaro XD è solo per la lettura dei dati.
Bene, sto cercando di imparare a leggere i dati dal web e inserirli in una o più tabelle strutturate per gestirli in seguito. Secondo Wikipedia:
Il web scraping è una tecnica utilizzata dai programmi software per estrarre informazioni dai siti web. Di solito, questi programmi simulano la navigazione di un essere umano sul World Wide Web utilizzando manualmente il protocollo HTTP o incorporando un browser in un'applicazione.
Il wrapper nel data mining è un programma che estrae il contenuto di una particolare fonte di informazioni e lo traduce in una forma relazionale. [1] Molte pagine web presentano dati strutturati - elenchi telefonici, cataloghi di prodotti, ecc. formattato per la navigazione umana utilizzando il linguaggio HTML.
Potrebbe essere più wrapper perché sono informazioni strutturate in tabelle, sì. È molto interessante.
È possibile installarlo su un Raspberry pi con Ubuntu Mate?
Se possibile cara, vediamo se con un po 'di tempo riesco a fare un tutorial sull'argomento
sarebbe eccellente, ho diversi investigatori privati che raccolgono polvere
E ne ho bisogno per i test 🙁
Come faccio a scaricare con la lingua spagnola? Quindi l'applicazione è in spagnolo e se esiste per Windows?
Quando crei il database puoi scegliere la lingua che preferisci, se funziona anche su Windows (ha un installer dalla pagina odoo)
Ciao, sto cercando di installarlo su un Raspberry pi 3 e sto eseguendo lo script Docker:
docker-comporre up -d
Ottengo il seguente errore:
ERRORE: nessun manifest corrispondente per linux / arm nelle voci dell'elenco manifest.
Grazie.
Il tutorial è molto buono, grazie, e come verrebbero installate le altre istanze, non è molto chiaro per me, devi metterne di più nel file docker-compose.yml, grazie
Potresti aiutarmi a trovare il percorso degli addons, sono su un Mac? molte grazie
Come sarebbe installare la versione enterprise?
Ciao, come sarebbe se avessi bisogno di aggiornare un modulo che sto programmando dal terminale?