# Build image
FROM buildpack-deps:bookworm AS builder
WORKDIR /build
RUN wget https://go.dev/dl/go1.24.3.linux-amd64.tar.gz && \
rm -rf /usr/local/go && \
tar -C /usr/local -xzf go1.24.3.linux-amd64.tar.gz && \
rm go1.24.3.linux-amd64.tar.gz
COPY . .
RUN /usr/local/go/bin/go build -o app .
# Final image with dev tools for terminal
FROM buildpack-deps:bookworm
# Install development tools for terminal execution
RUN apt-get update && apt-get install -y --no-install-recommends \
python3 \
python3-pip \
python3-venv \
nodejs \
npm \
&& rm -rf /var/lib/apt/lists/*
# Install Go for users to run go commands
RUN wget https://go.dev/dl/go1.24.3.linux-amd64.tar.gz && \
tar -C /usr/local -xzf go1.24.3.linux-amd64.tar.gz && \
rm go1.24.3.linux-amd64.tar.gz
ENV PATH="/usr/local/go/bin:${PATH}"
ENV PORT=5000
# Create workspace directory
RUN mkdir -p /tmp/skycode
COPY --from=builder /build/app /root/app
ENTRYPOINT ["/root/app"]