From 5820665b855ad44f003891057f6c40a54e2d6510 Mon Sep 17 00:00:00 2001 From: yml2213 Date: Tue, 14 Jul 2026 11:24:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=80=E9=94=AE=E5=90=AF?= =?UTF-8?q?=E5=8A=A8=EF=BC=9AMakefile=E3=80=81Docker=20Compose=EF=BC=88Pos?= =?UTF-8?q?tgreSQL=EF=BC=89=E3=80=81=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 4 ++++ Makefile | 33 +++++++++++++++++++++++++++++++++ docker-compose.dev.yml | 16 ++++++++++++++++ server/.env.example | 11 +++++++++++ 4 files changed, 64 insertions(+) create mode 100644 Makefile create mode 100644 docker-compose.dev.yml create mode 100644 server/.env.example diff --git a/.gitignore b/.gitignore index 71f0cef..dc12e03 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,11 @@ node_modules/ dist/ .env .env.* +!.env.example .DS_Store *.log .vscode/ .idea/ +server/bin/ +*.exe +*.test diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..7bf437b --- /dev/null +++ b/Makefile @@ -0,0 +1,33 @@ +.PHONY: dev db-up db-down install build clean + +# 一键启动开发环境(数据库 + 后端 + 前端) +dev: db-up + @echo "=== 启动后端服务 ===" + cd server && (test -f .env && set -a && . ./.env && set +a; go run cmd/main.go &) + @sleep 2 + @echo "=== 启动前端开发服务器 ===" + cd web && npm run dev + +# 仅启动数据库 +db-up: + @echo "=== 启动 PostgreSQL ===" + docker compose -f docker-compose.dev.yml up -d + @sleep 2 + @echo "数据库已启动: localhost:5432" + +# 停止数据库 +db-down: + docker compose -f docker-compose.dev.yml down + +# 安装所有依赖 +install: + cd web && npm install + cd server && go mod download + +# 编译后端 +build: + cd server && go build -o bin/server ./cmd/main.go + +# 清理 +clean: + cd server && rm -rf bin/ diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml new file mode 100644 index 0000000..f7183a9 --- /dev/null +++ b/docker-compose.dev.yml @@ -0,0 +1,16 @@ +version: '3.8' +services: + postgres: + image: postgres:16-alpine + container_name: kefu-db + environment: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + POSTGRES_DB: kefu_sys + ports: + - "5432:5432" + volumes: + - pgdata:/var/lib/postgresql/data + +volumes: + pgdata: diff --git a/server/.env.example b/server/.env.example new file mode 100644 index 0000000..dbed0f3 --- /dev/null +++ b/server/.env.example @@ -0,0 +1,11 @@ +SERVER_PORT=8080 +GIN_MODE=debug + +DB_HOST=localhost +DB_PORT=5432 +DB_USER=postgres +DB_PASSWORD=postgres +DB_NAME=kefu_sys +DB_SSLMODE=disable + +JWT_SECRET=kefu-sys-dev-secret-key