Files
jczxw-pc/content/docs/deploy/private-deploy.md
2026-04-23 16:30:57 +08:00

3.5 KiB
Raw Blame History

title, description, category, order
title description category order
私有化部署完全指南 Docker Compose 一键部署HTTPS 配置、备份策略与版本升级。 deploy 2

私有化部署完全指南

Docker Compose 一键部署HTTPS 配置、备份策略与版本升级。

🏠 什么是私有化部署?

私有化部署让你在自己的服务器上运行 Websopy 平台,享受:

  • 🔒 数据完全自主 - 所有数据存储在你的服务器
  • ⚙️ 完全可控 - 自定义配置、插件、界面
  • 💰 成本可控 - 无按调用量计费
  • 🏢 合规无忧 - 满足数据不出网要求

📋 系统要求

最低配置

资源 最低要求
CPU 4 核
内存 8 GB
硬盘 100 GB SSD
系统 Ubuntu 20.04+ / CentOS 8+

推荐配置

资源 推荐配置
CPU 8 核+
内存 16 GB+
硬盘 500 GB SSD+
系统 Ubuntu 22.04 LTS

软件依赖

  • Docker 20.10+
  • Docker Compose 2.0+
  • Git
  • 域名(可选,用于 HTTPS

🚀 开始部署

第一步:准备服务器

# 更新系统
sudo apt update && sudo apt upgrade -y

# 安装 DockerUbuntu/Debian
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER

# 验证安装
docker --version
docker-compose --version

第二步:下载部署包

# 创建工作目录
mkdir -p ~/websopy && cd ~/websopy

# 下载最新版本
wget https://releases.websopy.com/on-premise/latest.tar.gz

# 解压
tar -xzf latest.tar.gz
cd websopy-deploy

第三步:配置环境

# 复制配置文件
cp .env.example .env

# 编辑配置文件
nano .env

关键配置项:

# 版本配置
WEBSOPY_VERSION=latest

# 数据库配置
DB_HOST=postgres
DB_PORT=5432
DB_NAME=websopy
DB_USER=websopy
DB_PASSWORD=your-secure-password

# Redis 配置
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=your-redis-password

# 域名配置(可选)
DOMAIN=your-domain.com
HTTPS_ENABLED=true

# 管理员账户
ADMIN_EMAIL=admin@yourcompany.com
ADMIN_PASSWORD=your-admin-password

第四步:启动服务

# 拉取镜像
docker-compose pull

# 启动所有服务
docker-compose up -d

# 查看服务状态
docker-compose ps

第五步:访问平台

服务启动后,通过浏览器访问:

  • 前端界面:http://your-server-ip:80
  • 管理后台:http://your-server-ip:80/admin
  • API 端点:http://your-server-ip:8080/api/v1

🔒 HTTPS 配置

使用 Let's Encrypt推荐

# 申请 SSL 证书
certbot --nginx -d your-domain.com

# 重启 nginx
docker-compose restart nginx

💾 备份策略

自动备份脚本

#!/bin/bash
BACKUP_DIR=/data/backups/websopy
DATE=$(date +%Y%m%d_%H%M%S)

mkdir -p $BACKUP_DIR

# 备份数据库
docker exec websopy-postgres pg_dump -U websopy > $BACKUP_DIR/db_$DATE.sql

# 备份上传文件
tar -czf $BACKUP_DIR/uploads_$DATE.tar.gz /data/websopy/uploads

# 保留最近 30 天的备份
find $BACKUP_DIR -mtime +30 -delete

echo "备份完成: $DATE"
# 设置定时任务(每天凌晨 3 点执行)
crontab -e
# 添加行: 0 3 * * * /data/websopy/backup.sh >> /var/log/backup.log 2>&1

🐛 常见问题

Q: 服务启动失败?

# 查看日志
docker-compose logs -f

# 检查端口占用
netstat -tlnp | grep -E '80|443|5432|6379'

Q: 内存不足?

# 查看内存使用
docker stats

# 增加 swap
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile