Dockerfile 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. FROM python:2.7.11-alpine
  2. # If set only these languages will be included. Format:
  3. # <language_code> or <language_code>\|<language_code>
  4. ARG LANGUAGES
  5. # Install less compiler
  6. RUN apk add --update nodejs \
  7. && npm install -g less less-plugin-clean-css \
  8. && ln -s `which nodejs` /bin/node \
  9. && ln -s `which lessc` /bin/lessc
  10. # Install Wk<html>TOpdf
  11. RUN apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing wkhtmltopdf
  12. RUN apk add --no-cache xvfb ttf-dejavu ttf-freefont fontconfig dbus
  13. #COPY bin/wkhtmltox.sh /usr/local/bin/wkhtmltoimage
  14. #RUN ln /usr/local/bin/wkhtmltoimage /usr/local/bin/wkhtmltopdf
  15. # Install Odoo and it's dependencies in one go
  16. ENV ODOO_BRANCH 8.0
  17. RUN apk add --update tar curl alpine-sdk postgresql-client postgresql postgresql-dev \
  18. python-dev jpeg jpeg-dev zlib-dev libxml2-dev libxslt libxml2 \
  19. libxslt-dev openldap-dev libffi-dev linux-headers git \
  20. && mkdir /opt \
  21. && cd /opt/ \
  22. && git clone --branch ${ODOO_BRANCH} --depth 1 --progress https://github.com/odoo/odoo.git \
  23. && cd odoo/ \
  24. && if [ "${LANGUAGES}" != "" ]; then \
  25. find . -regex "^\./.*/i18n/.*\.po$" ! -regex "^\./.*/i18n/\(${LANGUAGES}\)\.po$" -exec rm -f {} \; ; \
  26. fi \
  27. && pip install --upgrade pip \
  28. && CFLAGS="$CFLAGS -L/lib" pip install --no-cache-dir pillow \
  29. && pip install --no-cache-dir . \
  30. && pip install --upgrade \
  31. cryptography \
  32. inotify \
  33. watchdog \
  34. psycogreen \
  35. psycopg2 \
  36. gevent \
  37. pyinotify \
  38. num2words \
  39. phonenumbers \
  40. && adduser -S odoo \
  41. && chown -R odoo /opt/odoo \
  42. && cp /usr/bin/pg_dump /tmp \
  43. && cp /usr/bin/pg_restore /tmp \
  44. && apk del tar curl alpine-sdk postgresql postgresql-dev python-dev jpeg-dev \
  45. zlib-dev libxml2-dev libxslt-dev openldap-dev linux-headers git \
  46. && mv /tmp/pg_dump /usr/bin/pg_dump \
  47. && mv /tmp/pg_restore /usr/bin/pg_restore
  48. #RUN if [ ! -f /urs/local/bin/openerp-gevent ]; then \
  49. # curl -o /usr/local/bin/openerp-gevent -SL https://raw.githubusercontent.com/odoo/odoo/${ODOO_BRANCH}/openerp-gevent \
  50. # && chmod a+x /usr/local/bin/openerp-gevent \
  51. # ; fi
  52. # Create additional Odoo directories
  53. RUN mkdir -p /var/lib/odoo /etc/odoo /opt/odoo/custom-addons \
  54. && chown odoo /var/lib/odoo /etc/odoo /opt/odoo/custom-addons
  55. # Create Odoo configuration
  56. COPY ./openerp-server.conf /etc/odoo/
  57. RUN chown odoo /etc/odoo/openerp-server.conf
  58. ENV OPENERP_SERVER /etc/odoo/openerp-server.conf
  59. COPY ./entrypoint.sh /
  60. # Mount
  61. VOLUME ["/var/lib/odoo", "/opt/odoo/custom-addons"]
  62. # Expose Odoo services
  63. EXPOSE 8069 8071
  64. USER odoo
  65. ENTRYPOINT ["/entrypoint.sh"]
  66. CMD ["openerp-server"]