一款更加流行的个人主页
- 🗓️ GitHub贡献日历:动态展示GitHub活动
- 🛠️ 技能展示区:分类展示技术栈
- 🖼️ 项目画廊:交互式项目展示
- 🎵 网易云音乐数据展示:集成音乐API
- 🎮 Steam游戏数据展示:集成Steam API
- 🌏 多语言支持:中英文切换
- 🌓 主题切换:深色/浅色模式
- 🌸 樱花飘落背景特效
- 💫 社交图标悬停动效
- 🛠️ 技能管理:CRUD操作技术技能条目
- 🖼️ 项目管理:增删改查项目展示内容
- 👤 个人资料编辑:更新个人信息
- 📝 页脚内容管理:自定义页脚信息
- 🔐 登录/登出:基于NextAuth的身份验证
- 框架: Next.js 15 (App Router)
- 样式: Tailwind CSS + Shadcn/ui组件库
- 认证: NextAuth.js
- 国际化: next-intl
- 状态管理: 主要依赖 React 内置 Hooks (如
useState,useContext) 及特定功能库(如next-authfor authentication,next-themesfor theming,react-hook-formfor forms)进行状态管理。 - 表单处理: React Hook Form + Zod验证
- 动画: Framer Motion
- Node.js (推荐版本 >= 18.x)
- pnpm (推荐包管理器)
- Git
- Docker (可选,用于容器化部署)
- Docker Compose (可选,用于容器化部署)
# 1. 克隆项目
git clone https://github.com/Viper373/ZeroHome.git
cd ZeroHome
# 2. 安装依赖
pnpm install
# 3. 配置环境变量
# 复制 .env.example 文件为 .env.local (用于本地开发)
# 或 .env (用于 Docker Compose 部署)
cp .env.example .env.local
# 然后根据下面的 "环境变量配置" 部分修改文件内容
# 4. 启动开发服务器
pnpm dev应用默认运行在 http://localhost:3000。
确保您已经创建了对应的 .env 文件。以下是主要的环境变量列表及其说明。强烈建议您从 .env.example 文件开始,并填充您的实际值。
| 环境变量 | 示例值 | 说明 |
|---|---|---|
NEXTAUTH_URL |
http://localhost:3000 |
NextAuth.js 使用的基础 URL,开发时通常是 http://localhost:3000。 |
NEXTAUTH_SECRET |
'YOUR_VERY_STRONG_SECRET_HERE' |
用于签名和加密 NextAuth.js 会话和令牌的密钥。请务必替换为一个强随机字符串。生成方法示例: openssl rand -base64 32 |
ADMIN_USERNAME |
your_admin_username |
后台管理员的用户名 (用于初始登录或特定认证策略)。 |
ADMIN_PASSWORD |
your_admin_password |
后台管理员的密码。 |
STEAM_API_KEY |
your_steam_api_key |
用于从 Steam Web API 获取数据的 API 密钥。 |
NETEASE_MUSIC_U |
your_netease_music_u_cookie |
网易云音乐的 MUSIC_U Cookie 值,用于获取用户音乐数据。 |
重要提示:
.env.example文件应包含所有必需和可选的环境变量模板,并附带清晰的注释。- 切勿将包含真实敏感信息的
.env或.env.local文件提交到版本控制系统 (如 Git)。确保它们已在.gitignore文件中列出。
项目根目录下已包含 Dockerfile 和 docker-compose.yml 文件,方便进行容器化部署。docker-compose.yml 配置为通过 env_file: .env 从项目根目录下的 .env 文件加载环境变量。
前提:
- Docker 和 Docker Compose 已安装。
- 项目根目录下有一个名为
.env的文件,其中包含所有必要的运行时环境变量 (参考上面的 "环境变量配置" 表格)。
构建并运行:
# 1. 构建 Docker 镜像 (如果 Dockerfile 有更新)
docker-compose build
# 2. 启动服务 (后台运行)
docker-compose up -d
# 查看日志
docker-compose logs -f
# 停止服务
docker-compose down服务将根据 docker-compose.yml 中的端口映射配置运行。
如果您希望不通过 docker-compose,而是直接使用 Dockerfile 构建和运行:
- 构建镜像:
docker build -t zero-home . - 运行容器:
您需要在
docker run命令中传递所有必要的环境变量。请注意将"http://yourdomain.com"替换为您的实际部署 URL。这种方式环境变量管理较为繁琐,推荐使用 Docker Compose 配合docker run -p 3000:3000 \ -e NODE_ENV=production \ -e NEXTAUTH_URL="http://yourdomain.com" \ -e NEXTAUTH_SECRET="YOUR_VERY_STRONG_SECRET_HERE" \ -e ADMIN_USERNAME="your_admin_username" \ -e ADMIN_PASSWORD="your_admin_password" \ -e STEAM_API_KEY="your_steam_api_key" \ -e NETEASE_MUSIC_U="your_netease_music_u_cookie" \ zero-home
env_file。
- 确保服务器上已安装 Node.js 和 pnpm。
- 上传项目文件(或通过 Git 拉取)。
- 安装依赖:
pnpm install --frozen-lockfile。 - 构建项目:
pnpm build。 - 设置运行时环境变量。
- 启动应用:
pnpm start。
- 注册并登录 Vercel。
- 点击 "New Project",导入您的 GitHub 仓库(如 Viper373/ZeroHome)。
- 选择 Next.js 框架,保持默认构建设置。
- 在 Settings → Environment Variables 中,手动添加所有环境变量(与
.env.example保持一致)。 - 部署即可,访问分配的 Vercel 域名(如
https://your-vercel-domain.vercel.app)。
⚠️ Vercel 不会自动读取.env.local,请务必在控制台手动配置环境变量!
- 注册并登录 Netlify。
- 点击 "Add new site" → "Import an existing project",选择您的 GitHub 仓库。
- 构建命令填写:
pnpm build - 发布目录填写:
.next - 在 Site settings → Environment variables 中,手动添加所有环境变量(与
.env.example保持一致)。 - 部署即可,访问分配的 Netlify 域名(如
https://your-site.netlify.app)。
⚠️ Netlify 不会自动读取.env.local,请务必在控制台手动配置环境变量!
如需批量导入环境变量,可参考 Vercel/Netlify 官方文档或 CLI 工具说明。
欢迎任何形式的贡献,无论是代码、文档还是建议!
本项目采用 MIT 许可证



