29 lines
712 B
Docker
29 lines
712 B
Docker
FROM python:3.14-alpine
|
|
|
|
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
|
|
|
|
ENV PYTHONUNBUFFERED=1 \
|
|
PYTHONDONTWRITEBYTECODE=1 \
|
|
UV_COMPILE_BYTECODE=0 \
|
|
UV_LINK_MODE=copy \
|
|
UV_PYTHON_DOWNLOADS=never \
|
|
UV_PROJECT_ENVIRONMENT=/opt/venv \
|
|
PATH="/opt/venv/bin:$PATH"
|
|
|
|
WORKDIR /app
|
|
|
|
COPY pyproject.toml uv.lock ./
|
|
RUN apk add --no-cache --virtual .build-deps gcc musl-dev linux-headers python3-dev \
|
|
&& uv sync --locked --no-dev --no-install-project \
|
|
&& apk del .build-deps
|
|
|
|
COPY . .
|
|
|
|
RUN chmod +x colonyctl.py && ln -s /app/colonyctl.py /usr/local/bin/colonyctl
|
|
|
|
VOLUME ["/app/data", "/app/storages", "/app/logs"]
|
|
|
|
EXPOSE 65334/tcp 28149/tcp 8080/tcp
|
|
|
|
CMD ["python", "main.py"]
|