{"id":16218732,"url":"https://github.com/marcelstoer/docker-nodemcu-build","last_synced_at":"2025-05-08T16:56:01.460Z","repository":{"id":69157882,"uuid":"44854266","full_name":"marcelstoer/docker-nodemcu-build","owner":"marcelstoer","description":"Docker image to build NodeMCU firmware for the ESP8266 on your machine","archived":false,"fork":false,"pushed_at":"2024-01-15T21:47:40.000Z","size":74,"stargazers_count":132,"open_issues_count":7,"forks_count":63,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-05-08T16:55:45.738Z","etag":null,"topics":["docker","nodemcu"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/marcelstoer/nodemcu-build/","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marcelstoer.png","metadata":{"files":{"readme":"README-CN.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-10-24T05:55:45.000Z","updated_at":"2025-05-08T11:42:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"097a9c23-012e-4c47-8802-3ac03bf05e73","html_url":"https://github.com/marcelstoer/docker-nodemcu-build","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcelstoer%2Fdocker-nodemcu-build","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcelstoer%2Fdocker-nodemcu-build/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcelstoer%2Fdocker-nodemcu-build/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcelstoer%2Fdocker-nodemcu-build/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marcelstoer","download_url":"https://codeload.github.com/marcelstoer/docker-nodemcu-build/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253112074,"owners_count":21856070,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","nodemcu"],"created_at":"2024-10-10T11:50:27.717Z","updated_at":"2025-05-08T16:56:01.445Z","avatar_url":"https://github.com/marcelstoer.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Docker NodeMCU build\n[![Docker Pulls](https://img.shields.io/docker/pulls/marcelstoer/nodemcu-build.svg)](https://hub.docker.com/r/marcelstoer/nodemcu-build/) [![Docker Stars](https://img.shields.io/docker/stars/marcelstoer/nodemcu-build.svg)](https://hub.docker.com/r/marcelstoer/nodemcu-build/) [![License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat)](https://github.com/marcelstoer/docker-nodemcu-build/blob/master/LICENSE)\n\n\n克隆 [NodeMCU firmware](https://github.com/nodemcu/nodemcu-firmware) 并自定义本地配置文件，使用这个 Dcoker 镜像可以方便的编译出固件 [下载到 ESP8266](http://nodemcu.readthedocs.org/en/dev/en/flash/)。\n\n## 目标群体\nNodeMCU 开发者可以分为三类：\n- 应用开发者\n\n  他们需要一个现成的固件, 我创建 [云端构建服务](http://nodemcu-build.com/index.php) 具有界面友好的配置选项。但是，如果是使用 [LFS](https://nodemcu.readthedocs.io/en/latest/en/lfs/) ，他们可能想建立他们的LFS映像作为 [Terry Ellison's online service](https://blog.ellisons.org.uk/article/nodemcu/a-lua-cross-compile-web-service/) 在线服务的替代品。  \n  **这个镜像正是你们心中所求!**\n\n- 固件极客\n\n  他们不需要完全控制整个工具链，也不希望在构建环境中设置 Linux 虚拟机。  \n  **这个镜像正是你们心中所求!**\n\n- 固件开发者\n\n  他们在 GitHub 上提交或贡献项目，并且需要 [自己构建完整的编译环境和完整的工具链](http://www.esp8266.com/wiki/doku.php?id=toolchain#how_to_setup_a_vm_to_host_your_toolchain) 。他们肯定会发现这个镜像有用。\n\n## 用法\n\n### 安装 Docker\nDocker 是一个开源项目，让应用程序布署在软件容器下的工作可以自动化进行，借此在Linux操作系统上，提供一个额外的软件抽象层，以及操作系统层虚拟化的自动管理机制。Docker 现在拥有不同系统平台的安装包，查看[官方文档](https://docs.docker.com/get-started/)可以获取方便的安装教程。\n\n### 克隆仓库\n运行下面命令克隆代码到你喜欢的目录：\n```bash\ngit clone https://github.com/nodemcu/nodemcu-firmware.git\n```\n\n### 配置要使用的模块和特性\n**注意**构建脚本会将下面设的置选项添加到 NodeMCU 引导信息(在应用程序启动时转储到控制台)。\n配置要构建的模块功能编辑 `app/include/user_modules.h` 文件，也可以考虑在 `app/include/user_config.h `中打开 SSL 或 LFS。在同一个文件中的`#define LUA_NUMBER_INTEGRAL`参数，可以控制是否使用浮点支持构建固件。有关构建选项的其他选项和详细信息，请参阅 [NodeMCU 文档](https://nodemcu.readthedocs.io/en/latest/en/build/#build-options)。\n\n### 使用 Docker 运行此镜像创建 LFS 固件\n启动 Docker 并切换到 NodeMCU 固件目录, 运行下面命令创建 LFS 固件:\n```\ndocker run --rm -ti -v `pwd`:/opt/nodemcu-firmware -v {PathToLuaSourceFolder}:/opt/lua marcelstoer/nodemcu-build lfs-image\n```\n这将编译并存储给定文件夹及其目录中中的所有 Lua 文件。\n\n#### 输出\n根据你构建的固件类型的不同，这将在 lua 文件夹的根目录中创建一个或两个 LFS 映像。\n\n### Windows 用户笔记\nDocker 在 Windows 平台处理路径略有不同，你需要在命令中指定 NodeMCU 固件目录的完整路径，且需要在 Windows 路径中添加一个额外的正斜杠('/')。这样命令就变成了(即c盘, \"c:\")：\n```\ndocker run --rm -it -v //c/Users/\u003cuser\u003e/\u003cnodemcu-firmware\u003e:/opt/nodemcu-firmware marcelstoer/nodemcu-build\n```\n如果Windows路径包含空格，那么它必须像往常一样在 Windows 上用引号括起来。  \n```\ndocker run --rm -it -v \"//c/Users/monster tune/\u003cnodemcu-firmware\u003e\":/opt/nodemcu-firmware marcelstoer/nodemcu-build\n```\n如果这个 Docker 容器挂载存储 hang 死了，请检查 Windows 服务 “LanmanServer” 是否正在运行，[详见 DockerBug #2196](https://github.com/docker/for-win/issues/2196)。\n\n### ‼️ 如果你以前拉取过 docker 镜像(例如根据上面的命令)，你应该经常更新镜像，以获得最新的错误修复:\n```\ndocker pull marcelstoer/nodemcu-build\n```\n\n## 支持\n希望大家不要在 Docker Hub 提问。 首先，Docker Hub 不会通知我。第二，问题在不集中保持下去这样意义不太大。欢迎在 [StackOverflow](http://stackoverflow.com/) 提问并且打上 `nodemcu` 和 `docker` 标签。\n\n对于错误和改进建议，可以在这里提出问题 [https://github.com/marcelstoer/docker-nodemcu-build/issues](https://github.com/marcelstoer/docker-nodemcu-build/issues)\n\n## 贡献\n感谢 [Paul Sokolovsky](http://pfalcon-oe.blogspot.com/) 创建并维护 [esp-open-sdk](https://github.com/pfalcon/esp-open-sdk)。  \n把更多的感谢给  [Gregor Hartmann](https://github.com/HHHartmann) ，他实现了 LFS 支持，并删除了此镜像的设计不良的 `INTEGER_ONLY` / `FLOAT_ONLY` 参数。\n\n## 作者\n[http://frightanic.com](http://frightanic.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcelstoer%2Fdocker-nodemcu-build","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcelstoer%2Fdocker-nodemcu-build","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcelstoer%2Fdocker-nodemcu-build/lists"}