Skip to content

Instantly share code, notes, and snippets.

@dansanti
Last active July 23, 2022 05:53
Show Gist options
  • Save dansanti/8ae97534f97c9b30c49e223c94aa39f9 to your computer and use it in GitHub Desktop.
Save dansanti/8ae97534f97c9b30c49e223c94aa39f9 to your computer and use it in GitHub Desktop.
Odoo PosBoxLess Script Instalation
#!/usr/bin/env bash
PKGS_TO_INSTALL="cups adduser postgresql-client python python-dateutil python-decorator python-docutils python-feedparser python-imaging python-jinja2 python-ldap python-libxslt1 python-lxml python-mako python-mock python-openid python-passlib python-psutil python-psycopg2 python-babel python-pychart python-pydot python-pyparsing python-pypdf2 python-reportlab python-requests python-tz python-vatnumber python-vobject python-werkzeug python-xlwt python-yaml postgresql python-gevent python-serial python-pip python-dev localepurge vim mc mg screen iw hostapd isc-dhcp-server git rsync console-data"
apt-get -y install ${PKGS_TO_INSTALL}
adduser pi -s /sbin/nologin -p 'raspberry'
cd /home/pi
git clone -b 9.0 --no-checkout --depth 1 https://github.com/odoo/odoo.git
cd odoo
git config core.sparsecheckout true
echo "addons/web
addons/web_kanban
addons/hw_*
addons/point_of_sale/tools/posbox/configuration
openerp/
odoo.py" | tee --append .git/info/sparse-checkout > /dev/null
git read-tree -mu HEAD
pip install pyserial pyusb==1.0.0b1 qrcode evdev babel pypdf
groupadd usbusers
usermod -a -G usbusers pi
usermod -a -G lp pi
usermod -a -G lpadmin pi
sudo -u postgres createuser -s pi
mkdir /var/log/odoo
chown pi:pi /var/log/odoo
echo 'SUBSYSTEM=="usb", GROUP="usbusers", MODE="0660"
SUBSYSTEMS=="usb", GROUP="usbusers", MODE="0660"' > /etc/udev/rules.d/99-usbusers.rules
echo '[Unit]
Description=Odoo PosBoxLess
After=network.target
[Service]
Type=simple
User=pi
Group=pi
ExecStart=/home/pi/odoo/odoo.py --load=web,hw_proxy,hw_posbox_homepage,hw_posbox_upgrade,hw_scale,hw_scanner,hw_escpos
KillMode=mixed
[Install]
WantedBy=multi-user.target
' > /etc/systemd/system/posboxless.service
systemctl enable posboxless.service
reboot
@juanPabloEA
Copy link

luego de instalar esto que se debe hacer ?

@alexuvero
Copy link

lo intalo y deve de funcionar com odoo nnormal puerto 8069

@alexuvero
Copy link

hola instale el scrip pero me da este error
2018-04-25 04:17:33,231 2878 ERROR ? openerp.addons.hw_escpos.controllers.main: Can not get printer description: USBError(13, 'Access denied (insufficient permissions)')
Impossible to handle the device due to previous error [Errno 13] Access denied (insufficient permissions)
por fabor hoy llevo mas de 10 horas intentando esto y eso es lo mejor que me ha ido, le agradeceria mucho su ayuda

@alexuvero
Copy link

hola, he echo avances aqui dando cabezasos, ayer reintale el ubuntu 10.04, entonces instale su Script Instalación PosBoxLess

ya esto se intala sin problemas, desde el navegador no me sale nada dice "internal server error"
bueno pienso que esto sea por que no tiene nada en el archivo de configuracion "odoo.conf" aunque no se por qu no es una intalacion normal solo se mandan a iniciar os modulos hw_* y punto de venta y el archivo de configuracion que encuentro esta dentro de este ultimo,
en la consola cuando ejecuto el posboxless me sale estos errores, son un fracmento de todo lo que sale.

l

self.setup_db(httprequest)
File "/home/alexander/odoo/openerp/http.py", line 1557, in setup_db
httprequest.session.db = db_monodb(httprequest)
File "/home/alexander/odoo/openerp/http.py", line 1711, in db_monodb
dbs = db_list(True, httprequest)
File "/home/alexander/odoo/openerp/http.py", line 1685, in db_list
dbs = openerp.service.db.list_dbs(force)
File "/home/alexander/odoo/openerp/service/db.py", line 323, in list_dbs
with closing(db.cursor()) as cr:
File "/home/alexander/odoo/openerp/sql_db.py", line 643, in cursor
return Cursor(self.__pool, self.dbname, self.dsn, serialized=serialized)
File "/home/alexander/odoo/openerp/sql_db.py", line 177, in init
self._cnx = pool.borrow(dsn)
File "/home/alexander/odoo/openerp/sql_db.py", line 526, in _locked
return fun(self, *args, **kwargs)
File "/home/alexander/odoo/openerp/sql_db.py", line 594, in borrow
**connection_info)
File "/usr/lib/python2.7/dist-packages/psycopg2/init.py", line 164, in connect
conn = _connect(dsn, connection_factory=connection_factory, async=async)
OperationalError: FATAL: role "root" does not exist
2018-04-25 14:57:06,837 3885 INFO ? openerp.sql_db: Connection to the database failed
2018-04-25 14:57:06,849 3885 INFO ? werkzeug: 127.0.0.1 - - [25/Apr/2018 14:57:06] "GET /hw_proxy/hello HTTP/1.1" 500 -
2018-04-25 14:57:06,891 3885 ERROR ? werkzeug: Error on request:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/werkzeug/serving.py", line 180, in run_wsgi
execute(self.server.app)
File "/usr/lib/python2.7/dist-packages/werkzeug/serving.py", line 168, in execute
application_iter = app(environ, start_response)
File "/home/alexander/odoo/openerp/service/server.py", line 249, in app
return self.app(e, s)
File "/home/alexander/odoo/openerp/service/wsgi_server.py", line 184, in application
return application_unproxied(environ, start_response)
File "/home/alexander/odoo/openerp/service/wsgi_server.py", line 170, in application_unproxied
result = handler(environ, start_response)
File "/home/alexander/odoo/openerp/http.py", line 1497, in call
return self.dispatch(environ, start_response)
File "/home/alexander/odoo/openerp/http.py", line 1471, in call
return self.app(environ, start_wrapped)
File "/usr/lib/python2.7/dist-packages/werkzeug/wsgi.py", line 591, in call
return self.app(environ, start_response)
File "/home/alexander/odoo/openerp/http.py", line 1633, in dispatch
self.setup_db(httprequest)
File "/home/alexander/odoo/openerp/http.py", line 1557, in setup_db
httprequest.session.db = db_monodb(httprequest)
File "/home/alexander/odoo/openerp/http.py", line 1711, in db_monodb
dbs = db_list(True, httprequest)
File "/home/alexander/odoo/openerp/http.py", line 1685, in db_list
dbs = openerp.service.db.list_dbs(force)
File "/home/alexander/odoo/openerp/service/db.py", line 323, in list_dbs
with closing(db.cursor()) as cr:
File "/home/alexander/odoo/openerp/sql_db.py", line 643, in cursor
return Cursor(self.__pool, self.dbname, self.dsn, serialized=serialized)
File "/home/alexander/odoo/openerp/sql_db.py", line 177, in init
self._cnx = pool.borrow(dsn)
File "/home/alexander/odoo/openerp/sql_db.py", line 526, in _locked
return fun(self, *args, **kwargs)
File "/home/alexander/odoo/openerp/sql_db.py", line 594, in borrow
**connection_info)
File "/usr/lib/python2.7/dist-packages/psycopg2/init.py", line 164, in connect
conn = _connect(dsn, connection_factory=connection_factory, async=async)
OperationalError: FATAL: role "root" does not exist

y la impresora me imprime un tiquet con esto.
20180425_103710

al menos estoy mas cerca que antes, seguire intentando por mi cuenta pero fuera muy bueno contar con su experiencia. y disculpe si lo molesto, mis saludos.

@alexuvero
Copy link

alexuvero commented Apr 25, 2018

20180425_141348
20180425_141338

hola otra ves ya soucine ese error pero ahora me sa uno como que no se pued conectar a la base de datos, ya la impresora cuando arranca imprime el ip pero por la direccion que sa no sale da 500 internal error

@dansanti
Copy link
Author

hola,
lo estas ejecutando con el usuario root, debes ejecutarlo con el usuario pi

@alexuvero
Copy link

hola muchas gracias por responder, yo lo que hise despues de esto fue crear el usuario pi en el sisttema y el rol root en postgres. por que comprobando la intruccion "adduser pi -s /sbin/nologin -p 'raspberry'" pude comprobar que en ubuntu 16.04 no funciona, entonces lo cree manual y movi todas las carpetas para /home/pi y despues me di cuenta que se trata de conectar con el rol root a postgresql, pues entonces lo cree y listo. , al no crea el usuario pi en el sistema un una de las primeras intrucciones de ai para alante ya ba mal, yo no tenia nada de experiencia en linux, y la personas que intentan ayudar no explican mucho quisas por falta de tiempo ,me parese que sobre un devian ese script funcionaria ala primera, aunque ademas hay que hacer unas modificaciones sensillas en dos archibos para la configuracion de las interfaces por que el nombre que busca no es el que asume ubuntu y esto hace que no vea la lan, yo quisiera hacer un pequeno tutorial recopilando la informacion que obtube de 3 personas mas que me sirvieron para hacer correr e posboxless, para que otras personas como yo no les de esto tanto trabajo, y publicar el script este tuyo con las modificaciones a mi entender para que funcione en ubuntu 16.04, no se si esto a ud le paresca bien. siempre atribuyendole a ud los meritos de haber creado el script, que ud cree, saludos

@dansanti
Copy link
Author

  • Algo mal puede que hayas hecho, porque yo lo uso en ubuntu 16.04 de esa forma.
  • Lo correcto sería crear una correción a este script, en agradecimiento a publicarlo por lo menos
  • También publicaré un tutorial, en cuanto afine unos temas en el módulo de punto de ventas

Saludos Cordiales

@mfj123
Copy link

mfj123 commented Sep 26, 2019

hola muchas gracias por responder, yo lo que hise despues de esto fue crear el usuario pi en el sisttema y el rol root en postgres. por que comprobando la intruccion "adduser pi -s /sbin/nologin -p 'raspberry'" pude comprobar que en ubuntu 16.04 no funciona, entonces lo cree manual y movi todas las carpetas para /home/pi y despues me di cuenta que se trata de conectar con el rol root a postgresql, pues entonces lo cree y listo. , al no crea el usuario pi en el sistema un una de las primeras intrucciones de ai para alante ya ba mal, yo no tenia nada de experiencia en linux, y la personas que intentan ayudar no explican mucho quisas por falta de tiempo ,me parese que sobre un devian ese script funcionaria ala primera, aunque ademas hay que hacer unas modificaciones sensillas en dos archibos para la configuracion de las interfaces por que el nombre que busca no es el que asume ubuntu y esto hace que no vea la lan, yo quisiera hacer un pequeno tutorial recopilando la informacion que obtube de 3 personas mas que me sirvieron para hacer correr e posboxless, para que otras personas como yo no les de esto tanto trabajo, y publicar el script este tuyo con las modificaciones a mi entender para que funcione en ubuntu 16.04, no se si esto a ud le paresca bien. siempre atribuyendole a ud los meritos de haber creado el script, que ud cree, saludos

Hola @alexuvero, primero que nada agradecer tu aporte en los comentarios es util para colegas como yo que estoy tratando de implementar possboxless, en mi caso estoy tratando de implementarlo en bunsenlabs-helium, pero me pasa que al iniciar el servicio da errores ... mi duda es si el usuario pi debo crearlo antes de ejecutar el script? alguna vez hiciste alguna version corregida del script? me seria muy util cualquier ayuda que me pudieras proporcionar...un saludos y agradecimientos a todos los colabores que hacen posible el desarrollo de odoo.

@dansanti
Copy link
Author

hola, esto está desactualizado, todo lo traspasé a gitlab, ahí en el script se crea el usuario

adduser pi -s /sbin/nologin -p 'raspberry'

ese código lo crea

@mfj123
Copy link

mfj123 commented Sep 26, 2019

hola, esto está desactualizado, todo lo traspasé a gitlab, ahí en el script se crea el usuario

adduser pi -s /sbin/nologin -p 'raspberry'

ese código lo crea

Hola Daniel, muchas gracias por responder y por tus grandes aportes a la comunidad odoo chile.
Ejecute correctamente el script en bunsenlabs Helium amd64 basado en debian, luego entro a localhost:8069 y me aparece la pagina de informacion indicando que posboxless esta ejecutandose y listo para configurarse, hecho esto procedo a crear la base de datos y durante el proceso me arroja el mensaje "could not execute command 'lessc', provocando que la web no cargue los estilos CSS ni JS.
Agradezco tu disposición, Salu2!

PBL
"

@mfj123
Copy link

mfj123 commented Sep 27, 2019

hola, esto está desactualizado, todo lo traspasé a gitlab, ahí en el script se crea el usuario
adduser pi -s /sbin/nologin -p 'raspberry'
ese código lo crea

Hola Daniel, muchas gracias por responder y por tus grandes aportes a la comunidad odoo chile.
Ejecute correctamente el script en bunsenlabs Helium amd64 basado en debian, luego entro a localhost:8069 y me aparece la pagina de informacion indicando que posboxless esta ejecutandose y listo para configurarse, hecho esto procedo a crear la base de datos y durante el proceso me arroja el mensaje "could not execute command 'lessc', provocando que la web no cargue los estilos CSS ni JS.
Agradezco tu disposición, Salu2!

PBL
"

Hola! solo comentarles que lo anterior lo solucione instalando el paquete node-less, pero ahora pasa que al iniciar odoo 11 en la pantalla de Aplicaciones dice, "Modulo no encontrado" y no me aparese pont of sale, solo puedo entrar al menu de ajustes:

plb

Salu2

@kelvingarger
Copy link

Hola todos,

Aunque no muy completo, pero es un post muy interesante.

En mi ignorante búsqueda veo que solo se puede en ambientes linux, es asi o ya han hecho alguna prueba en Windows 7, 10 con Odoo 12?

Gracias,

@dansanti
Copy link
Author

dansanti commented Jan 6, 2020

este está desactualizado, debes ir a gitlab

@alexuvero
Copy link

alexuvero commented Jan 8, 2020 via email

@dansanti
Copy link
Author

dansanti commented Jan 21, 2020

posiblemente dentro del mes suba el layout de cierre de caja , para mi módulo https://apps.odoo.com/apps/11.0/print_to_thermal/

@alexuvero
Copy link

alexuvero commented Jan 22, 2020 via email

@alexuvero
Copy link

alexuvero commented Jan 22, 2020 via email

@mfj123
Copy link

mfj123 commented Jan 22, 2020

hola mfj123 te agradeceria mucho si teine conocimento en el tema de los reportes me mandaras aguna documentacion mi correo personal es este alexuvero@gmail.com , que no se si los ves directamente. yo llevo, compra, ventas, tpv, contabilidad, inventario y cree mi propio nomenclador de cuentas ya que no hay una localizacion para cuba de odoo 12, todo me funciona aparntemente bien, pero los reportes financieros no me dan los numeros que quiero y no se como modificarlos, en estos ultimos tiempos no he tenido mucho tiempo para investigar, aparte que la internet aqui en cuba tambien es cara, por eso le agradeceria si tiene alguna documetacion que me pueda ayudar me la hiciera llegar, gracias de ante manos . mis saludos mi faseboock es alexander angulo gomez y mi whatsap 535352393571. mis saludos El jue., 26 sept. 2019 a las 11:55, mfj123 (notifications@github.com) escribió:

hola muchas gracias por responder, yo lo que hise despues de esto fue crear el usuario pi en el sisttema y el rol root en postgres. por que comprobando la intruccion "adduser pi -s /sbin/nologin -p 'raspberry'" pude comprobar que en ubuntu 16.04 no funciona, entonces lo cree manual y movi todas las carpetas para /home/pi y despues me di cuenta que se trata de conectar con el rol root a postgresql, pues entonces lo cree y listo. , al no crea el usuario pi en el sistema un una de las primeras intrucciones de ai para alante ya ba mal, yo no tenia nada de experiencia en linux, y la personas que intentan ayudar no explican mucho quisas por falta de tiempo ,me parese que sobre un devian ese script funcionaria ala primera, aunque ademas hay que hacer unas modificaciones sensillas en dos archibos para la configuracion de las interfaces por que el nombre que busca no es el que asume ubuntu y esto hace que no vea la lan, yo quisiera hacer un pequeno tutorial recopilando la informacion que obtube de 3 personas mas que me sirvieron para hacer correr e posboxless, para que otras personas como yo no les de esto tanto trabajo, y publicar el script este tuyo con las modificaciones a mi entender para que funcione en ubuntu 16.04, no se si esto a ud le paresca bien. siempre atribuyendole a ud los meritos de haber creado el script, que ud cree, saludos Hola @alexuvero https://github.com/alexuvero, primero que nada agradecer tu aporte en los comentarios es util para colegas como yo que estoy tratando de implementar possboxless, en mi caso estoy tratando de implementarlo en bunsenlabs-helium, pero me pasa que al iniciar el servicio da errores ... mi duda es si el usuario pi debo crearlo antes de ejecutar el script? alguna vez hiciste alguna version corregida del script? me seria muy util cualquier ayuda que me pudieras proporcionar...un saludos y agradecimientos a todos los colabores que hacen posible el desarrollo de odoo. — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://gist.github.com/8ae97534f97c9b30c49e223c94aa39f9?email_source=notifications&email_token=AJFSONFCOXHXLFPD64D5XODQLTLOPA5CNFSM4I235WI2YY3PNVWWK3TUL52HS4DFVNDWS43UINXW23LFNZ2KUY3PNVWWK3TUL5UWJTQAFZOIU#gistcomment-3038346, or mute the thread https://github.com/notifications/unsubscribe-auth/AJFSONG6V2JIPQJO3HTOD3DQLTLOPANCNFSM4I235WIQ .
-- ing. Manuel Alexander Angulo Gómez, web: www.eluvero.phpnet.us

Hola Alex, de reportes aun no se nada...Solo he podido instalar odoo8 en ubuntu 14 desktop, corriendo en un docker y con base de datos en el sistema host.
Actualmente estoy tratando de instalar posboxless en ubuntu 16 desktop (limpio) usando el script de daniel de gitlab, pero al ejecutarlo solo me crea el usuario pi y me reinicia la maquina sin instalar nada.

Espero podamos colaborar y sacar adelante nuestras implementaciones de odoo y retroalimentar a quienes lo necesiten.
Salu2 a to2

@keadanis
Copy link

Hola, alguien ha configurado el posboxless con impresoras de red?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment