ARG VERSION=0.8.13
# В версии 0.9.0 был замечен баг при использовании ftp через http прокси.
# Тело ответа обрезается и данные теряются. Не рекомендуется ставить более свежие версии

FROM registry.yandex.net/ubuntu:bionic as builder

ARG VERSION
RUN apt-get update && \
    apt-get install -y build-essential && \
    apt-get clean

RUN cd / && \
    wget -q  https://github.com/z3APA3A/3proxy/archive/${VERSION}.tar.gz && \
    tar -xf ${VERSION}.tar.gz && \
    cd 3proxy-${VERSION} && \
    make -f Makefile.Linux

FROM registry.yandex.net/ubuntu:bionic

RUN apt-get update && apt-get install -y \
        python2.7 \
        python-pip \
        python-virtualenv \
        python-setuptools \
        curl \
        net-tools \
        tcpdump \
        lsof \
        telnet \
        htop \
        iotop \
        mc \
        ncdu \
        dnsutils \
        iptables \
        atop \
        screen \
        strace \
        libcap2-bin \
        netcat-openbsd \
        iproute2 \
        vim


RUN pip -q install --upgrade pip~=9.0 setuptools==41.0.1

# Supervisor
RUN pip install supervisor==3.3.3 && mkdir /var/log/supervisor
COPY docker/supervisor/supervisord.conf /etc/supervisor/supervisord.conf
COPY docker/supervisor/conf.d/* /etc/supervisor/conf.d/
RUN mkdir -p /var/log/supervisor/apps/


# 3proxy
ARG VERSION
ARG CONFIG_FILE=/etc/3proxy/cfg/3proxy.cfg

RUN mkdir -p /etc/3proxy/cfg

COPY --from=builder /3proxy-${VERSION}/src/3proxy /etc/3proxy/
COPY docker/3proxy/generate_config.py /generate_config.py

RUN chmod -R +x /etc/3proxy/3proxy


EXPOSE 80 8021

ENV RASP_PROXY_CONFIG_FILE ${CONFIG_FILE}

CMD python3 /generate_config.py && exec supervisord -c /etc/supervisor/supervisord.conf
