desk / Dockerfile
github-actions
deploy
30fe48c
Raw
History Blame Contribute Delete
1.21 kB
FROM golang:1.22-alpine AS builder
WORKDIR /build/ws-proxy
COPY ws-proxy/ .
RUN go mod tidy
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o /out/ws-proxy-linux-amd64 .
RUN CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -ldflags="-s -w" -o /out/ws-proxy-linux-arm64 .
RUN CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -ldflags="-s -w" -o /out/ws-proxy-darwin-amd64 .
RUN CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -ldflags="-s -w" -o /out/ws-proxy-darwin-arm64 .
WORKDIR /build/ws-bridge
COPY ws-bridge/ .
RUN go mod tidy
RUN CGO_ENABLED=0 go build -ldflags="-s -w" -o /out/ws-bridge .
FROM archlinux:latest
RUN pacman -Syu --noconfirm openssh git && \
pacman -Scc --noconfirm
RUN mkdir -p /run/sshd && \
sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config && \
sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config && \
sed -i 's/#PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config
WORKDIR /root
COPY --from=builder /out/ws-proxy-* /opt/binaries/
COPY --from=builder /out/ws-bridge /opt/ws-bridge
COPY entrypoint.sh /opt/entrypoint.sh
RUN chmod +x /opt/entrypoint.sh
EXPOSE 7860
ENTRYPOINT ["/opt/entrypoint.sh"]