# Sub2API 部署指南 - 端口 2080

## 快速部署（推荐）

### 1. 上传文件到服务器

将 `deploy` 目录上传到服务器的 `/opt/sub2api`

```bash
# 在服务器上创建目录
mkdir -p /opt/sub2api
```

### 2. 运行自动部署脚本

```bash
cd /opt/sub2api
chmod +x deploy.sh
bash deploy.sh
```

脚本会自动完成：
- ✅ 生成安全的密码和密钥
- ✅ 创建配置文件
- ✅ 拉取 Docker 镜像
- ✅ 启动服务

### 3. 访问系统

浏览器打开: `http://你的服务器IP:2080`

默认账号:
- 邮箱: `admin@example.com`
- 密码: `admin123`

---

## 手动部署

如果自动脚本失败，可以手动部署：

```bash
cd /opt/sub2api

# 1. 复制配置文件
cp docker-compose.2080.yml docker-compose.yml
cp .env.2080 .env

# 2. 生成密钥
sed -i "s/POSTGRES_PASSWORD=.*/POSTGRES_PASSWORD=$(openssl rand -base64 24)/" .env
sed -i "s/JWT_SECRET=.*/JWT_SECRET=$(openssl rand -hex 32)/" .env

# 3. 启动服务
docker-compose pull
docker-compose up -d

# 4. 查看日志
docker-compose logs -f
```

---

## 配置说明

### 端口映射
- 宿主机端口: `2080`
- 容器内端口: `8080`

### Redis 连接
- 使用现有的 1Panel Redis: `1Panel-redis-S1KH`
- 端口: `6379`
- 密码: `redis_bJFKDk`
- 数据库: `1` (避免与其他应用冲突)

### PostgreSQL
- 自动创建独立的 PostgreSQL 容器
- 数据持久化在 Docker volume 中

---

## 常用命令

```bash
# 查看服务状态
docker-compose ps

# 查看日志
docker-compose logs -f

# 重启服务
docker-compose restart

# 停止服务
docker-compose down

# 更新到最新版本
docker-compose pull
docker-compose up -d
```

---

## 故障排查

### Redis 连接失败

如果日志显示 Redis 连接失败，尝试修改 `docker-compose.yml`:

将:
```yaml
- REDIS_HOST=host.docker.internal
```

改为:
```yaml
- REDIS_HOST=172.17.0.1
```

然后重启:
```bash
docker-compose down
docker-compose up -d
```

### 查看详细日志

```bash
# 只看 sub2api 日志
docker-compose logs sub2api

# 只看 PostgreSQL 日志
docker-compose logs postgres

# 实时查看最新 50 行日志
docker-compose logs -f --tail=50
```
