自部署私有Asciinema服务端
想要更详细请查看官方资料: Self-hosting - asciinema docs
部署私有特征
因为要部署私有的存回放的Asciinema的服务端,特征是
- 禁止所有人注册
- 禁止所有人上传
- 允许所有人观看
生成Secret key
填入Docker-compose文件的SECRET_KEY_BASE环境变量上
LC_ALL=C tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 64; echo
Docker-compose.yml
services:
asciinema:
image: ghcr.io/asciinema/asciinema-server:20260207
ports:
# 127.0.0.1只允许宿主机本地访问,禁止外网直连
- '127.0.0.1:4000:4000' # 服务端口
- '127.0.0.1:4002:4002' # 后台管理端口(没有鉴权,不建议开放)(删除这行吧)
environment:
- SECRET_KEY_BASE=... # 填入前面生成的SecretKey
- URL_HOST=... #反代后绑定的域名
- URL_SCHEME=https # https或http
- UPLOAD_AUTH_REQUIRED=true # 上传需要认证
- SIGN_UP_DISABLED=true # 禁止注册:第一次启动改为false,注册完再改回true
# 下面三个参数都是用户登录注册发邮件的,如果不填写,需要进docker后台寻找登录注册的激活url。
- SMTP_HOST=...
- SMTP_USERNAME=...
- SMTP_PASSWORD=...
- MAIL_FROM_ADDRESS=... #填写你的发件邮件地址,不然会报错`501 Mail from address must be same as authorization user`
- MAIL_REPLY_TO_ADDRESS=... #回信邮件地址,自己用可不填。
- CONTACT_EMAIL_ADDRESS=... #管理员联系地址,自己用可不填。
volumes:
- ./asciinema_data:/var/lib/asciinema # 数据存在当前目录下的asciinema_data文件夹
depends_on:
postgres:
condition: service_healthy
postgres:
image: docker.io/library/postgres:14
environment:
- POSTGRES_HOST_AUTH_METHOD=trust
volumes:
- ./postgres_data:/var/lib/postgresql/data
healthcheck:
test: ['CMD-SHELL', 'pg_isready -U postgres']
interval: 2s
timeout: 5s
retries: 10
然后反代4000端口,这里为假设为https://anm.sky233.top
部署后操作
第一次部署后先用docker compose up,先别用-d参数。SIGN_UP_DISABLED先设置为false
0. 预览网页并注册


点击Log In/Sign Up,输入你的用户名,在docker-compose后端找到验证url并访问。


输入用户名注册完成。

此时可以回到docker-compose,停止运行,改SIGN_UP_DISABLED为true再启动。
后续登录需要STMP发送邮件访问登录URL,如果没有那需要进后台找,我建议还是绑定STMP。
1. 配置环境变量
export ASCIINEMA_SERVER_URL=https://anm.sky233.top #CLI 3.x版本 export ASCIINEMA_API_URL=https://anm.sky233.top #CLI 2.x版本
2. 绑定用户
asciinema auth

访问Url完成绑定。

3.上传
➜ saa asciinema upload demo.cast
View the recording at:
https://anm.sky233.top/a/xxxxxxxxxxxxx
访问url进行预览,可在网页配置查看权限,标题等其他信息。
查看权限有以下三个:
- 私有
- 公开
- 只能通过链接查看。
4. 推流
➜ saa asciinema stream -r ::: asciinema session started ::: Live streaming at https://anm.sky233.top/s/xxxxxxxxx ::: Press <ctrl+d> or type 'exit' to end
开启推流之后可以访问返回的url,实时查看终端操作。

推流后可点击网页右下角的配置权限。
评论区
评论加载中...