mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-10-11 01:36:37 +08:00
[优化] 修复 Docker 启动
This commit is contained in:
@@ -21,3 +21,17 @@ services:
|
|||||||
|
|
||||||
extra_hosts:
|
extra_hosts:
|
||||||
- "host.docker.internal:host-gateway"
|
- "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
|
WORKDIR /build
|
||||||
|
|
||||||
COPY openflare_relay/go.mod openflare_relay/go.sum ./
|
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_server /openflare_server
|
||||||
COPY openflare_relay /openflare_relay
|
COPY openflare_relay /openflare_relay
|
||||||
|
|
||||||
WORKDIR /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 --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"]
|
VOLUME ["/var/lib/openflare-relay"]
|
||||||
|
|
||||||
ENTRYPOINT ["/usr/local/bin/openflare-relay", "-config", "/etc/openflare-relay/relay.json"]
|
ENV OPENFLARE_FRPS_PATH=/usr/local/bin/frps
|
||||||
CMD []
|
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/ .
|
COPY openflared/ .
|
||||||
RUN CGO_ENABLED=0 GOOS=linux go build -o flared ./cmd/flared
|
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
|
WORKDIR /app
|
||||||
|
|
||||||
|
# Copy openflared binary
|
||||||
COPY --from=builder /build/flared .
|
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_DATA_DIR=/app/data
|
||||||
ENV OPENFLARE_FRPC_PATH=/usr/bin/frpc
|
ENV OPENFLARE_FRPC_PATH=/usr/local/bin/frpc
|
||||||
|
|
||||||
ENTRYPOINT ["/app/flared"]
|
ENTRYPOINT ["/app/flared"]
|
||||||
CMD []
|
CMD []
|
||||||
|
|||||||
Reference in New Issue
Block a user