FROM python:3.11-slim-bookworm

WORKDIR /app

RUN set -eux; \
    for i in 1 2 3 4 5; do \
      apt-get update -o Acquire::Retries=3 && \
      apt-get install -y --fix-missing -o Acquire::Retries=3 --no-install-recommends openssh-server nano && \
      break || sleep 5; \
    done; \
    rm -rf /var/lib/apt/lists/*; \
    mkdir -p /var/run/sshd; \
    mkdir -p /etc/ssh/sshd_config.d

COPY requirements.txt /app/requirements.txt
RUN pip install --no-cache-dir -r /app/requirements.txt

COPY app.py /app/proxy/app.py
COPY .env /app/proxy/.env
COPY templates /app/proxy/templates
COPY static /app/proxy/static
COPY entrypoint.sh /usr/local/bin/entrypoint
COPY proxy_manager.sh /usr/local/bin/proxy_manager
COPY restart_proxy.sh /usr/local/bin/restart_proxy

RUN chmod +x /usr/local/bin/entrypoint /usr/local/bin/proxy_manager /usr/local/bin/restart_proxy \
    && echo 'alias restart_proxy="/usr/local/bin/restart_proxy"' >/etc/profile.d/proxy_alias.sh

ENV PYTHONUNBUFFERED=1

CMD ["/usr/local/bin/entrypoint"]
