-
安装Docker和Docker Compose:
- 在每个节点上安装Docker和Docker Compose,以便运行Stash的容器。
- 在 Ubuntu 上:
sudo apt-get update && sudo apt-get install docker.io docker-compose sudo systemctl restart docker
- 在 CentOS 7 上:
sudo yum install docker docker-compose sudo systemctl enable docker.service docker-compose.service
-
设置存储后端:
- 确定存储后端类型(本地、S3、Swift 等)。
- 配置本地存储后端:
mkdir -p /var/lib/stash chown -R stash:stash /var/lib/stash
- 如果使用其他存储后端(如S3),按照相应文档配置。
-
配置Stash文件路径和端口:
- 修改配置文件,设置文件路径和端口。
- 默认文件路径:
/var/lib/stash/files - 默认端口:808 和 8443(HTTPS)
-
初始化数据库:
- 访问数据库初始化页面:
http://<node-ip>:808/init - 输入数据库名称、用户和密码,生成强密码。
- 访问数据库初始化页面:
-
配置网络:
- IP转发:
echo "POSTROUTING DROP all" >> /etc/iptables.ipv4.nat echo "POSTROUTING ACCEPT all" >> /etc/iptables.ipv4.nat service iptables save service iptables restart
- 防火墙规则:
sudo ufw allow out 808
- IP转发:
-
配置集群信息:
- 在每个节点上,设置相同的集群ID和配置。
- 配置文件:
vi /etc/stash/config.json { "storage": { "type": "file", "path": "/var/lib/stash/files", "capacity": 5GB }, "cluster": { "http-port": 808, "grpc-port": 8443, "cluster-id": "stash-cluster-id" } } - 确保所有节点的
cluster-id一致。
-
配置身份验证:
- 设置一个秘密密钥,比如在
/etc/stash/secret中:echo 'supersecretkey123' > /etc/stash/secret chmod 600 /etc/stash/secret
- 修改配置文件:
vi /etc/stash/config.json "auth": { "secret-key": "supersecretkey123" }
- 设置一个秘密密钥,比如在
-
启动Stash容器:
-
使用Docker命令或Docker Compose:
# 创建Docker Compose 配置文件 version: '3' services: stash: image: stash/stash:latest restart: always ports: - "808:808" - "8443:8443" environment: - STASH_STORAGE_TYPE=file - STASH_STORAGE_PATH=/var/lib/stash/files - STASH_SECRET_KEY=supersecretkey123 volumes: - /var/lib/stash:/var/lib/stash -
启动容器:
docker-compose up -d
-
-
验证配置:
- 访问节点IP和端口,确认服务运行:
curl http://localhost:808/health
- 检查是否有错误日志:
docker-compose logs -f
- 访问节点IP和端口,确认服务运行:
-
高级配置(如需要):
设置定制存储后端或集群加密,根据需求调整参数。
完成以上步骤后,Stash节点应已配置完成,确保各节点间通信正常,服务能够正确运行。









