FROM ubuntu:24.04
MAINTAINER Digicoop <contact@digicoop.io>

ENV DEBIAN_FRONTEND noninteractive
RUN sed -i 's/^#\s*\(deb.*universe\)$/\1/g' /etc/apt/sources.list && \
    sed -i 's/^#\s*\(deb.*multiverse\)$/\1/g' /etc/apt/sources.list && \
    apt-get -y update && \
    dpkg-divert --local --rename --add /sbin/initctl && \
    ln -sf /bin/true /sbin/initctl && \
    dpkg-divert --local --rename --add /usr/bin/ischroot && \
    ln -sf /bin/true /usr/bin/ischroot && \
    apt-get -y upgrade

RUN apt-get install -y locales && \
    sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
    locale-gen
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8

RUN apt-get update && \
    apt-get install -y git procps lsb-release software-properties-common build-essential pkg-config libxml2-dev libxslt1-dev \
                       libjpeg-dev zlib1g-dev wget unzip libssl-dev libjson-c-dev \
                       libcurl4-openssl-dev libpq-dev libldap2-dev libsasl2-dev libffi-dev \
                       libxmlsec1-dev libxmlsec1-openssl libbz2-dev \
                       libreadline-dev libsqlite3-dev libncursesw5-dev xz-utils tk-dev liblzma-dev \
                       gettext curl translate-toolkit zip redis-tools nano

RUN echo "deb http://apt.postgresql.org/pub/repos/apt/ noble-pgdg main" > /etc/apt/sources.list.d/pgdg.list && \
    wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - && \
    apt-get update && \
    apt-get install -y postgresql-client-12 libpq-dev

RUN add-apt-repository ppa:deadsnakes/ppa && \
    apt update && \
    apt install -y python3.10 python3.10-venv python3.10-dev

RUN apt-get clean

#-----------------

ADD . /app
RUN mkdir -p /uploads
WORKDIR /app
RUN /app/platform install-venv
RUN touch /app/license
RUN echo "not_empty_value: true" > /app/config.yml

EXPOSE 5000 4000
VOLUME ["/uploads", "/var/logs"]
ENTRYPOINT ["/app/docker-entrypoint.sh"]
CMD ["upgrade-db-and-run"]
