Elouan
5 years ago
commit
dfbbf17d15
8 changed files with 599 additions and 0 deletions
-
34.gitignore
-
35Dockerfile
-
114README.md
-
21docker-compose.yml
-
259install-odoo-linux-server.md
-
56install-odoo-linux.md
-
78install-odoo-mac.md
-
2requirements.txt
@ -0,0 +1,34 @@ |
|||
# sphinx build directories |
|||
_build/ |
|||
|
|||
# dotfiles |
|||
.* |
|||
!.gitignore |
|||
!.mailmap |
|||
# compiled python files |
|||
*.py[co] |
|||
# setup.py egg_info |
|||
*.egg-info |
|||
# emacs backup files |
|||
*~ |
|||
# hg stuff |
|||
*.orig |
|||
status |
|||
# odoo filestore |
|||
openerp/filestore |
|||
# maintenance migration scripts |
|||
openerp/addons/base/maintenance |
|||
|
|||
# generated for windows installer? |
|||
install/win32/*.bat |
|||
install/win32/meta.py |
|||
|
|||
# various virtualenv |
|||
/bin/ |
|||
/build/ |
|||
/dist/ |
|||
/include/ |
|||
/lib/ |
|||
/man/ |
|||
/share/ |
|||
/src/ |
@ -0,0 +1,35 @@ |
|||
FROM odoo:9.0 |
|||
|
|||
USER root |
|||
RUN printf "deb http://archive.debian.org/debian/ jessie main\ndeb-src http://archive.debian.org/debian/ jessie main\ndeb http://security.debian.org jessie/updates main\ndeb-src http://security.debian.org jessie/updates main" > /etc/apt/sources.list |
|||
RUN apt-get update && apt-get install -y git wget gcc python-dev libssl-dev libffi-dev make |
|||
|
|||
##### 10) Installer wkhtml to pdf 0.12.1 !! (pas une autre) (sur une machine 64 bit avec un ubuntu 64bit 14.04) |
|||
# RUN apt-get install -y fontconfig libfontconfig1 libxrender1 fontconfig-config libjpeg-turbo8-dev && \ |
|||
# wget --quiet https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox_0.12.5-1.trusty_amd64.deb && \ |
|||
# dpkg -i wkhtmltox_0.12.5-1.trusty_amd64.deb && \ |
|||
# ln -s /usr/local/bin/wkhtmltoimage /usr/bin/wkhtmltoimage && \ |
|||
# ln -s /usr/local/bin/wkhtmltopdf /usr/bin/wkhtmltopdf |
|||
|
|||
RUN mkdir -p /app/extra-addons && chown odoo /app/extra-addons |
|||
|
|||
USER odoo |
|||
RUN git clone https://github.com/beescoop/Obeesdoo.git /app/extra-addons/obeesdoo -b 9.0 --depth 1 && \ |
|||
git clone https://github.com/coopiteasy/vertical-cooperative.git /app/extra-addons/vertical-cooperative -b 9.0 --depth 1 && \ |
|||
git clone https://github.com/coopiteasy/addons.git /app/extra-addons/houssine-addons -b 9.0 --depth 1 && \ |
|||
git clone https://github.com/coopiteasy/procurement-addons /app/extra-addons/procurement-addons -b 9.0 --depth 1 && \ |
|||
git clone https://www.github.com/OCA/l10n-belgium /app/extra-addons/l10n-belgium -b 9.0 --depth 1 && \ |
|||
git clone https://www.github.com/OCA/mis-builder /app/extra-addons/mis-builder -b 9.0 --depth 1 && \ |
|||
git clone https://www.github.com/OCA/web /app/extra-addons/web -b 9.0 --depth 1 && \ |
|||
git clone https://github.com/OCA/server-tools /app/extra-addons/server-tools -b 9.0 --depth 1 && \ |
|||
git clone https://github.com/OCA/reporting-engine /app/extra-addons/reporting-engine -b 9.0 --depth 1 |
|||
|
|||
USER root |
|||
RUN pip install --upgrade setuptools enum |
|||
RUN pip install -r /app/extra-addons/reporting-engine/requirements.txt |
|||
RUN pip install -r /app/extra-addons/server-tools/requirements.txt |
|||
RUN pip install -r /app/extra-addons/obeesdoo/requirements.txt |
|||
|
|||
USER odoo |
|||
|
|||
# COPY example_odoo.conf /etc/odoo/openerp-server.conf |
@ -0,0 +1,114 @@ |
|||
# Obeesdoo |
|||
Specific module for the Beescoop |
|||
|
|||
## Install odoo |
|||
|
|||
- cf. [install-odoo-linux-server.md](install-odoo-linux-server.md) (review) |
|||
- cf. [install-odoo-linux.md](install-odoo.md) (review) |
|||
- cf. [install-odoo-mac.md](install-odoo-mac.md) |
|||
|
|||
## Setup obeesdoo |
|||
|
|||
##### 1) clone repos |
|||
|
|||
``` |
|||
$ cd projects |
|||
$ git clone https://github.com/beescoop/Obeesdoo.git obeesdoo -b 9.0 --depth 1 |
|||
$ git clone https://github.com/coopiteasy/vertical-cooperative.git vertical-cooperative -b 9.0 --depth 1 |
|||
$ git clone https://github.com/coopiteasy/addons.git addons -b 9.0 --depth 1 |
|||
$ git clone https://github.com/coopiteasy/procurement-addons procurement-addons -b 9.0 --depth 1 |
|||
$ git clone https://www.github.com/OCA/l10n-belgium -b 9.0 --depth 1 |
|||
$ git clone https://www.github.com/OCA/mis-builder -b 9.0 --depth 1 |
|||
$ git clone https://www.github.com/OCA/account-financial-tools -b 9.0 --depth 1 |
|||
$ git clone https://www.github.com/OCA/account-financial-reporting -b 9.0 --depth 1 |
|||
$ git clone https://www.github.com/OCA/web -b 9.0 --depth 1 |
|||
$ git clone https://www.github.com/OCA/website -b 9.0 --depth 1 |
|||
$ git clone https://github.com/OCA/server-tools -b 9.0 --depth 1 |
|||
$ git clone https://github.com/OCA/reporting-engine -b 9.0 --depth 1 |
|||
``` |
|||
|
|||
todo: setup git submodules |
|||
|
|||
##### 2) install wkhtmltopdf |
|||
|
|||
Download and install [wkhtmltopdf version 0.12.1](https://github.com/wkhtmltopdf/wkhtmltopdf/releases/0.12.1) |
|||
|
|||
##### 3) set up the database and import production data. |
|||
|
|||
|
|||
``` |
|||
$ createuser -d odoo |
|||
$ createdb beescoop -o odoo |
|||
$ gunzip <dump-file>.sql.gz |
|||
$ psql beescoop < <dump-file>.sql |
|||
``` |
|||
|
|||
##### 4) deactivate cron jobs and mails |
|||
|
|||
``` |
|||
$ psql -d beescoop -c "UPDATE ir_cron SET active='f' WHERE active='t';" |
|||
$ psql -d beescoop -c "update ir_mail_server set smtp_encryption='none', smtp_port=1025, smtp_host='localhost',smtp_user='', smtp_pass='';" |
|||
$ psql -d beescoop -c "UPDATE fetchmail_server SET active='f', password='', server='localhost';" |
|||
``` |
|||
|
|||
##### 5) create odoo.conf |
|||
|
|||
``` |
|||
$ export ODOO_HOME='~/projects' |
|||
$ vi $ODOO_HOME/odoo.conf |
|||
``` |
|||
|
|||
``` |
|||
[options] |
|||
; This is the password that allows database operations: |
|||
; admin_passwd = admin |
|||
debug=True |
|||
dev=True |
|||
db_host=False |
|||
db_port=False |
|||
db_user=odoo |
|||
db_password=False |
|||
addons_path=addons,openerp/addons, |
|||
$ODOO_HOME/obeesdoo, |
|||
$ODOO_HOME/vertical-cooperative, |
|||
$ODOO_HOME/addons, |
|||
$ODOO_HOME/procurement-addons, |
|||
$ODOO_HOME/l10n-belgium, |
|||
$ODOO_HOME/mis-builder, |
|||
$ODOO_HOME/web, |
|||
$ODOO_HOME/website, |
|||
$ODOO_HOME/server-tools, |
|||
$ODOO_HOME/reporting-engine, |
|||
$ODOO_HOME/account-financial-tools, |
|||
$ODOO_HOME/acconut-financial-reporting |
|||
``` |
|||
|
|||
##### 6) update database structure |
|||
|
|||
``` |
|||
$ cd ~/projects/odoo |
|||
$ psql -d beescoop -c "truncate product_scale_log" |
|||
$ python odoo.py -c $ODOO_HOME/odoo.conf -u all -d beescoop --stop-after-init |
|||
``` |
|||
|
|||
### Troubleshoot |
|||
|
|||
Missing libraries |
|||
|
|||
``` |
|||
pip install pycoda |
|||
pip install xlsxwriter |
|||
``` |
|||
|
|||
Can't update `product_scale_log` table (I did not write down the exact error) |
|||
|
|||
``` |
|||
truncate table product_scale_log |
|||
``` |
|||
|
|||
## Migrate barcode |
|||
|
|||
```sql |
|||
insert into member_card (active, barcode, partner_id, responsible_id, activation_date) select 't', barcode, id, 1, '2016-01-01' from res_partner where barcode is not null; |
|||
update res_partner set eater = 'worker_eater' where barcode is not null; |
|||
``` |
@ -0,0 +1,21 @@ |
|||
version: '3' |
|||
services: |
|||
|
|||
odoo: |
|||
build: . |
|||
depends_on: |
|||
- db |
|||
ports: |
|||
- "8069:8069" |
|||
volumes: |
|||
- ./config:/etc/odoo/ |
|||
- ./:/app/extra-addons/obeesdoo |
|||
|
|||
db: |
|||
image: postgres:10 |
|||
environment: |
|||
- POSTGRES_DB=postgres |
|||
- POSTGRES_PASSWORD=odoo |
|||
- POSTGRES_USER=odoo |
|||
|
|||
|
@ -0,0 +1,259 @@ |
|||
# Install odoo on a linux server |
|||
|
|||
> by Thibault François |
|||
|
|||
## Installation basique |
|||
|
|||
##### 1) ajouter un utilisateur odoo |
|||
|
|||
# adduser odoo |
|||
|
|||
##### 2) installation de postgresql (DBMS) |
|||
|
|||
# apt-get install postgresql |
|||
|
|||
##### 3) install git |
|||
|
|||
# apt-get install git |
|||
|
|||
##### 4) installer pip : python package manager |
|||
|
|||
# apt-get install python-pip |
|||
|
|||
##### 5) installation des paquets devel pour compilation des bibliothèques python |
|||
|
|||
# apt-get install python-dev postgresql-server-dev-all libjpeg-dev zlib1g-dev libpng12-dev libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev |
|||
|
|||
##### 6) installation de node-less |
|||
|
|||
# apt-get install node-less |
|||
|
|||
##### 7) clone odoo |
|||
|
|||
# su odoo |
|||
$ cd /home/odoo |
|||
$ git clone https://github.com/odoo/odoo.git |
|||
|
|||
##### 8) installer bibliothèque python |
|||
|
|||
$ exit |
|||
# cd /home/odoo/odoo |
|||
# pip install -r requirements.txt |
|||
|
|||
##### 9) créer odoo user pour postgresql avec les droits de création de base de donnée |
|||
|
|||
# su postgres |
|||
$ createuser -d odoo |
|||
$ exit |
|||
|
|||
##### 10) Installer wkhtml to pdf 0.12.1 !! (pas une autre) (sur une machine 64 bit avec un ubuntu 64bit 14.04) |
|||
|
|||
# apt-get install fontconfig libfontconfig1 libxrender1 fontconfig-config |
|||
# wget http://download.gna.org/wkhtmltopdf/0.12/0.12.1/wkhtmltox-0.12.1_linux-trusty-amd64.deb |
|||
# dpkg -i wkhtmltox-0.12.1_linux-trusty-amd64.deb |
|||
# cd /usr/local/bin/ |
|||
# cp wkhtmltoimage /usr/bin/wkhtmltoimage |
|||
# cp wkhtmltopdf /usr/bin/wkhtmltopdf |
|||
|
|||
##### 11) Tester l'installation de odoo |
|||
|
|||
# su odoo |
|||
$ cd /home/odoo/odoo |
|||
$ ./odoo.py |
|||
|
|||
lancer le navigateur http://localhost:8069 la page de création de base de donnée d'odoo devrait s'ouvrir, essayé de créer une base de donnée |
|||
|
|||
ctrl + c pour tuer le processus odoo depuis la console |
|||
|
|||
## Pour aller plus loin: init.d script |
|||
|
|||
##### 1) créer un répertoire de log |
|||
|
|||
# su odoo |
|||
$ mkdir /home/odoo/log |
|||
|
|||
##### 2) créer fichier de config odoo |
|||
|
|||
$ cd /home/odoo/odoo |
|||
$ ./odoo.py -s -c /home/odoo/odoo.conf --stop-after-init --logfile=/home/odoo/log/odoo.log |
|||
|
|||
##### 3) Créer le fichier init.d |
|||
|
|||
$ exit |
|||
$ vim /etc/init.d/odoo |
|||
|
|||
copier le contenu dans le fichier (gedit va aussi bien que vim) |
|||
|
|||
|
|||
#!/bin/sh |
|||
|
|||
### BEGIN INIT INFO |
|||
# Provides: openerp-server |
|||
# Required-Start: $remote_fs $syslog |
|||
# Required-Stop: $remote_fs $syslog |
|||
# Should-Start: $network |
|||
# Should-Stop: $network |
|||
# Default-Start: 2 3 4 5 |
|||
# Default-Stop: 0 1 6 |
|||
# Short-Description: Enterprise Resource Management software |
|||
# Description: Open ERP is a complete ERP and CRM software. |
|||
### END INIT INFO |
|||
|
|||
PATH=/bin:/sbin:/usr/bin |
|||
DAEMON=/home/odoo/odoo/odoo.py |
|||
NAME=odoo |
|||
DESC=odoo |
|||
|
|||
# Specify the user name (Default: openerp). |
|||
USER=odoo |
|||
|
|||
# Specify an alternate config file (Default: /etc/openerp-server.conf). |
|||
CONFIGFILE="/home/odoo/odoo.conf" |
|||
|
|||
# pidfile |
|||
PIDFILE=/var/run/$NAME.pid |
|||
|
|||
# Additional options that are passed to the Daemon. |
|||
DAEMON_OPTS="-c $CONFIGFILE" |
|||
|
|||
[ -x $DAEMON ] || exit 0 |
|||
[ -f $CONFIGFILE ] || exit 0 |
|||
|
|||
checkpid() { |
|||
[ -f $PIDFILE ] || return 1 |
|||
pid=`cat $PIDFILE` |
|||
[ -d /proc/$pid ] && return 0 |
|||
pid=`cat $PIDFILE` |
|||
[ -d /proc/$pid ] && return 0 |
|||
return 1 |
|||
} |
|||
|
|||
case "${1}" in |
|||
start) |
|||
echo -n "Starting ${DESC}: " |
|||
|
|||
start-stop-daemon --start --quiet --pidfile ${PIDFILE} \ |
|||
--chuid ${USER} --background --make-pidfile \ |
|||
--exec ${DAEMON} -- ${DAEMON_OPTS} |
|||
|
|||
echo "${NAME}." |
|||
;; |
|||
|
|||
stop) |
|||
echo -n "Stopping ${DESC}: " |
|||
|
|||
start-stop-daemon --stop --quiet --pidfile ${PIDFILE} \ |
|||
--oknodo |
|||
|
|||
echo "${NAME}." |
|||
;; |
|||
|
|||
restart|force-reload) |
|||
echo -n "Restarting ${DESC}: " |
|||
|
|||
start-stop-daemon --stop --quiet --pidfile ${PIDFILE} \ |
|||
--oknodo |
|||
|
|||
sleep 1 |
|||
|
|||
start-stop-daemon --start --quiet --pidfile ${PIDFILE} \ |
|||
--chuid ${USER} --background --make-pidfile \ |
|||
--exec ${DAEMON} -- ${DAEMON_OPTS} |
|||
|
|||
echo "${NAME}." |
|||
|
|||
echo "${NAME}." |
|||
;; |
|||
|
|||
*) |
|||
N=/etc/init.d/${NAME} |
|||
echo "Usage: ${NAME} {start|stop|restart|force-reload}" >&2 |
|||
exit 1 |
|||
;; |
|||
esac |
|||
|
|||
exit 0 |
|||
|
|||
##### 4) donner les bons droits au fichier |
|||
|
|||
# chmod 755 /etc/init.d/odoo |
|||
|
|||
##### 5) tester le script |
|||
|
|||
# /etc/init.d/odoo start |
|||
|
|||
tester à nouveau sur localhost:8069 |
|||
|
|||
##### 6) faire en sorte que le script s'exécute au démarrage |
|||
|
|||
# update-rc.d odoo defaults |
|||
|
|||
|
|||
## Pour aller plus loin: proxy nginx |
|||
|
|||
##### 1) installer nginx |
|||
|
|||
# apt-get install nginx |
|||
|
|||
vous pouvez tester l'installation réussie sur http://localhost |
|||
|
|||
##### 2) configurer nginx pour odoo : editer le fichier de conf |
|||
|
|||
# vim /etc/nginx/sites-enabled/default |
|||
|
|||
supprimer le contenu et le remplacer par |
|||
|
|||
upstream odoo { |
|||
server 127.0.0.1:8069 weight=1 fail_timeout=300s; |
|||
} |
|||
|
|||
server { |
|||
# server port and name |
|||
listen 80; |
|||
server_name localhost; |
|||
|
|||
|
|||
location / { |
|||
proxy_pass http://odoo; |
|||
# force timeouts if the backend dies |
|||
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503; |
|||
|
|||
# set headers |
|||
proxy_set_header Host $host; |
|||
proxy_set_header X-Real-IP $remote_addr; |
|||
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for; |
|||
|
|||
} |
|||
} |
|||
|
|||
##### 3) tester la config et relancer nginx |
|||
|
|||
# nginx -t |
|||
# nginx -s reload |
|||
|
|||
tester http://localhost |
|||
|
|||
devrait conduire à odoo (ne pas oublier de vider le cache de son navigateur au cas ou ca ne marche pas tout de suite) |
|||
|
|||
## Sécurité |
|||
|
|||
> odoo plus accessible sur le port et changer le master password |
|||
|
|||
a) editer fichier de conf de odoo |
|||
|
|||
# vim /home/odoo/odoo.conf |
|||
|
|||
changer |
|||
|
|||
admin_passwd = admin |
|||
xmlrpc_interface = |
|||
|
|||
pour |
|||
|
|||
admin_passwd = secret_password |
|||
xmlrpc_interface = 127.0.0.1 |
|||
|
|||
b) redémarrer odoo |
|||
|
|||
# /etc/init.d/odoo restart |
|||
|
@ -0,0 +1,56 @@ |
|||
# Install odoo on linux |
|||
|
|||
> Tested on Ubuntu 18 |
|||
|
|||
|
|||
##### 2) Install Python, postgresql and needed modules |
|||
|
|||
Python 2.7 and 3 come pre-installed but you'll need to add pip |
|||
|
|||
``` |
|||
sudo apt-get install python-pip |
|||
sudo apt-get install postgresql |
|||
sudo apt-get install libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev libssl-dev -y |
|||
sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk |
|||
``` |
|||
|
|||
|
|||
##### 4) install less compiler |
|||
|
|||
``` |
|||
$ sudo apt-get install npm |
|||
$ sudo npm install -g less less-plugin-clean-css |
|||
``` |
|||
|
|||
##### 5) setup odoo environment |
|||
|
|||
I recommend using [virtualenvwrapper](http://virtualenvwrapper.readthedocs.io/en/latest/index.html) |
|||
|
|||
``` |
|||
$ mkvirtualenv odoo -p /path/to/python2.7 # generally /usr/bin/python2.7 |
|||
$ which python # should return: |
|||
/Users/<user>/.virtualenvs/odoo/bin/python |
|||
``` |
|||
Use `deactivate` to get out of odoo environment, use `workon odoo` to activate the environment. |
|||
|
|||
##### 6) clone odoo |
|||
|
|||
``` |
|||
$ cd ~/projects |
|||
$ git clone https://github.com/odoo/odoo.git odoo |
|||
``` |
|||
|
|||
##### 7) Install odoo requirements |
|||
|
|||
``` |
|||
$ cd odoo |
|||
$ git checkout 9.0 |
|||
$ pip install -r requirements.txt |
|||
|
|||
# we need to upgrade psycopg2 |
|||
pip uninstall psycopg2 |
|||
pip install --no-binary :all: psycopg2 |
|||
``` |
|||
|
|||
You should now be able to start a simple odoo instance with `./odoo/odoo.py` |
|||
|
@ -0,0 +1,78 @@ |
|||
# Install odoo on macos |
|||
|
|||
> Tested on macos High Sierra (10.13.3) |
|||
|
|||
##### 1) install Homebrew |
|||
|
|||
``` |
|||
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" |
|||
``` |
|||
|
|||
##### 2) Install Python, postgresql and needed modules |
|||
|
|||
``` |
|||
$ brew update |
|||
$ brew install python |
|||
$ brew install postgresql |
|||
$ brew install freetype jpeg libpng libtiff webp xz |
|||
``` |
|||
|
|||
##### 3) Add postgresql to system startup |
|||
|
|||
``` |
|||
$ ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents |
|||
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist |
|||
``` |
|||
##### 4) install less compiler |
|||
|
|||
``` |
|||
$ brew install npm |
|||
$ npm install -g less |
|||
``` |
|||
|
|||
##### 5) setup odoo environment |
|||
|
|||
I recommend using [virtualenvwrapper](http://virtualenvwrapper.readthedocs.io/en/latest/index.html) |
|||
|
|||
``` |
|||
$ mkvirtualenv odoo -p /path/to/python2.7 # generally /usr/bin/python2.7 |
|||
$ which python # should return: |
|||
/Users/<user>/.virtualenvs/odoo/bin/python |
|||
``` |
|||
Use `deactivate` to get out of odoo environment, use `workon odoo` to activate the environment. |
|||
|
|||
##### 6) clone odoo |
|||
|
|||
``` |
|||
$ cd ~/projects |
|||
$ git clone https://github.com/odoo/odoo.git odoo |
|||
``` |
|||
|
|||
##### 7) Install odoo requirements |
|||
|
|||
``` |
|||
$ cd odoo |
|||
$ git checkout 9.0 |
|||
$ pip install -r requirements.txt |
|||
``` |
|||
|
|||
You should now be able to start a simple odoo instance with `python odoo.py` |
|||
|
|||
## Configuring pycharm |
|||
|
|||
## Troubleshoot |
|||
|
|||
Missing codaparserexception |
|||
|
|||
``` |
|||
pip install pycoda |
|||
``` |
|||
|
|||
Can't update `product_scale_log` table (I did not write down the exact error) |
|||
|
|||
``` |
|||
truncate table product_scale_log |
|||
``` |
|||
|
|||
## Source |
|||
source: [setup-odoo-development-on-os-x-with-pycharm](http://bloopark.de/en_US/blog/the-bloopark-times-english-2/post/setup-odoo-development-on-os-x-with-pycharm-109) |
@ -0,0 +1,2 @@ |
|||
pycoda |
|||
openerp-client-lib |
Write
Preview
Loading…
Cancel
Save
Reference in new issue