mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-09-30 06:16:37 +08:00
[优化] 修复 Docker 启动
This commit is contained in:
@@ -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"
|
||||
@@ -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
@@ -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 []
|
||||
|
||||
Reference in New Issue
Block a user