Docker树莓派实践——Pi Dashboard
步骤/目录:
0.Pi Dashboard简介
1.LNP部署Pi Dashboard
本文首发于个人博客https://lisper517.top/index.php/archives/36/
,转载请注明出处。
本文的目的是使用docker、docker-compose在树莓派上运行Pi Dashboard。
本文实验日期为2022年8月27日。本文使用的是树莓派4B(内存8G版),系统为Pi OS 64位桌面版(2022年4月4日更新,镜像名 2022-04-04-raspios-bullseye-arm64.img )。
0.Pi Dashboard简介
在windows系统中,可以用任务管理器便捷地查看电脑的CPU、显卡等使用情况;对于树莓派,这样的信息收集起来比较麻烦,好在有大神开发了Pi Dashboard,这是一个网页查看树莓派状态的工具,详细介绍在 https://make.quwj.com/project/10 。简单来说Pi Dashboard的部署和Typecho类似,也是放在nginx的文件夹里、搭配php使用,不同点是不需要mysql。
1.LNP部署Pi Dashboard
这里用docker-compose运行nginx、php服务,最后把Pi Dashboard放在nginx的网页根目录下即可。
在树莓派上进行如下操作:
mkdir -p /docker/pi_dashboard/conf/nginx
mkdir /docker/pi_dashboard/www
mkdir /docker/pi_dashboard/ssl_cert
docker pull nginx:1.23.1
docker pull php:8.1-fpm
nano /docker/pi_dashboard/conf/nginx/default.conf
写入以下内容:
server {
listen 50443 ssl;
server_name www.lisper517.top;
ssl on;
ssl_certificate /ssl_cert/.pem文件名;
ssl_certificate_key /ssl_cert/.key文件名;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
index index.html index.htm index.php default.html default.htm default.php;
root /var/www/html;
}
location ~\.php$ {
fastcgi_pass php:9000;
fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;
include fastcgi_params;
}
error_page 497 https://$host:50443$request_uri;
}
这是使用https的配置,注意更改 www.lisper517.top
和ssl证书的两个文件名。如果只使用http,则写入如下内容:
server {
listen 50443;
location / {
index index.html index.htm index.php default.html default.htm default.php;
root /var/www/html;
}
location ~\.php$ {
fastcgi_pass php:9000;
fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;
include fastcgi_params;
}
}
但是要注意,无论使用http还是https,都尽量不要把这个页面开放到公网。
然后编写compose模板:
nano /docker/pi_dashboard/docker-compose.yml
写入如下内容:
version: "3.9"
services:
nginx:
image: nginx:1.23.1
ports:
- "50443:50443"
volumes:
- /docker/pi_dashboard/conf/nginx:/etc/nginx/conf.d
- /docker/pi_dashboard/ssl_cert:/ssl_cert
- /docker/pi_dashboard/www:/var/www/html
logging:
driver: syslog
restart: always
php:
image: php:8.1-fpm
volumes:
- /docker/pi_dashboard/www:/var/www/html
logging:
driver: syslog
restart: always
无论http还是https都可以用这个compose模板。然后开启服务:
cd /docker/pi_dashboard
docker-compose config
docker-compose up
看一下日志是否正常。如果用https记得用WinSCP把证书放到正确的位置;然后到 Pi Dashboard 的github页 把压缩包下载下来(Code里面,Download ZIP),解压后用WinSCP放到树莓派的/docker/pi_dashboard/www目录下,最好不要放整个文件夹,而是把里面的文件放到该目录下;如果放整个文件夹的话,把这个文件夹改名为 pi-dashboard 。
最后,浏览器访问 树莓派ip:50443 即可看到 Pi Dashboard ;如果放整个文件夹,则访问 树莓派ip:50443/pi-dashboard 。