feat(repo): rename output server binary from wavelet to openflare-server

This commit is contained in:
ryan
2026-06-19 14:36:46 +08:00
parent 84303d25b2
commit 9eeeb09d2f
5 changed files with 19 additions and 19 deletions
+2 -2
View File
@@ -24,7 +24,7 @@ build-embedded:
go build \
-tags embed_frontend \
-ldflags "-s -w -X '$(MODULE)/internal/buildinfo.Version=$(VERSION)' -X '$(MODULE)/internal/buildinfo.BuildTime=$(BUILD_DATE)'" \
-o bin/wavelet \
-o bin/openflare-server \
main.go
code-check:
@@ -35,7 +35,7 @@ build-backend:
@echo "==> Building backend version=$(VERSION) build_date=$(BUILD_DATE)..."
go build \
-ldflags "-s -w -X '$(MODULE)/internal/buildinfo.Version=$(VERSION)' -X '$(MODULE)/internal/buildinfo.BuildTime=$(BUILD_DATE)'" \
-o bin/wavelet \
-o bin/openflare-server \
main.go
build-agent:
+3 -3
View File
@@ -46,7 +46,7 @@ RUN CGO_ENABLED=0 GOOS=linux go build \
-tags embed_frontend \
-trimpath \
-ldflags="-s -w -X github.com/Rain-kl/Wavelet/internal/buildinfo.Version=${VERSION} -X github.com/Rain-kl/Wavelet/internal/buildinfo.BuildTime=${BUILD_DATE}" \
-o /out/wavelet \
-o /out/openflare-server \
./main.go
FROM alpine:${ALPINE_VERSION}
@@ -59,10 +59,10 @@ RUN apk add --no-cache ca-certificates tzdata postgresql-client && \
WORKDIR /app
COPY --from=backend-builder /out/wavelet ./wavelet
COPY --from=backend-builder /out/openflare-server ./openflare-server
COPY docs ./docs
EXPOSE 3000
ENTRYPOINT ["./wavelet"]
ENTRYPOINT ["./openflare-server"]
CMD ["all"]
+3 -3
View File
@@ -20,7 +20,7 @@ COPY . .
RUN CGO_ENABLED=0 GOOS=linux go build \
-trimpath \
-ldflags="-s -w -X github.com/Rain-kl/Wavelet/internal/buildinfo.Version=${VERSION} -X github.com/Rain-kl/Wavelet/internal/buildinfo.BuildTime=${BUILD_DATE}" \
-o /out/wavelet \
-o /out/openflare-server \
./main.go
FROM alpine:${ALPINE_VERSION}
@@ -33,10 +33,10 @@ RUN apk add --no-cache ca-certificates tzdata postgresql-client && \
WORKDIR /app
COPY --from=builder /out/wavelet ./wavelet
COPY --from=builder /out/openflare-server ./openflare-server
COPY docs ./docs
EXPOSE 3000
ENTRYPOINT ["./wavelet"]
ENTRYPOINT ["./openflare-server"]
CMD ["api"]
+1 -1
View File
@@ -90,7 +90,7 @@ RUN set -e; \
[ -n "$FILTER_ARCH" ] && [ "$GOARCH" != "$FILTER_ARCH" ] && continue; \
EXT=""; \
[ "$GOOS" = "windows" ] && EXT=".exe"; \
OUTPUT="/out/wavelet_${GOOS}_${GOARCH}${EXT}"; \
OUTPUT="/out/openflare-server_${GOOS}_${GOARCH}${EXT}"; \
echo "==> Building ${OUTPUT} (version=${VERSION})..."; \
CGO_ENABLED=0 GOOS=${GOOS} GOARCH=${GOARCH} \
go build \
+10 -10
View File
@@ -10,9 +10,9 @@
| 组件名称 | 运行命令/形式 | 职责说明 | 必选/可选 |
| :--- | :--- | :--- | :--- |
| **HTTP API 服务** | `bin/wavelet api` | 接收并处理前端及第三方的 RESTful API 请求 | **必选** |
| **异步任务工作进程** | `bin/wavelet worker` | 消费并处理异步队列任务(如邮件发送、清理上传文件等) | **必选** |
| **定时任务调度器** | `bin/wavelet scheduler` | 定时向 Redis 队列下发 Cron 任务(仅负责触发,不负责执行) | **必选** |
| **HTTP API 服务** | `bin/openflare-server api` | 接收并处理前端及第三方的 RESTful API 请求 | **必选** |
| **异步任务工作进程** | `bin/openflare-server worker` | 消费并处理异步队列任务(如邮件发送、清理上传文件等) | **必选** |
| **定时任务调度器** | `bin/openflare-server scheduler` | 定时向 Redis 队列下发 Cron 任务(仅负责触发,不负责执行) | **必选** |
| **前端服务 (Node.js)** | `pnpm start` | 提供 React/Next.js 页面服务(在分离部署时使用) | 分离模式必选 |
| **PostgreSQL** | 关系型主数据库 | 存储用户、系统配置、认证源、任务执行记录等核心数据 | **必选** |
| **Redis** | 缓存与消息队列中间件 | 存储 Session 会话、临时缓存以及 Asynq 异步任务队列数据 | **必选** |
@@ -99,12 +99,12 @@ docker compose up -d
make build-embedded
```
该命令会自动完成前端的静态编译导出 (`frontend/out`)、复制到 Go 后端目录,最后使用 `-tags embed_frontend` 生成后端单文件:
- 产物路径:`bin/wavelet`
- 产物路径:`bin/openflare-server`
#### 3. 进程管理 (使用 Systemd)
将 `bin/wavelet` 拷贝到生产服务器 `/usr/local/bin/wavelet`,并为 `api`、`worker` 和 `scheduler` 配置 Systemd 管理服务。
将 `bin/openflare-server` 拷贝到生产服务器 `/usr/local/bin/openflare-server`,并为 `api`、`worker` 和 `scheduler` 配置 Systemd 管理服务。
新建 API 进程服务文件 `/etc/systemd/system/wavelet-api.service`:
新建 API 进程服务文件 `/etc/systemd/system/openflare-api.service`:
```ini
[Unit]
Description=Refreshing API Service
@@ -114,14 +114,14 @@ After=network.target
Type=simple
User=root
WorkingDirectory=/app
ExecStart=/usr/local/bin/wavelet api
ExecStart=/usr/local/bin/openflare-server api
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
```
同理,新建 Worker 服务 `/etc/systemd/system/wavelet-worker.service`(将命令改为 `wavelet worker`),以及 Scheduler 服务 `/etc/systemd/system/wavelet-scheduler.service`(将命令改为 `wavelet scheduler`)。
同理,新建 Worker 服务 `/etc/systemd/system/openflare-worker.service`(将命令改为 `openflare-server worker`),以及 Scheduler 服务 `/etc/systemd/system/openflare-scheduler.service`(将命令改为 `openflare-server scheduler`)。
启动并启用所有服务:
```bash
@@ -171,9 +171,9 @@ server {
#### 1. 部署后端 Go 服务
1. 编译后端:
```bash
go build -o bin/wavelet main.go
go build -o bin/openflare-server main.go
```
2. 在后端服务器上,同样使用 Systemd 或 Docker 守护启动 `wavelet api`、`wavelet worker` 和 `wavelet scheduler`。
2. 在后端服务器上,同样使用 Systemd 或 Docker 守护启动 `openflare-server api`、`openflare-server worker` 和 `openflare-server scheduler`。
3. 配置后端 Nginx 将客户端 API 请求(如 `/api/...`)反向代理至后端绑定的端口(如 `:8000`)。
#### 2. 部署前端 Next.js 服务