FROM ghcr.io/astral-sh/uv:0.5.24@sha256:2381d6aa60c326b71fd40023f921a0a3b8f91b14d5db6b90402e65a635053709 AS uv
FROM python:3.11-slim@sha256:6ed5bff4d7d377e2a27d9285553b8c21cfccc4f00881de1b24c9bc8d90016e82 AS python

FROM mcr.microsoft.com/vscode/devcontainers/base:bookworm@sha256:6155a486f236fd5127b76af33086029d64f64cf49dd504accb6e5f949098eb7e
LABEL repository="www.coastalcommits.com/cswimr/SeaCogs"
LABEL maintainer="cswimr <seaswimmerthefsh@gmail.com>"

RUN apt-get update; \
    apt-get install -y --no-install-recommends \
    # Red-DiscordBot
    build-essential \
    git \
    # PyNaCl
    libsodium-dev \
    # CFFI
    libffi-dev \
    # SSH repository support
    openssh-client \
    # Cog dependencies
    # Audio
    openjdk-17-jre-headless \
    # PyLav
    libaio1 \
    libaio-dev \
    # SeaUtils
    dnsutils; \
    apt-get clean; \
    rm -rf /var/lib/apt/lists/*

COPY --from=uv --chown=vscode: /uv /uvx /bin/
COPY --from=python --chown=vscode: /usr/local /usr/local

RUN ln -s /usr/local/bin/python3.11 /usr/local/bin/python; \
    python --version; \
    python -m ensurepip
