diff --git a/iotbox/Dockerfile.arm64v8 b/iotbox/Dockerfile.arm64v8 new file mode 100644 index 0000000..0dcf227 --- /dev/null +++ b/iotbox/Dockerfile.arm64v8 @@ -0,0 +1,93 @@ +FROM arm64v8/odoo:12 + +USER root + +## Dependencies for iotbox +## See also https://github.com/odoo/odoo/blob/master/addons/point_of_sale/tools/posbox/overwrite_before_init/etc/init_posbox_image.sh +RUN set -x; apt-get update \ + && apt-get -y install --no-install-recommends \ + bluez \ + cups \ + cups-ipp-utils \ + dbus \ + gcc \ + git \ + libcups2-dev \ + python3-babel \ + python3-dateutil \ + python3-dbus \ + python3-decorator \ + python3-dev \ + python3-docutils \ + python3-feedparser \ + python3-gi \ + python3-html2text \ + python3-jinja2 \ + python3-ldap3 \ + python3-libsass \ + python3-lxml \ + python3-mako \ + python3-mock \ + python3-netifaces \ + python3-openid \ + python3-passlib \ + python3-pil \ + python3-pip \ + python3-psutil \ + python3-psycopg2 \ + python3-pydot \ + python3-pyparsing \ + python3-pypdf2 \ + python3-pyscard \ + python3-qrcode \ + python3-reportlab \ + python3-requests \ + python3-serial \ + python3-simplejson \ + python3-simplejson \ + python3-tz \ + python3-unittest2 \ + python3-urllib3 \ + python3-vatnumber \ + python3-werkzeug \ + python3-wheel \ + && rm -rf /var/lib/apt/lists/* \ + && mkdir -p /opt/posbox/addons \ + && chown -R odoo.odoo /opt/posbox \ + && mkdir /usr/lib/python3/dist-packages/odoo/addons/hw_drivers/drivers + +RUN pip3 install \ + evdev \ + gatt \ + phonenumbers \ + polib \ + pycups \ + pyusb==1.0.0b1 \ + v4l2 + +# Add odoo.conf which sets addons path +COPY odoo.conf /etc/odoo/odoo.conf + +## Get pos-addons for pos_printer_network +RUN git clone --depth=1 -b 12.0 https://github.com/it-projects-llc/pos-addons.git \ + /opt/posbox/addons \ + && git clone --depth=1 -b 12.0 https://github.com/camptocamp/odoo-cloud-platform.git \ + /opt/posbox/cloud-addons + +## Apply some patches +COPY patches/*.patch /tmp/ +# See https://bugs.launchpad.net/python-v4l2/+bug/1664158 +RUN patch -p0 /usr/local/lib/python3.5/dist-packages/v4l2.py < /tmp/python-v4l2-1664158-fix.patch \ + # Disable Bluetooth in driver, doesn't work in Docker and isn't needed for the PoS use-case + && patch -p0 /usr/lib/python3/dist-packages/odoo/addons/hw_drivers/controllers/driver.py < /tmp/disable-bluetooth-driver.patch \ + # Start CUPS - IoTBox connects to it and complains if it isn't running + && patch -p0 /entrypoint.sh < /tmp/start-cups.patch \ + # Strings must be UTF-8 for correct printing + && patch -p0 /usr/lib/python3/dist-packages/odoo/addons/hw_escpos/escpos/printer.py < /tmp/utf8-to-printer.patch \ + # Disable log messages about disconnected drivers - unneeded and clutters logfile with useless messages + && patch -p0 /usr/lib/python3/dist-packages/odoo/addons/hw_escpos/controllers/main.py < /tmp/disable-disconnected-logging.patch \ + # Add cashbox networking support + && patch -p0 /opt/posbox/addons/hw_printer_network/controllers/hw_printer_network_controller.py < /tmp/cashbox-net.patch + +## Cannot switch to Odoo as CUPS must run as root and CUPS must run - otherwise IoTBox complains +#USER odoo diff --git a/odoo/Dockerfile.arm64v8 b/odoo/Dockerfile.arm64v8 new file mode 100644 index 0000000..83be0bc --- /dev/null +++ b/odoo/Dockerfile.arm64v8 @@ -0,0 +1,19 @@ +FROM arm64v8/odoo:12 + +USER root + +## Get pos-addons for pos_printer_network +RUN set -x; apt-get update \ + && apt-get -y install --no-install-recommends git \ + && rm -rf /var/lib/apt/lists/* \ + && git clone --depth=1 -b 12.0 https://github.com/it-projects-llc/pos-addons.git \ + /opt/posbox/pos-addons \ + && git clone --depth=1 -b 12.0 https://github.com/camptocamp/odoo-cloud-platform.git \ + /opt/posbox/cloud-addons + +COPY odoo.conf /etc/odoo/odoo.conf +COPY addons/ /opt/posbox/extra-addons + +RUN chown -R odoo.odoo /opt/posbox + +USER odoo