Dockerfile 2.0KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. FROM debian:jessie
  2. MAINTAINER contact@algoo.fr
  3. # TODO: See GOOD PRATICE (remove apt lists, cache, etc)
  4. # Install required packages
  5. RUN apt-get update -q \
  6. && DEBIAN_FRONTEND=noninteractive apt-get install -yq --no-install-recommends \
  7. git \
  8. locales \
  9. realpath \
  10. python3 \
  11. python3-dev \
  12. python3-pip \
  13. build-essential \
  14. libxml2-dev \
  15. libxslt1-dev \
  16. python-lxml \
  17. postgresql-server-dev-all \
  18. postgresql \
  19. postgresql-client \
  20. uwsgi \
  21. uwsgi-plugin-python3 \
  22. mysql-client \
  23. libmysqld-dev \
  24. sqlite3 \
  25. nginx \
  26. redis-server
  27. # Ensure UTF-8
  28. RUN locale-gen en_US.UTF-8 en_us \
  29. && dpkg-reconfigure locales \
  30. && locale-gen C.UTF-8 \
  31. && /usr/sbin/update-locale LANG=C.UTF-8
  32. ENV LANG C.UTF-8
  33. ENV LANGUAGE C.UTF-8
  34. ENV LC_ALL C.UTF-8
  35. # Download and install Tracim
  36. RUN git clone https://github.com/tracim/tracim.git \
  37. && cd /tracim/tracim \
  38. && python3 setup.py develop \
  39. && cd /tracim \
  40. && pip3 install -r install/requirements.txt\
  41. && pip3 install https://launchpad.net/oursql/py3k/py3k-0.9.4/+download/oursql-0.9.4.zip \
  42. && echo 20161216001
  43. # Prepare volumes
  44. RUN mkdir /etc/tracim \
  45. && mkdir /var/tracim \
  46. && mkdir /var/tracim/logs \
  47. && mkdir /var/tracim/assets
  48. VOLUME ["/etc/tracim", "/var/tracim"]
  49. COPY uwsgi.ini /etc/tracim/uwsgi.ini
  50. COPY nginx.conf /etc/tracim/nginx.conf
  51. COPY wsgi.py /tracim/tracim/wsgi.py
  52. COPY check_env_vars.sh /tracim/check_env_vars.sh
  53. COPY entrypoint.sh /tracim/entrypoint.sh
  54. RUN ln -s /etc/tracim/uwsgi.ini /etc/uwsgi/apps-available/tracim.ini && \
  55. ln -s /etc/uwsgi/apps-available/tracim.ini /etc/uwsgi/apps-enabled/tracim.ini && \
  56. ln -s /etc/tracim/nginx.conf /etc/nginx/sites-available/tracim.conf && \
  57. ln -s /etc/nginx/sites-available/tracim.conf /etc/nginx/sites-enabled/tracim.conf && \
  58. chown root:www-data -R /var/tracim/logs && \
  59. chmod 775 -R /var/tracim/logs && \
  60. rm /etc/nginx/sites-enabled/default
  61. CMD ["/tracim/entrypoint.sh"]