SafeW最受企业和高隐私需求团队青睐的核心优势之一,就是支持完全私有化部署。这意味着你可以将整个SafeW服务(包括消息服务器、文件存储、用户认证等)架设在自己控制的服务器上,实现数据100%不出企业网络、不经过任何第三方云端。很多用户在考虑私有化时,最关心的就是:到底要准备什么服务器?怎么一步步部署?客户端如何连接到自建服务器?部署后团队怎么批量加入?本文将把SafeW私有化部署的全流程拆解成最实操的步骤,覆盖从零开始到生产环境可用的完整路径,适合IT管理员或有一定服务器运维经验的用户直接上手。
私有化部署前的核心准备工作
私有化部署不是简单安装客户端,而是需要搭建一套完整的后端服务。以下是必须提前准备好的资源和条件:
1. 服务器硬件/云资源要求(最低配置与推荐配置)
最低配置(适合测试或10人以内小团队):
- CPU:2核
- 内存:4GB
- 硬盘:50GB SSD(消息和文件存储会快速增长)
- 操作系统:Ubuntu 20.04 / 22.04 LTS(推荐)或CentOS 8 Stream
- 公网IP(或内网+域名内网穿透)
推荐生产配置(50-500人团队):
- CPU:4-8核
- 内存:16-32GB
- 硬盘:200GB+ NVMe SSD + 额外对象存储用于大文件
- 带宽:至少100Mbps上行(文件传输需求大时建议更高)
- 云厂商示例:阿里云ECS/腾讯云CVM/AWS EC2 t3.large或更高、DigitalOcean droplet等
2. 域名与SSL证书(强烈推荐)
- 准备一个域名(如safe.company.com),解析到服务器公网IP
- 获取免费SSL证书(推荐Let’s Encrypt)或购买商用证书
为什么必须HTTPS?SafeW的MTProto协议在生产环境中强制要求TLS加密,http连接会被客户端拒绝
3. 端口规划
需要对外开放的端口:
- 443(HTTPS,MTProto默认走443)
- 可选:80(用于证书申请重定向)
- 内部:5432(PostgreSQL,如果不做外部访问可防火墙关闭)
- 其他:根据需要开放22(SSH)、2375/2376(Docker,如果远程管理)
4. 软件环境准备
在服务器上提前安装:
- Docker(推荐方式,部署最简单)
- Docker Compose(v2+)
- Git(用于拉取配置文件示例)
- Nginx(可选,作为反向代理+负载均衡)
命令快速安装(Ubuntu为例):
sudo apt update && sudo apt upgrade -y
sudo apt install docker.io docker-compose git nginx curl -y
sudo systemctl enable docker
sudo usermod -aG docker $USER # 重登录生效
步骤一:获取SafeW服务器端部署包与密钥
SafeW官方不公开提供镜像或源码,需要通过官方渠道申请企业部署权限。
操作路径:
- 使用已注册的SafeW账号登录应用
- 进入“设置 → 企业服务 → 申请私有化部署”
- 填写公司信息、预计用户规模、服务器位置等
- 提交后,通常1-3个工作日内收到官方回复,包含:
- Docker镜像拉取地址(private registry)
- API_ID 和 API_HASH(类似Telegram的开发者密钥)
- 初始管理员账号/密码或邀请码
- 部署文档链接或配置文件模板
如果已获得企业合作,可直接从官方提供的私有仓库拉取镜像:
docker login registry.safew.com -u yourcompany -p yourtoken
步骤二:使用Docker Compose一键部署SafeW服务端
创建项目目录:
mkdir safew-server && cd safew-server
创建docker-compose.yml文件(以下为典型配置,实际以官方模板为准):
version: '3.8'
services:
postgres:
image: postgres:14
restart: always
environment:
POSTGRES_DB: safew
POSTGRES_USER: safew
POSTGRES_PASSWORD: your_strong_password
volumes:
- pgdata:/var/lib/postgresql/data
ports:
- "5432:5432" # 生产环境建议移除或防火墙限制
redis:
image: redis:7
restart: always
volumes:
- redisdata:/data
safew-server:
image: registry.safew.com/enterprise/safew-server:latest # 官方提供
restart: always
depends_on:
- postgres
- redis
environment:
- DATABASE_URL=postgresql://safew:your_strong_password@postgres:5432/safew
- REDIS_URL=redis://redis:6379/0
- API_ID=your_api_id_from_official
- API_HASH=your_api_hash_from_official
- SERVER_SECRET=generate_a_strong_32byte_secret_here # 必须唯一且保密
- DOMAIN=safe.company.com
- PORT=443
- TLS_ENABLED=true
- LOG_LEVEL=info
ports:
- "443:443"
- "80:80" # 可选,用于证书申请
volumes:
- ./certs:/app/certs # 存放SSL证书
- ./logs:/app/logs
volumes:
pgdata:
redisdata:
重要环境变量说明:
- SERVER_SECRET:32字节随机字符串,用于MTProto加密密钥生成(使用
openssl rand -hex 32生成) - DOMAIN:你的域名,用于证书校验和客户端连接
- TLS_ENABLED:true(必须)
步骤三:申请并配置SSL证书
最简单方式使用certbot + Nginx:
- 安装certbot:
sudo apt install certbot python3-certbot-nginx -y
- 申请证书(假设已将域名解析到服务器):
sudo certbot --nginx -d safe.company.com
- 证书生成后,复制到docker-compose volumes目录:
sudo cp /etc/letsencrypt/live/safe.company.com/fullchain.pem ./certs/
sudo cp /etc/letsencrypt/live/safe.company.com/privkey.pem ./certs/
- 调整docker-compose中safew-server volumes映射正确路径
步骤四:启动服务并初始化数据库
docker-compose up -d
首次启动会自动创建数据库表结构。查看日志确认启动正常:
docker-compose logs -f safew-server
看到类似Server started on 0.0.0.0:443 和 MTProto ready 即表示成功。
步骤五:客户端连接到私有服务器
在任意已安装SafeW的设备上:
- 打开SafeW → 设置 → 账户 → 添加服务器(或“切换服务器”)
- 输入服务器地址:
safe.company.com(或IP:443,如果无域名) - 如果提示证书不受信任,先确认已正确配置SSL
- 连接成功后,点击“注册新账户”或“使用已有账户”
- 新注册:手机号验证后自动绑定到你的私有服务器
- 已有账户:如果原账户在公共服务器,需先注销再用同一手机号在新服务器注册(聊天记录不迁移)
企业管理员可生成批量邀请码:
- 登录管理员后台(通常通过浏览器访问 https://safe.company.com/admin ,凭官方提供的初始凭证登录)
- 创建邀请码 → 设置有效期、用户数限制
- 分享给员工,员工在注册页输入邀请码即可自动加入企业组织
步骤六:常见部署问题排查与优化
- 连接失败,提示“服务器不可达”
→ 检查443端口是否对外开放(ufw allow 443)
→ 确认域名解析正确(dig safe.company.com)
→ 查看证书是否过期 - 客户端提示“证书不受信任”
→ 确保使用了有效域名证书,而非自签名 - 消息发送延迟或失败
→ 检查redis/postgres是否正常(docker ps)
→ 增加服务器资源 - 文件上传慢
→ 后期可集成MinIO/S3兼容对象存储,修改配置文件指向外部存储 - 如何升级服务端
→ docker-compose pull → docker-compose up -d
步骤七:生产环境安全加固建议
- 防火墙:仅开放80/443,关闭其他端口
- Fail2Ban:防止暴力破解
- 定期备份:数据库 + 证书 + 配置文件
- 日志监控:ELK或Prometheus + Grafana
- 更新策略:每周检查官方镜像更新
- 多节点:后期可部署多实例 + Nginx负载均衡
完成以上步骤后,你的团队就拥有了一个完全自控、端到端加密、数据不出内网的即时通讯+云办公平台。所有聊天、文件、语音视频通话全部运行在你自己的服务器上,SafeW公共服务器无法访问任何数据。
私有化部署虽然前期投入稍高(主要是服务器成本和运维精力),但对于金融、法务、研发、政府等对数据主权要求极高的场景,是目前最彻底的隐私解决方案。部署完成后,建议先小范围测试几天,确认稳定后再全员切换。

