FROM python:3.14-alpine@sha256:eb2c62658b8d51bff0acc408504b76521d02030de56a8a3c1e830083e89b89d2
ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1
WORKDIR /app
COPY Deploy/requirements-hosted.txt /tmp/requirements.txt
RUN apk upgrade --no-cache \
    && pip install --no-cache-dir --require-hashes -r /tmp/requirements.txt \
    && python -m pip uninstall -y pip \
    && python -c "import pathlib, shutil, sysconfig; shutil.rmtree(pathlib.Path(sysconfig.get_path('stdlib')) / 'ensurepip')" \
    && addgroup -g 10001 slopdock && adduser -D -u 10001 -G slopdock slopdock \
    && mkdir /data && chown 10001:10001 /data
COPY Backend/islik.py Backend/hosted.py Backend/remote_mcp.py /app/Backend/
COPY Website /app/Website
USER 10001:10001
CMD ["gunicorn", "--chdir", "/app/Backend", "--no-control-socket", "--bind", "0.0.0.0:18474", "--workers", "1", "--threads", "4", "--worker-connections", "32", "--timeout", "30", "--keep-alive", "2", "--umask", "0o077", "--max-requests", "1000", "--max-requests-jitter", "100", "--limit-request-line", "2048", "--limit-request-fields", "40", "--limit-request-field_size", "4096", "--forwarded-allow-ips", "", "--access-logfile", "/dev/null", "hosted:create_app()"]
