
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
https://github.com/openwisp/docker-openwisp/workflows/Automation%20Tests/badge.svg](https://github.com/openwisp/docker-openwisp/actions?query=workflow%3A%22Automation+Tests%22) 和Let's Encrypt(certbot用于颁发HTTPS证书的联系地址)。
开始安装,运行以下命令:
bashcurl -L https://tiny.cc/autoinstall-ow-docker -o setup.sh sudo bash setup.sh
注意:安装时遇到错误?请阅读FAQ。
Docker Compose设置适用于单服务器部署需求,更快捷且对OpenWISP和网络知识要求较低。
Kubernetes部署较复杂,需具备Linux系统、Kubernetes、Docker和OpenWISP的相关知识,但可为大型网络提供扩展性。
make develop,容器就绪后,可通过模块域名访问测试。注意事项:
admin。dashboard.openwisp.org、api.openwisp.org和radius.openwisp.org。.env中设置的OpenWISP域名添加到hosts文件,例如:bash -c 'echo "127.0.0.1 dashboard.openwisp.org api.openwisp.org radius.openwisp.org" >> /etc/hosts'docker-openwisp生成的所有内容,可使用Makefile选项。可通过在仓库根目录创建.build.env文件自定义Python包,文件格式为<变量>=<值>,多行分隔。支持的变量如下:
OPENWISP_MONITORING_SOURCEOPENWISP_FIRMWARE_SOURCEOPENWISP_CONTROLLER_SOURCEOPENWISP_NOTIFICATION_SOURCEOPENWISP_TOPOLOGY_SOURCEOPENWISP_RADIUS_SOURCEOPENWISP_USERS_SOURCEOPENWISP_UTILS_SOURCEDJANGO_SOURCEDJANGO_NETJSONCONFIG_SOURCEDJANGO_X509_SOURCE例如,若要自定义Django和OpenWISP控制器源,.build.env内容如下:
DJANGO_SOURCE=django==2.1 OPENWISP_CONTROLLER_SOURCE=https://github.com/<用户名>/openwisp-api/tarball/master
当前为临时指南,可能存在错误。如有问题,请在Gitter频道报告。
openwisp-dashboard:核心服务,不可禁用,提供核心功能。openwisp-api:不可禁用,用于与设备交互。openwisp-websocket:移除后无法更新移动设备的实时位置。禁用服务通常可直接移除对应容器,但部分服务需额外步骤:
openwisp-network-topology:设置USE_OPENWISP_TOPOLOGY=False。openwisp-firmware-upgrader:设置USE_OPENWISP_FIRMWARE=False。openwisp-monitoring:设置USE_OPENWISP_MONITORING=False。openwisp-radius:设置USE_OPENWISP_RADIUS=False。openwisp-postgres:若使用独立数据库实例:
openvpn、freeradius、celerybeat、celery、websocket、radius、api、dashboard。DB_SSLMODE、DB_SSLKEY、DB_SSLCERT、DB_SSLROOTCERT。600且属主为root:root。<DB_NAME>的数据库。openwisp-postfix:
可使用geckodriver(Firefox)或chromedriver(Chromium)运行测试,推荐Chromium,因其可检查控制台日志错误。
设置Selenium驱动:
设置chromedriver:
sudo apt --yes install chromiumchromium --versionhttps://chromedriver.chromium.org/downloads$PATH目录(如/usr/bin/)。设置geckodriver:
sudo apt --yes install firefoxfirefox --versionhttps://github.com/mozilla/geckodriver/releases$PATH目录(如/usr/bin/)。安装Selenium:python3 -m pip install selenium
(可选)配置:编辑tests/config.json设置变量,选项如下:
yamldriver : 测试驱动名称,"chromium"或"firefox" logs : 错误时打印容器日志 logs_file : 测试日志保存路径 headless : 无头模式运行Chrome驱动 load_init_data : 数据库创建后是否运行tests/data.py(仅需一次) app_url : 管理仪表板URL username : 管理仪表板登录用户名 password : 管理仪表板登录密码 services_max_retries : 服务运行检查最大重试次数 services_delay_retries : 服务运行检查重试间隔(秒)
运行测试:make runtests
常用选项:
start<USER=docker-username> <TAG=image-tag>:在服务器启动OpenWISP容器。pull<USER=docker-username> <TAG=image-tag>:从仓库拉取镜像。stop:停止服务器上的容器。develop:捆绑构建镜像和运行容器的所有命令。runtests:运行测试以确保所有服务正常工作。clean:彻底清除与docker-openwisp相关的容器、镜像、卷和网络。其他选项:
publish <USER=docker-username> <TAG=image-tag>:构建、测试并发布镜像。python-build:生成随机Django密钥并设置到.env文件。nfs-build:构建openwisp-nfs服务器镜像。base-build:构建openwisp-base基础镜像(供其他OpenWISP镜像使用)。compose-build:(默认)构建开发用OpenWISP镜像。develop-runtests:类似runtests,但测试后不停止容器,便于调试和分析失败容器日志。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务