🔳Manage you team's server via browser 通过浏览器管理服务器。堡垒机
APACHE-2.0 License
创建团队,邀请你的小伙伴加入,管理你的服务器
成员无需关心服务器的地址/帐号/密码/密钥等敏感信息,即可连接服务器进行操作
你在终端的每一步操作,都会被完整地记录下来,并且支持回放功能。有内鬼,终止交易
使用技术 Golang + Node.js + Nuxt.js 构建,前后端分离
首先确保你已安装
$ git clone https://github.com/axetroy/wsm.git $GOPATH/src/github.com/axetroy/wsm
$ cd $GOPATH/src/github.com/axetroy/wsm
$ cd ./docker
$ docker-compose up
$ go run cmd/user/main.go start
$ cd ./frontend
$ yarn
$ npm run dev
到这里就已经启动完毕,打开浏览器 http://localhosst:3000
部署分为两部分
使用 docker-compose 部署数据库
version: "3"
services:
# 数据库
pg:
image: postgres:9.6.16-alpine
restart: always
volumes:
- "./volumes/pg:/var/lib/postgresql/data"
ports:
- 54321:5432 # 本机端口:容器端口
environment:
- POSTGRES_USER=terminal # 用户名
- POSTGRES_PASSWORD=terminal # 数据库密码
- POSTGRES_DB=terminal # 数据库名
# 缓存
redis:
image: redis:5.0.7-alpine
restart: always
ports:
- 6379:6379
volumes:
- "./volumes/redis:/data"
environment:
- REDIS_PASSWORD=password
command: ["redis-server", "--requirepass", "password"]
部署应用程序,使用 Nginx
+ 前端镜像
+ 后端镜像
进行部署
需要使用 nginx.conf 文件和 docker-compose.yml 文件
version: "3"
services:
# 网关
nginx:
image: nginx:1.17.7-alpine
restart: always
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
- ./logs/nginx:/var/log/nginx
ports:
- 8000:80 # 宿主端口:容器端口
links:
- frontend
- backend
# 前端
frontend:
image: axetroy/wsm-frontend:latest
restart: always
links:
- backend
environment:
- API_HOST=http://192.168.1.29:9000 # 请求接口的域名, 请自行更改
# 后端接口
backend:
image: axetroy/wsm-backend:latest
restart: always
ports:
- 9000:80
environment:
# 更多环境变量配置请查看 .env 文件
- DB_HOST=192.168.1.29 # 要连接的数据库 IP,请自行更改
- DB_PORT=54321 # 要连接的数据库端口
后端接口部分全部由环境变量进行配置,可用的配置选项参考 .env