前言
之前帮一位朋友部署油管粉丝数显示牌的服务端.由于特殊需求,需要把AWTRIX
的服务器端
部署到 VPS 服务器上.本文将介绍如何在 VPS 服务器上使用 docker 部署 AWTRIX 2.0 Server 服务器端.
同时推荐好友的 Youtube 频道,生活科技类Vlog,欢迎订阅,点赞,小铃铛.
AWTRIX 服务一般建议部署到家里的群晖 Docker 中,详细教程请参考:
群晖NAS高级服务 - docker 部署 AWTRIX 2.0 Server
群晖NAS高级服务 - docker 部署 AWTRIX 2.0 Server
本文为 Stille 原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.
本文已更新于 2020.06.28
重要说明
由于
awtrix
版本的更新,很多小伙伴,甚至Youtube
网红小姐姐使用我的教程都翻车了,只能深表遗憾.其实博主早已使用新版镜像正常运行过一段时间,特重新编辑修改文本以供参考!
docker 部署
启动容器
docker run -d --name awtrix2 \
--restart always \
-p 7000:7000 \
-p 7001:7001 \
-v /root/awtrix2:/data \
-e TZ=Asia/Shanghai \
whyet/awtrix2
相关说明
/root/awtrix2
为配置文件挂载的本地目录,正式使用后请随时备份此文件夹以便方便迁移.7000
为Web
访问端口,可根据情况修改或者参照下文做反向代理.7001
为连接端口,建议不要修改,防火墙需开放此端口.
Web访问
输入服务器公网 IP 加端口号即可访问 http://服务器IP:7000
配置域名
反向代理配置
- 参照以下配置,替换 yourdomain.com 为你的域名.
- 注意已经配置 301 跳转强制使用 HTTPS 协议.
- 修改 SSL 证书路径
nginx 配置参考
upstream awtrix2 {
server 127.0.0.1:7000;
}
server {
listen 80;
server_name yourdomain.com;
return 301 https://yourdomain.com$request_uri;
}
server {
listen 443 ssl;
server_name yourdomain.com;
gzip on;
ssl_certificate /usr/local/nginx/conf/ssl/yourdomain.com.crt;
ssl_certificate_key /usr/local/nginx/conf/ssl/yourdomain.com.key;
location / {
proxy_redirect off;
proxy_pass http://awtrix2;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Ssl on;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Frame-Options SAMEORIGIN;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
client_max_body_size 100m;
client_body_buffer_size 128k;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
2020-06-28 作废历史版本,仅作存档,请勿参考!
项目简介
项目地址
- GitHub stilleshan/awtrix-server
Docker stilleshan/awtrix-server
镜像说明
网上现有的 docker 镜像都不太完美,于是根据网上常见的问题重新制作了 docker 镜像.
- 原版项目awtrix.jar
- 容器中更改为中国时区
- 挂载目录,方便存储,迁移配置及插件等文件.
你也可以根据仓库中的Dockerfile自行构建镜像
docker部署
下载配置文件
进入项目仓库 stilleshan/awtrix-server 下载或者clone本仓库,复制awtrix
文件夹到你指定的目录,建议存放至/root
下.
启动容器
docker run -d --name=awtrix --restart=always -p 7000:7000 -p 7001:7001 -v /root/awtrix:/awtrix stilleshan/awtrix-server
开放端口
服务器或控制台开放7000和7001端口.
- 7000端口为Web UI端口,如使用nginx反向代理,可无需开放.
- 7001端口为Matrix Port,需开放此端口.
Web访问
输入服务器公网IP加端口号即可访问 http://服务器IP:7000
配置域名及访问密码
配置访问密码
由于AWTRIX服务器端无密码,任何知道Web地址的人都能修改相关参数,为保证安全,使用httpd-tools为nginx配置访问密码来保护服务器端.
安装HTTPD Tools工具包
yum -y install httpd-tools
生成密码文件
htpasswd -bdc FileName user password
修改 FileName user password ,例如 htpasswd -bdc 123 admin 123456 ,则在当前目录生成名为123的密码文件,网站访问时需要的账号密码为 admin 和 123456 .
nginx配置文件添加密码
auth_basic "Restricted";
auth_basic_user_file /xxx/xxx/xxx;
路径为生成的密码文件的路径
WebSocket支持
由于 AWTRIX
的 Web
中有依托于 WebSocket
的内容,所以需要配置nginx来支持WebSocket.插入以下代码到nginx配置文件中.
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
反向代理配置
结合上文提到的密码和WebSocket,配置反向代理需要注意以下几点:
- 参照以下配置,替换
yourdomain.com
为你的域名. - 注意已经配置301跳转强制使用HTTPS协议.
- 修改SSL证书路径
- 配置上文生成的密码文件以保护Web的安全.
- 配置WebSocket支持
Nginx示例
upstream awtrix {
server 127.0.0.1:7000;
}
server {
listen 80;
server_name yourdomain.com;
return 301 https://yourdomain.com$request_uri;
}
server {
listen 443 ssl;
server_name yourdomain.com;
gzip on;
auth_basic "Restricted";
auth_basic_user_file /usr/local/nginx/conf/vhost/awtrix;
ssl_certificate /usr/local/nginx/conf/ssl/yourdomain.com.crt;
ssl_certificate_key /usr/local/nginx/conf/ssl/yourdomain.com.key;
location / {
proxy_redirect off;
proxy_pass http://awtrix;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Ssl on;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Frame-Options SAMEORIGIN;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
client_max_body_size 100m;
client_body_buffer_size 128k;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
配置完成
访问你的域名输入账号密码即可
结语
更多相关信息请参考以下链接:
本文为 Stille 原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.
8 条评论
[...]项目官网 AWTRIX 2.0Linux 服务器 docker 部署 AWTRIX 2.0 Server群晖NAS高级服务 – docker 部署 AWTRIX 2.0 Server[...]
[...]如没有群晖,或者群晖型号不支持 docker,也可以部署到 VPS 服务器上,详细教程请参考:Linux 服务器 docker 部署 AWTRIX 2.0 Server[...]
成功运行容器后 awtrix.jar 文件下载很慢,差不多要2个小时才能打开网页
这个服务搭建在国外的服务器的话像素钟显示会变得很卡,部署国内的话里面的APP应用商城被墙打不开,能不能优化一下脚本变得更好用?
您好,有AWTRIX2.0-Controller之前的版本吗,现在的版本不知道在哪里改WIFI和服务器地址。
https://awtrixdocs.blueforcer.de/#/en-en/controller?id=flashing
不好意思,我也不大懂这个,主要是帮朋友搭了个服务器给他用,才弄的.
好的吧,谢谢。