# frpc-client Docker image
# 基于 Alpine Linux，轻量级

FROM alpine:3.19

LABEL maintainer="StoneLan"
LABEL description="frp client container"

# 安装依赖（ca-certificates 用于 HTTPS，tzdata 用于时区）
RUN apk add --no-cache ca-certificates tzdata

# 复制 frp 二进制文件和配置
COPY frp_0.61.1_linux_amd64.tar.gz /tmp/frp.tar.gz
COPY frpc.toml /etc/frpc/frpc.toml

# 解压并安装 frpc
RUN tar -xzf /tmp/frp.tar.gz -C /tmp/ && \
    cp /tmp/frp_0.61.1_linux_amd64/frpc /usr/local/bin/ && \
    chmod +x /usr/local/bin/frpc && \
    rm -rf /tmp/frp*

# 创建非 root 用户
RUN adduser -D -u 1000 frpcuser && \
    chown -R frpcuser:frpcuser /etc/frpc

USER frpcuser

# 健康检查
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
    CMD pkill -0 frpc || exit 1

ENTRYPOINT ["/usr/local/bin/frpc"]
CMD ["-c", "/etc/frpc/frpc.toml"]
