[优化] 修复 Docker 启动

This commit is contained in:
ryan
2026-06-01 11:35:15 +08:00
parent fce2e014e5
commit c4e9e94117
3 changed files with 43 additions and 8 deletions
+14
View File
@@ -19,5 +19,19 @@ services:
OPENFLARE_AGENT_TOKEN: "07800f31d3f181e65d18dca1407d821c"
LOG_LEVEL: "debug"
extra_hosts:
- "host.docker.internal:host-gateway"
openflare-relay:
build:
context: .
dockerfile: openflare_relay/Dockerfile
container_name: openflare-relay
network_mode: host
restart: unless-stopped
environment:
OPENFLARE_SERVER_URL: http://host.docker.internal:3000
OPENFLARE_DISCOVERY_TOKEN: 85464eeb72c49abc430569d6b9c77f78
LOG_LEVEL: "debug"
extra_hosts:
- "host.docker.internal:host-gateway"
+17 -6
View File
@@ -3,19 +3,30 @@ FROM golang:1.25-alpine AS builder
WORKDIR /build
COPY openflare_relay/go.mod openflare_relay/go.sum ./
# Note: In a real monorepo build, openflare and openflare_server need to be available.
# For now, we assume this is built from the root of the project where both are present.
COPY openflare_server /openflare_server
COPY openflare_relay /openflare_relay
WORKDIR /openflare_relay
RUN go build -o openflare-relay ./cmd/relay
RUN CGO_ENABLED=0 GOOS=linux go build -o openflare-relay ./cmd/relay
FROM fatedier/frps:v0.69.0
# Extract frps binary from official image
FROM fatedier/frps:v0.69.0 AS frps
# Final runtime image
FROM alpine:latest
RUN apk --no-cache add ca-certificates tzdata
# Copy openflare-relay binary
COPY --from=builder /openflare_relay/openflare-relay /usr/local/bin/openflare-relay
# Copy frps binary from official image
COPY --from=frps /usr/bin/frps /usr/local/bin/frps
VOLUME ["/var/lib/openflare-relay"]
ENTRYPOINT ["/usr/local/bin/openflare-relay", "-config", "/etc/openflare-relay/relay.json"]
CMD []
ENV OPENFLARE_FRPS_PATH=/usr/local/bin/frps
ENV OPENFLARE_DATA_DIR=/var/lib/openflare-relay
ENTRYPOINT ["/usr/local/bin/openflare-relay"]
CMD ["-config", "/etc/openflare-relay/relay.json"]
+12 -2
View File
@@ -10,14 +10,24 @@ COPY openflare_server/ ../openflare_server/
COPY openflared/ .
RUN CGO_ENABLED=0 GOOS=linux go build -o flared ./cmd/flared
FROM fatedier/frpc:v0.69.0
# Extract frpc binary from official image
FROM fatedier/frpc:v0.69.0 AS frpc
# Final runtime image
FROM alpine:latest
RUN apk --no-cache add ca-certificates tzdata
WORKDIR /app
# Copy openflared binary
COPY --from=builder /build/flared .
# Copy frpc binary from official image
COPY --from=frpc /usr/bin/frpc /usr/local/bin/frpc
ENV OPENFLARE_DATA_DIR=/app/data
ENV OPENFLARE_FRPC_PATH=/usr/bin/frpc
ENV OPENFLARE_FRPC_PATH=/usr/local/bin/frpc
ENTRYPOINT ["/app/flared"]
CMD []