部署 Sinan 站点 
先决条件 
在开始之前,请确保您已满足以下先决条件:
- Docker
 - Docker Compose
 - CPU 1核心 内存 2GB
 
部署步骤 
- 克隆项目到本地
 
bash
git clone https://github.com/PeixyJ/sinan-quick-start
cd sinan-quick-start- 创建必需的配置文件 确保项目根目录下包含以下文件:
 
- sinan_dev.sql - 数据库初始化脚本
 - application.yaml - Spring Boot 配置文件
 - nginx.conf - Nginx 配置文件
 
- 启动所有服务
 
中国大陆用户(推荐):
bash
docker-compose -f docker-compose-cn.yaml up -d海外用户或网络环境良好:
bash
docker-compose up -d- 查看服务状态
 
bash
docker-compose ps服务访问 
- 前端应用: 
http://localhost - 后端API: 
http://localhost:8080 - MySQL数据库: 
localhost:3306 - Redis: 
localhost:6379 
环境变量配置 
以下是 docker-compose.yml 中所有服务的环境变量配置说明:
sinan-server 服务环境变量 
| 变量名 | 默认值 | 描述 | 是否必须 | 
|---|---|---|---|
SPRING_PROFILES_ACTIVE | prod | Spring 运行环境配置 | 是 | 
TZ | Asia/Shanghai | 时区设置 | 否 | 
DB_HOST | mysql | MySQL 数据库主机地址 | 是 | 
DB_PORT | 3306 | MySQL 数据库端口 | 是 | 
DB_NAME | sinan | MySQL 数据库名称 | 是 | 
DB_USERNAME | sinan | MySQL 数据库用户名 | 是 | 
DB_PASSWORD | sinan123 | MySQL 数据库密码 | 是 | 
REDIS_HOST | redis | Redis 主机地址 | 是 | 
REDIS_PORT | 6379 | Redis 端口 | 是 | 
REDIS_PASSWORD | (空) | Redis 密码 | 否 | 
REDIS_DATABASE | 0 | Redis 数据库索引 | 否 | 
LOG_LEVEL | INFO | 日志级别 | 否 | 
APP_LOG_LEVEL | INFO | 应用日志级别 | 否 | 
LOG_FILE_PATH | /app/logs/sinan-server.log | 日志文件路径 | 否 | 
GITHUB_CLIENT_ID | <GITHUB_CLIENT_ID> | GitHub OAuth 客户端 ID | 是 | 
GITHUB_CLIENT_SECRET | <GITHUB_CLIENT_SECRET> | GitHub OAuth 客户端密钥 | 是 | 
GITHUB_REDIRECT_URI | <GITHUB_REDIRECT_URI> | GitHub OAuth 回调 URL | 是 | 
sinan-web 服务环境变量 
| 变量名 | 默认值 | 描述 | 是否必须 | 
|---|---|---|---|
SINAN_BASE_URL | https://sinan.host | Sinan 基础 URL | 是 | 
UPLOAD_BASE_PATH | ./upload | 文件上传基础路径 | 否 | 
UPLOAD_ICON_PATH | icons | 图标上传路径 | 否 | 
UPLOAD_URL_PREFIX | /api/bookmark | 上传 URL 前缀 | 否 | 
Passkey 相关环境变量(可选) 
| 变量名 | 默认值 | 描述 | 是否必须 | 
|---|---|---|---|
PASSKEY_ID | sinan.host | Passkey 标识符 | 否 | 
PASSKEY_NAME | sinan | Passkey 名称 | 否 | 
PASSKEY_ORIGIN | https://sinan.host | Passkey 来源地址 | 否 | 
sinan-website 服务环境变量 
| 变量名 | 默认值 | 描述 | 是否必须 | 
|---|---|---|---|
TZ | Asia/Shanghai | 时区设置 | 否 | 
API_BASE_URL | api | API 基础 URL | 是 | 
NODE_ENV | production | Node.js 运行环境 | 是 | 
mysql 服务环境变量 
| 变量名 | 默认值 | 描述 | 是否必须 | 
|---|---|---|---|
MYSQL_ROOT_PASSWORD | root123 | MySQL root 用户密码 | 是 | 
MYSQL_DATABASE | sinan | 初始化创建的数据库名 | 是 | 
MYSQL_USER | sinan | MySQL 普通用户名 | 是 | 
MYSQL_PASSWORD | sinan123 | MySQL 普通用户密码 | 是 | 
TZ | Asia/Shanghai | 时区设置 | 否 | 
重要提示
- 标记为是的变量(特别是 GitHub OAuth 相关配置)必须在部署前进行配置
 <GITHUB_CLIENT_ID>、<GITHUB_CLIENT_SECRET>和<GITHUB_REDIRECT_URI>需要替换为实际的 GitHub OAuth 应用配置- 数据库密码建议在生产环境中修改为更安全的密码
 
GitHub OAuth 配置说明 
要获取 GitHub OAuth 配置,请按以下步骤操作:
- 访问 GitHub Developer Settings
 - 点击 "New OAuth App"
 - 填写以下信息: 
- Application name: Sinan
 - Homepage URL: 
https://your-domain.com - Authorization callback URL: 
https://your-domain.com/api/oauth/callback/github 
 - 创建后获取 Client ID 和 Client Secret
 - 将这些值填入对应的环境变量中
 
