FROM alpine:3.24 ENV PYTHONDONTWRITEBYTECODE=1 \ PYTHONUNBUFFERED=1 \ PIP_DISABLE_PIP_VERSION_CHECK=1 \ PIP_NO_CACHE_DIR=1 \ RBCS_HOST=0.0.0.0 \ RBCS_PORT=8080 \ RBCS_MEMCACHE_HOST=memcached \ RBCS_MEMCACHE_PORT=11211 RUN apk add --no-cache python3 WORKDIR /opt/kaya-rbcs COPY requirements.txt ./ RUN python3 -m venv /opt/venv \ && /opt/venv/bin/pip install -r requirements.txt COPY pyproject.toml README.md ./ COPY src ./src RUN /opt/venv/bin/pip install --no-deps . RUN addgroup -S rbcs \ && adduser -S -G rbcs rbcs \ && chown -R rbcs:rbcs /opt/kaya-rbcs /opt/venv ENV PATH="/opt/venv/bin:${PATH}" USER rbcs EXPOSE 8080 HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \ CMD python3 -c "import socket, os; socket.create_connection(('127.0.0.1', int(os.environ['RBCS_PORT'])), timeout=3).close()" ENTRYPOINT ["rbcs-server"]