--- title: 私有化部署完全指南 description: Docker Compose 一键部署,HTTPS 配置、备份策略与版本升级。 category: deploy order: 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) ## 🚀 开始部署 ### 第一步:准备服务器 ```bash # 更新系统 sudo apt update && sudo apt upgrade -y # 安装 Docker(Ubuntu/Debian) curl -fsSL https://get.docker.com | sh sudo usermod -aG docker $USER # 验证安装 docker --version docker-compose --version ``` ### 第二步:下载部署包 ```bash # 创建工作目录 mkdir -p ~/websopy && cd ~/websopy # 下载最新版本 wget https://releases.websopy.com/on-premise/latest.tar.gz # 解压 tar -xzf latest.tar.gz cd websopy-deploy ``` ### 第三步:配置环境 ```bash # 复制配置文件 cp .env.example .env # 编辑配置文件 nano .env ``` 关键配置项: ```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 ``` ### 第四步:启动服务 ```bash # 拉取镜像 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(推荐) ```bash # 申请 SSL 证书 certbot --nginx -d your-domain.com # 重启 nginx docker-compose restart nginx ``` ## 💾 备份策略 ### 自动备份脚本 ```bash #!/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" ``` ```bash # 设置定时任务(每天凌晨 3 点执行) crontab -e # 添加行: 0 3 * * * /data/websopy/backup.sh >> /var/log/backup.log 2>&1 ``` ## 🐛 常见问题 ### Q: 服务启动失败? ```bash # 查看日志 docker-compose logs -f # 检查端口占用 netstat -tlnp | grep -E '80|443|5432|6379' ``` ### Q: 内存不足? ```bash # 查看内存使用 docker stats # 增加 swap sudo fallocate -l 4G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile ```