Asciinema 一个轻量级的终端录屏工具 - 搭建私服(5/7)
通常,由于企业内部信息安全策略的原因,不允许将asciicast
上传到公共仓库中。
这个时候可以在企业内部搭建私服来解决存储和分享asciicast
的需求。
硬件需求
- 单核CPU,推荐双核
- 最低1 GB RAM(带交换分区)
- 兼容Docker的64位Linux
- 最小10 GB磁盘空间
安装Asciinema Server唯一受官方支持的方法是Docker。 所以,部署服务器中Docker环境是必须的。
依赖服务
- Postgres 9.5以上的数据库
- SMTP服务器
- Redis
数据库默认支持Postgres。如果企业内部使用的是MySQL数据库。
那么,没有通过简单的修改配置项来支持MySQL数据库。
这可能需要修改源代码,重新构建镜像来支持MySQL数据库。
另外,asciicast
文件默认保存在服务器的本地存储,也可以通过修改配置将asciicast
文件保存到AWS S3
。
但是,如果希望存储到开源的OSS
,比如: MinIO。这也需要修改一些源代码。
安装
官方提供一个docker-compose.yml文件。使用它可以快速启动私服。
你可以使用git
克隆asciinema-server私服源码仓库。
|
|
然后,使用docker-compose.yml启动私服。
另一种方式是只获取必要的三文件:
- docker-compose.yml文件
- nginx容器所需要的配置文件
- 环境变量文件.env.production
获取三个必要的文件:
|
|
目录结构如下:
|
|
在启动私服之前还需要一些数据初始化和修改配置文件的操作。
初始化数据库
启动数据库:
|
|
创建数据库Scheme和初始数据:
|
|
修改配置文件
配置文件由以下部分组成:
- 私服
URL
基本配置项 - 用来签名
Cookie
等的Secret Key
PostgreSQL
数据库连接字符串Redis
连接字符串SMTP
配置AWS S3
文件存储的配置
可以根据自己的需要参照配置文件的说明修改对应的配置项。
这里修改URL_PORT
、SECRET_KEY_BASE
两项。
将URL_PORT
修改为80
SECRET_KEY_BASE
通过以下命令获取:
|
|
SMTP配置
asciinema
私服是一个基于邮件的无密码系统。
通常,企业内部都会有SMTP
服务器,配置文件添加以下配置即可:
|
|
如果只是在本地测试的话,可以添加GMAIL
账号信息中继邮件,并开启允许安全性较低的应用。否则服务收到邮件。
|
|
当一切就绪,就可以使用docker-compose
启动私服。然后在浏览器中访问http://localhost就可以看到私服的页面了。
|
|
点击页面的Log in/Sign up
,输入邮箱地址进行用户的登录或注册。
系统管理员
管理员可以执行以下管理任务:
- 编辑,删除任何录制
- 使某个录制成为特权
- 将录制修改为
Public
或Private
添加管理员
|
|
删除管理员
|
|
添加或删除的管理员账户必须事先已经在系统注册过。通过逗号,
分隔符可以一次添加或删除多个管理员。