# API аккаунтов Сплит-тренера: только стандартная библиотека Python, без сторонних пакетов. FROM python:3.13-slim ENV PYTHONUNBUFFERED=1 \ PYTHONDONTWRITEBYTECODE=1 \ DB_PATH=/data/splitapi.sqlite3 \ BIND=0.0.0.0 \ PORT=8000 WORKDIR /app COPY server/splitapi /app/splitapi # Без root-прав; /data - единственное место для записи (том с базой SQLite) RUN useradd --system --uid 10001 --no-create-home --shell /usr/sbin/nologin app \ && mkdir /data && chown 10001:10001 /data USER 10001 EXPOSE 8000 VOLUME /data HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 CMD ["python", "-m", "splitapi", "--healthcheck"] CMD ["python", "-m", "splitapi"]