From b92fce5c7cd84d598074c921f94319c14d5a3188 Mon Sep 17 00:00:00 2001 From: Snowykami Date: Sat, 26 Jul 2025 10:21:31 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9A=A1=EF=B8=8F=20feat:=20=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E5=90=8E=E7=AB=AFURL=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F?= =?UTF-8?q?=E4=B8=BABACKEND=5FURL=EF=BC=8C=E4=BB=A5=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E6=9B=B4=E7=81=B5=E6=B4=BB=E7=9A=84=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 78 +++++++++++++++++++++++++++++++++++++++++++ web/src/api/client.ts | 2 +- 2 files changed, 79 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index db9b9c9..162f299 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,80 @@ # neo-blog 新的博客,前端由next驱动,后端由hertz驱动 + +## 部署 + +### 使用容器化部署(Docker Compose)(推荐) + +```yaml +services: + frontend: + container_name: neo-blog-frontend + image: snowykami/neo-blog-frontend:latest + networks: + - internal-network + restart: always + volumes: + - .env.frontend:/app/.env.production:ro + + backend: + container_name: neo-blog-backend + image: snowykami/neo-blog-backend:latest + environment: + - BASE_URL=https://neo-blog-dev.sfkm.me + networks: + - internal-network + restart: always + volumes: + - ./data:/app/data + - .env.backend:/app/.env:ro + +networks: + internal-network: + driver: bridge +``` + +请勿更改后端容器名,前端容器构建时写死了后端API端点,若有更改请自行构建 + +```bash +docker-compose up -d +# 或者 +docker compose up -d +``` + +### 使用源码构建部署 + +需要准备:go、nodejs、pnpm + +1. 克隆仓库 + +```bash +git clone https://github.com/snowykami/neo-blog.git +cd neo-blog +``` + +2. 构建后端 + +```bash +go build -o server ./cmd/server +``` + +3. 构建前端 + +此阶段可以通过.env.production文件配置后端API端点 + +```bash +cd web +pnpm install +pnpm build +``` + +4. 启动和前端 + +```bash +# 启动后端 +./server + +# 启动前端 +pnpm start +``` + diff --git a/web/src/api/client.ts b/web/src/api/client.ts index 1dd21c6..5eb51ab 100644 --- a/web/src/api/client.ts +++ b/web/src/api/client.ts @@ -1,7 +1,7 @@ import axios from 'axios' import { camelToSnakeObj, snakeToCamelObj } from 'field-conv' -export const BACKEND_URL = process.env.NEXT_PUBLIC_API_BASE_URL || 'http://neo-blog-backend:8888' +export const BACKEND_URL = process.env.BACKEND_URL || 'http://neo-blog-backend:8888' const isServer = typeof window === 'undefined'