mirror of
https://github.com/Gouryella/drip.git
synced 2026-02-23 21:00:44 +00:00
Added predefined tunnel functionality, allowing users to define multiple tunnels in the configuration file and start them by name, including the following improvements: - Added --all flag to start all configured tunnels - Added parameterless start command to list available tunnels - Support configuration of multiple tunnel types (http, https, tcp) - Support advanced configurations such as subdomains, transport protocols, and IP allowlists refactor(deployments): Refactor Docker deployment configuration Removed old Dockerfile and Compose configurations, added new deployment files: - Removed .env.example and old Docker build files - Added Caddy reverse proxy configuration file - Added two deployment modes: standard and Caddy reverse proxy - Added detailed server configuration example files docs: Update documentation to include tunnel configuration and deployment guide Updated Chinese and English README documents: - Added usage instructions and configuration examples for predefined tunnels - Expanded server deployment section to include direct TLS and reverse proxy modes - Added server configuration reference table with detailed configuration item descriptions - Added specific configuration methods for Caddy and Nginx reverse proxies
49 lines
1.1 KiB
Docker
49 lines
1.1 KiB
Docker
# =========================
|
|
# Builder stage
|
|
# =========================
|
|
FROM golang:1.25-alpine AS builder
|
|
|
|
RUN apk add --no-cache ca-certificates tzdata
|
|
|
|
WORKDIR /app
|
|
COPY go.mod go.sum ./
|
|
RUN go mod download
|
|
|
|
COPY . .
|
|
|
|
# Version passed from build args
|
|
ARG VERSION=dev
|
|
|
|
# Buildx injects these automatically for multi-arch builds
|
|
ARG TARGETOS
|
|
ARG TARGETARCH
|
|
|
|
RUN CGO_ENABLED=0 GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH:-amd64} \
|
|
go build -trimpath \
|
|
-ldflags "-s -w -X main.version=${VERSION}" \
|
|
-o /app/bin/drip \
|
|
./cmd/drip
|
|
|
|
# =========================
|
|
# Runtime stage
|
|
# =========================
|
|
FROM alpine:latest
|
|
|
|
RUN apk add --no-cache ca-certificates tzdata && \
|
|
update-ca-certificates
|
|
|
|
WORKDIR /app
|
|
|
|
COPY --from=builder /etc/ssl/certs /etc/ssl/certs
|
|
COPY --from=builder /usr/share/zoneinfo /usr/share/zoneinfo
|
|
COPY --from=builder /app/bin/drip /app/drip
|
|
|
|
RUN addgroup -S drip && adduser -S -G drip drip && \
|
|
mkdir -p /app/data/certs && \
|
|
chown -R drip:drip /app
|
|
|
|
USER drip
|
|
|
|
ENTRYPOINT ["/app/drip"]
|
|
CMD ["server", "-c", "/app/config.yaml"]
|