
chiefwigms/picobrew_pico允许全面控制PicoBrew Pico S/C/Pro及Zymatic型号设备。感谢@hotzenklotz、提供PicoFerm API的Brian Moineau、支持Z系列的@tmack8001。
演示服务器
参考发布页面获取在树莓派设备(推荐型号:Raspberry Pi Zero-W或Raspberry Pi 4)上搭建Pico服务器的步骤。
默认情况下,树莓派设备的主机名为"raspberrypi",可在本地网络中发现,同时提供"samba"(或网络共享)用于会话和配方文件。可通过这些共享查看服务器在与用户和连接设备交互时创建的文件。
有两种主要方式获取错误的详细信息:
浏览器调试:大多数现代浏览器都包含"开发工具"(Chrome中路径:"设置 > 更多工具 > 开发者工具"),其中通常有控制台日志和"网络"选项卡,可查看页面的所有网络请求。
应用日志:通过ssh或本地键盘+屏幕会话查看Python服务器日志:
sudo systemctl status rc.local -n <日志行数>
以下指南面向贡献者的开发环境搭建。
DNS转发(通过路由器、树莓派等实现)
address=/picobrew.com/<运行此代码的服务器IP>Docker v19.x([***]
创建以下目录结构供服务器使用:
recipes/ pico/ zymatic/ sessions/ brew/ active/ archive/ ferm/ active/ archive/
运行服务器并挂载上述目录结构。
(可选)步骤1:生成SSL证书
若需支持要求HTTP+SSL通信的ZSeries设备,需生成自签名证书用于nginx终止SSL连接(在请求转发给flask应用前)。
./scripts/docker/nginx/ssl_certificates.sh
在MacOS上,若使用Chrome和/或Safari,可永久信任证书颁发机构(自己),使生成的证书权威被信任(Firefox在浏览器中单独存储受信任CA列表):
sudo security add-trusted-cert -d -r trustAsRoot -k /Library/Keychains/System.keychain $(pwd)/scripts/docker/nginx/certs/bundle.crt
步骤2:运行Flask服务器(可选择docker run或docker-compose)
可直接向docker命令提供所有变量,或使用仓库的docker-compose.yml(若已通过./scripts/docker/nginx/ssl_certificates.sh正确设置证书,将包含启用SSL的nginx配置)。
选项1:Docker Run(无SSL支持或外部SSL终止)
直接使用docker适用于不需要SSL连接(即非ZSeries酿造设置)或使用其他系统处理SSL连接(如mitmproxy、nginx等)的简单场景。
docker run -d -it -p 80:80 --name picobrew_pico \ --mount type=bind,source=<绝对路径到recipes>,target=/picobrew_pico/app/recipes \ --mount type=bind,source=<绝对路径到sessions>,target=/picobrew_pico/app/sessions \ chiefwigms/picobrew_pico
查看日志:先列出运行中的容器,然后通过docker查看特定实例的日志:
docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3cfda85cd90c chiefwigms/picobrew_pico "/bin/sh -c 'python3…" 45 seconds ago Up 45 seconds 0.0.0.0:80->80/tcp picobrew_pico
docker logs -f 3cfda85cd90c WebSocket transport not available. Install eventlet or gevent and gevent-websocket for improved performance. * Serving Flask app "app" (lazy loading) * Environment: production WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Debug mode: off * Running on [***] (Press CTRL+C to quit)
选项2:Docker Compose(通过专用nginx容器支持SSL)
若需同时运行http和https并由内置nginx处理SSL终止,docker-compose是最简单的配置方式:
docker-compose up --build
或后台启动:
docker-compose up --build -d
查看日志(通过服务别名app):
docker-compose logs -f app
Python >= 3.6.9
克隆仓库,然后运行
*nix系统:sudo pip3 install -r requirements.txt
Windows系统(管理员权限):pip3 install -r requirements.txt
运行服务器:
*nix系统:sudo python3 server.py
Windows系统(管理员权限):python3 server.py
(默认主机接口为0.0.0.0,端口80,可通过命令行参数指定:python3 server.py <接口> <端口>)
除本协议所述外,开发者的所有工作成果均按“原样”提供。除本协议规定外,开发者不提供任何其他明示或暗示的保证,并在此声明不承担任何默示保证,包括任何适销性保证和特定用途适用性保证。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务