mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-09-28 05:46:36 +08:00
feat(agent): persist Pages dir in Docker deploy volume
Mount openflare-agent-pages to /data/var/lib/openflare/pages so container rebuilds keep local Pages packages.
This commit is contained in:
@@ -181,6 +181,7 @@ docker pull ghcr.io/rain-kl/openflare-agent:latest
|
|||||||
docker rm -f openflare-agent 2>/dev/null || true
|
docker rm -f openflare-agent 2>/dev/null || true
|
||||||
docker run -d --name openflare-agent --restart unless-stopped \
|
docker run -d --name openflare-agent --restart unless-stopped \
|
||||||
-p 80:80 -p 443:443/tcp -p 443:443/udp \
|
-p 80:80 -p 443:443/tcp -p 443:443/udp \
|
||||||
|
-v openflare-agent-pages:/data/var/lib/openflare/pages \
|
||||||
-e OPENFLARE_SERVER_URL=http://your-server:3000 \
|
-e OPENFLARE_SERVER_URL=http://your-server:3000 \
|
||||||
-e OPENFLARE_AGENT_TOKEN=YOUR_AGENT_TOKEN \
|
-e OPENFLARE_AGENT_TOKEN=YOUR_AGENT_TOKEN \
|
||||||
ghcr.io/rain-kl/openflare-agent:latest
|
ghcr.io/rain-kl/openflare-agent:latest
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ sidebar: false
|
|||||||
### 改进
|
### 改进
|
||||||
|
|
||||||
- 站点流量限制语义调整为空或 `0` 继承全局默认、`-1` 关闭、大于 `0` 自定义;修改全局默认后需发布配置版本生效。
|
- 站点流量限制语义调整为空或 `0` 继承全局默认、`-1` 关闭、大于 `0` 自定义;修改全局默认后需发布配置版本生效。
|
||||||
|
- Agent Docker 部署命令默认挂载命名卷 `openflare-agent-pages` 持久化 Pages 目录,重建容器时无需重新拉取静态站点包。
|
||||||
|
|
||||||
## [v3.4.1] - 2026-07-19
|
## [v3.4.1] - 2026-07-19
|
||||||
|
|
||||||
|
|||||||
@@ -126,11 +126,16 @@ docker pull ghcr.io/rain-kl/openflare-agent:latest
|
|||||||
docker rm -f openflare-agent 2>/dev/null || true
|
docker rm -f openflare-agent 2>/dev/null || true
|
||||||
docker run -d --name openflare-agent --restart unless-stopped \
|
docker run -d --name openflare-agent --restart unless-stopped \
|
||||||
-p 80:80 -p 443:443/tcp -p 443:443/udp \
|
-p 80:80 -p 443:443/tcp -p 443:443/udp \
|
||||||
|
-v openflare-agent-pages:/data/var/lib/openflare/pages \
|
||||||
-e OPENFLARE_SERVER_URL=http://your-server:3000 \
|
-e OPENFLARE_SERVER_URL=http://your-server:3000 \
|
||||||
-e OPENFLARE_AGENT_TOKEN=YOUR_AGENT_TOKEN \
|
-e OPENFLARE_AGENT_TOKEN=YOUR_AGENT_TOKEN \
|
||||||
ghcr.io/rain-kl/openflare-agent:latest
|
ghcr.io/rain-kl/openflare-agent:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> **Pages 持久化**
|
||||||
|
> 默认将 Pages 部署目录挂载到 Docker 命名卷 `openflare-agent-pages`(容器内路径 `/data/var/lib/openflare/pages`)。重建或升级 Agent 容器时无需重新拉取静态站点包。
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> **非 Root 安全加固运行**
|
> **非 Root 安全加固运行**
|
||||||
> Agent 容器内部已完成安全加固,在启动后会统一以低权限非 root 用户 `openflare` 运行。
|
> Agent 容器内部已完成安全加固,在启动后会统一以低权限非 root 用户 `openflare` 运行。
|
||||||
|
|||||||
@@ -123,11 +123,14 @@ docker pull ghcr.io/rain-kl/openflare-agent:latest
|
|||||||
docker rm -f openflare-agent 2>/dev/null || true
|
docker rm -f openflare-agent 2>/dev/null || true
|
||||||
docker run -d --name openflare-agent --restart unless-stopped \
|
docker run -d --name openflare-agent --restart unless-stopped \
|
||||||
-p 80:80 -p 443:443/tcp -p 443:443/udp \
|
-p 80:80 -p 443:443/tcp -p 443:443/udp \
|
||||||
|
-v openflare-agent-pages:/data/var/lib/openflare/pages \
|
||||||
-e OPENFLARE_SERVER_URL=http://your-server:3000 \
|
-e OPENFLARE_SERVER_URL=http://your-server:3000 \
|
||||||
-e OPENFLARE_AGENT_TOKEN=YOUR_AGENT_TOKEN \
|
-e OPENFLARE_AGENT_TOKEN=YOUR_AGENT_TOKEN \
|
||||||
ghcr.io/rain-kl/openflare-agent:latest
|
ghcr.io/rain-kl/openflare-agent:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
|
命名卷 `openflare-agent-pages` 持久化 Pages 部署目录,重建容器时无需重新拉取静态站点包。
|
||||||
|
|
||||||
## Agent 接入(脚本安装)
|
## Agent 接入(脚本安装)
|
||||||
|
|
||||||
除了 Docker 部署外,也支持通过安装脚本将 Agent 部署在本地宿主机上。安装脚本会自动在本地 Linux 系统中注册低权限的 `openflare` 服务账号,并将 systemd 服务配置为以该用户身份运行,利用 Linux Capabilities 安全地监听 80/443 特权端口。
|
除了 Docker 部署外,也支持通过安装脚本将 Agent 部署在本地宿主机上。安装脚本会自动在本地 Linux 系统中注册低权限的 `openflare` 服务账号,并将 systemd 服务配置为以该用户身份运行,利用 Linux Capabilities 安全地监听 80/443 特权端口。
|
||||||
|
|||||||
@@ -189,6 +189,7 @@ docker pull ghcr.io/rain-kl/openflare-agent:latest
|
|||||||
docker rm -f openflare-agent 2>/dev/null || true
|
docker rm -f openflare-agent 2>/dev/null || true
|
||||||
docker run -d --name openflare-agent --restart unless-stopped \
|
docker run -d --name openflare-agent --restart unless-stopped \
|
||||||
-p 80:80 -p 443:443/tcp -p 443:443/udp \
|
-p 80:80 -p 443:443/tcp -p 443:443/udp \
|
||||||
|
-v openflare-agent-pages:/data/var/lib/openflare/pages \
|
||||||
-e OPENFLARE_SERVER_URL=http://your-server:3000 \
|
-e OPENFLARE_SERVER_URL=http://your-server:3000 \
|
||||||
-e OPENFLARE_AGENT_TOKEN=YOUR_AGENT_TOKEN \
|
-e OPENFLARE_AGENT_TOKEN=YOUR_AGENT_TOKEN \
|
||||||
ghcr.io/rain-kl/openflare-agent:latest
|
ghcr.io/rain-kl/openflare-agent:latest
|
||||||
|
|||||||
@@ -151,6 +151,7 @@ export function buildEdgeDockerInstallCommand(
|
|||||||
`docker rm -f openflare-agent 2>/dev/null || true`,
|
`docker rm -f openflare-agent 2>/dev/null || true`,
|
||||||
`docker run -d --name openflare-agent --restart unless-stopped \\`,
|
`docker run -d --name openflare-agent --restart unless-stopped \\`,
|
||||||
` -p 80:80 -p 443:443/tcp -p 443:443/udp \\`,
|
` -p 80:80 -p 443:443/tcp -p 443:443/udp \\`,
|
||||||
|
` -v openflare-agent-pages:/data/var/lib/openflare/pages \\`,
|
||||||
` -e OPENFLARE_SERVER_URL=${serverUrl} \\`,
|
` -e OPENFLARE_SERVER_URL=${serverUrl} \\`,
|
||||||
` -e OPENFLARE_AGENT_TOKEN=${agentToken} \\`,
|
` -e OPENFLARE_AGENT_TOKEN=${agentToken} \\`,
|
||||||
` ${image}`,
|
` ${image}`,
|
||||||
|
|||||||
@@ -381,12 +381,14 @@ if [[ "$INSTALL_METHOD" == "docker" ]]; then
|
|||||||
if [[ -n "$AGENT_TOKEN" ]]; then
|
if [[ -n "$AGENT_TOKEN" ]]; then
|
||||||
docker run -d --name openflare-agent --restart unless-stopped \
|
docker run -d --name openflare-agent --restart unless-stopped \
|
||||||
-p 80:80 -p 443:443/tcp -p 443:443/udp \
|
-p 80:80 -p 443:443/tcp -p 443:443/udp \
|
||||||
|
-v openflare-agent-pages:/data/var/lib/openflare/pages \
|
||||||
-e OPENFLARE_SERVER_URL="${SERVER_URL}" \
|
-e OPENFLARE_SERVER_URL="${SERVER_URL}" \
|
||||||
-e OPENFLARE_AGENT_TOKEN="${AGENT_TOKEN}" \
|
-e OPENFLARE_AGENT_TOKEN="${AGENT_TOKEN}" \
|
||||||
ghcr.io/rain-kl/openflare-agent:latest
|
ghcr.io/rain-kl/openflare-agent:latest
|
||||||
else
|
else
|
||||||
docker run -d --name openflare-agent --restart unless-stopped \
|
docker run -d --name openflare-agent --restart unless-stopped \
|
||||||
-p 80:80 -p 443:443/tcp -p 443:443/udp \
|
-p 80:80 -p 443:443/tcp -p 443:443/udp \
|
||||||
|
-v openflare-agent-pages:/data/var/lib/openflare/pages \
|
||||||
-e OPENFLARE_SERVER_URL="${SERVER_URL}" \
|
-e OPENFLARE_SERVER_URL="${SERVER_URL}" \
|
||||||
-e OPENFLARE_DISCOVERY_TOKEN="${DISCOVERY_TOKEN}" \
|
-e OPENFLARE_DISCOVERY_TOKEN="${DISCOVERY_TOKEN}" \
|
||||||
ghcr.io/rain-kl/openflare-agent:latest
|
ghcr.io/rain-kl/openflare-agent:latest
|
||||||
|
|||||||
Reference in New Issue
Block a user