Files
linux-odyssey/quests/Dockerfile
T

36 lines
1015 B
Docker

FROM golang:1.24-alpine AS cmd-hook-builder
WORKDIR /app
COPY ./services/cmd-hook/go.mod ./
RUN go mod download
COPY ./services/cmd-hook/*.go ./
RUN go build -o cmd-hook
FROM golang:1.24-alpine AS terminal-builder
WORKDIR /app
COPY ./services/terminal-service/go.mod ./
COPY ./services/terminal-service/go.sum ./
RUN go mod download
COPY ./services/terminal-service/*.go ./services/terminal-service/index.html ./
RUN go build -o terminal-service
FROM debian:bookworm-slim AS main
LABEL maintainer="wancat@wancat.cc"
RUN apt-get update && apt-get install -y \
vim \
zsh \
sudo \
&& rm -rf /var/lib/apt/lists/* \
&& rm -rf /var/cache/apt/*
COPY ./quests/.includes/zshrc /etc/zsh/zshrc
RUN rm -rf /etc/skel && mkdir -p /etc/skel
COPY ./quests/entrypoint.sh /entrypoint.sh
COPY --from=cmd-hook-builder /app/cmd-hook /usr/local/lib/cmd-hook/cmd-hook
COPY --from=terminal-builder /app/terminal-service /usr/local/lib/terminal-service/terminal-service
EXPOSE 9090
ENTRYPOINT ["/bin/sh", "/entrypoint.sh"]