Installation odoo docker
Installation Docker et Docker-compose
sudo apt-get update sudo apt-get install ca-certificates curl gnupg sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg # Add the repository to Apt sources: echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Verifier que docker est bien installer avec:
sudo docker run hello-world
Docker Compose
Pour l'installation de docker-compose je vous laisse le soin de visiter how-to-install-and-use-docker-compose-on-ubuntu-22-04
Odoo docker compose
Ubuntu
Pour installer odoo sur un serveur linux, nous pouvons passer par odoo docker qui est facile et simple a mettre en place. Tout d'abord nous allons commencer par:
Créer un répertoire de travail avec les différentes sous dossiers et fichiers
mkdir odoo
cd odoo
mkdir odoo15
cd odoo15
mkdir addons
touch docker-compose.yml
touch entrypoint.sh
mkdir etc
cd etc
touch odoo.conf
Voici l'arboressence que nous devons avoir:
odoo
odoo15
addons
docker-compose.yml
entrypoint.sh
etc
odoo.conf
docker-compose.yml
version: '2'
services:
db:
image: postgres:14
user: root
environment:
- POSTGRES_USER=odoo
- POSTGRES_PASSWORD=odoo15
- POSTGRES_DB=postgres
restart: always # run as a service
volumes:
- ./postgresql:/var/lib/postgresql/data
odoo15:
image: odoo:15
user: root
depends_on:
- db
ports:
- "1010:8069"
- "2011:8072" # live chat
tty: true
command: --
environment:
- HOST=db
- USER=odoo
- PASSWORD=odoo15
volumes:
#- /etc/timezone:/etc/timezone:ro
#- /etc/localtime:/etc/localtime:ro
# - ./entrypoint.sh:/entrypoint.sh # if you want to install additional Python packages, uncomment this line!
- ./addons:/mnt/extra-addons
- ./odoo15:/mnt/entreprise
- ./etc:/etc/odoo
restart: always # run as a service
entrypoint.sh
#!/bin/bash
set -e
# set the postgres database host, port, user and password according to the environment
# and pass them as arguments to the odoo process if not present in the config file
: ${HOST:=${DB_PORT_5432_TCP_ADDR:='db'}}
: ${PORT:=${DB_PORT_5432_TCP_PORT:=5432}}
: ${USER:=${DB_ENV_POSTGRES_USER:=${POSTGRES_USER:='odoo'}}}
: ${PASSWORD:=${DB_ENV_POSTGRES_PASSWORD:=${POSTGRES_PASSWORD:='odoo15'}}}
# install python packages
pip3 install pip --upgrade
pip3 install -r /etc/odoo/requirements.txt
# sed -i 's|raise werkzeug.exceptions.BadRequest(msg)|self.jsonrequest = {}|g' /usr/lib/python3/dist-packages/odoo/http.py
DB_ARGS=()
function check_config() {
param="$1"
value="$2"
if grep -q -E "^\s*\b${param}\b\s*=" "$ODOO_RC" ; then
value=$(grep -E "^\s*\b${param}\b\s*=" "$ODOO_RC" |cut -d " " -f3|sed 's/["\n\r]//g')
fi;
DB_ARGS+=("--${param}")
DB_ARGS+=("${value}")
}
check_config "db_host" "$HOST"
check_config "db_port" "$PORT"
check_config "db_user" "$USER"
check_config "db_password" "$PASSWORD"
case "$1" in
-- | odoo)
shift
if [[ "$1" == "scaffold" ]] ; then
exec odoo "$@"
else
wait-for-psql.py ${DB_ARGS[@]} --timeout=3000
exec odoo "$@" "${DB_ARGS[@]}"
fi
;;
-*)
wait-for-psql.py ${DB_ARGS[@]} --timeout=3000
exec odoo "$@" "${DB_ARGS[@]}"
;;
*)
exec "$@"
esac
odoo.conf
[options]
addons_path = /mnt/extra-addons, /mnt/entreprise/odoo/addons
server_wide_modules = base, web
data_dir = /etc/odoo
admin_password = password
logfile = /etc/odoo-server.log
db_template = template0
dev_mode = reload
Démarrage des services
Apres avoir configurer nos différentes fichier on démarrage les services avec la commande suivante:
docker-compose up
Cette commande va nous permettre de créer deux conteneur docker; un conteneur PostgreSQL et un conteneur Odoo.
Nous pouvons inspecter les services en cours d'exécution à l'aide de la commande suivante.
docker-compose ps
Inspection des journaux
Il existe de nombreuses approches que vous pouvez adopter pour inspecter les journaux des services en cours d'exécution.
Nous commencerons par l'approche la plus simple et la plus primitive.
docker-compose logs
Ou bien aller dans etc puis faire un cat odoo-server.logs qui contient les logs.
Interagir avec le conteneur Odoo
Nous utiliserons la commande suivante pour lier notre shell au conteneur Odoo.
docker-compose exec -it web /bin/bash
Arrêter les conteneurs
docker-compose down
Dépendances
WKHtmlToPdf est un outil très courant pour générer des fichiers PDF à partir de code HTML. Suivez les étapes ci-dessous pour l'installer:
Télécharger le paquet
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb
Installer le paquet
sudo dpkg -i wkhtmltox_0.12.5-1.bionic_amd64.deb
Corriger les dépendances
sudo apt installer -f
Maintenant on part dans :
Paramètres ==> Paramètres ==> Paramètres système : add key = report.url, value= http://127.0.0.1:8069/
Cela va nous permettre de pouvoir imprimer des rapports pdf depuis Odoo