FROM python:3.12-slim

LABEL maintainer='<author>'
LABEL version='0.0.0-dev.0-build.0'

ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1

WORKDIR /code

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

COPY . /code
RUN useradd --system --create-home --shell /usr/sbin/nologin webssh && \
  mkdir -p /data && \
  chown -R webssh:webssh /code /data

EXPOSE 8888/tcp
USER webssh
CMD ["python", "run.py", "--address=0.0.0.0", "--port=8888", "--data-dir=/data"]
