| | FROM golang:bookworm as builder |
| | WORKDIR /go/src |
| | EXPOSE 8080 |
| |
|
| | |
| | RUN apt-get update && apt-get install -y git build-essential |
| |
|
| | |
| | COPY go.mod go.sum ./ |
| | COPY warp.go server.go ./ |
| |
|
| | |
| | RUN go mod download && go mod tidy |
| |
|
| | |
| | RUN CGO_ENABLED=0 GOOS=linux \ |
| | go build -a -installsuffix cgo -ldflags '-s' -o warp warp.go && \ |
| | go build -a -installsuffix cgo -ldflags '-s' -o server server.go |
| |
|
| | FROM ubuntu:22.04 |
| |
|
| | |
| | COPY --from=builder /go/src/warp /usr/local/bin/ |
| | COPY --from=builder /go/src/server /usr/local/bin/ |
| | COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ |
| |
|
| | COPY entrypoint.sh /usr/local/bin/ |
| |
|
| | |
| | RUN apt-get update && apt-get install -y --no-install-recommends \ |
| | bash \ |
| | curl \ |
| | ca-certificates \ |
| | unzip \ |
| | ffmpeg \ |
| | && rm -rf /var/lib/apt/lists/* \ |
| | && curl -fsSL https://deno.land/x/install/install.sh | sh \ |
| | && mv /root/.deno/bin/deno /usr/local/bin/deno \ |
| | && chmod +x /usr/local/bin/entrypoint.sh |
| |
|
| | |
| | WORKDIR /app |
| | COPY deno.json deno.lock compile.env grafana_dashboard.json ./ |
| | COPY config ./config |
| | COPY src ./src |
| |
|
| | ENV DAEMON_MODE false |
| | ENV PROXY_UP "" |
| | ENV PROXY_PORT "8080" |
| | ENV PROXY_USER "" |
| | ENV PROXY_PASS "" |
| | ENV WIREGUARD_UP "" |
| | ENV WIREGUARD_CONFIG "" |
| | ENV WIREGUARD_INTERFACE_PRIVATE_KEY "" |
| | ENV WIREGUARD_INTERFACE_DNS "1.1.1.1" |
| | ENV WIREGUARD_INTERFACE_ADDRESS "" |
| | ENV WIREGUARD_PEER_PUBLIC_KEY "" |
| | ENV WIREGUARD_PEER_ALLOWED_IPS "0.0.0.0/0" |
| | ENV WIREGUARD_PEER_ENDPOINT "" |
| |
|
| | ENTRYPOINT [ "entrypoint.sh" ] |
| |
|