From 1d153f878f960e469b8aa42669277b4472429a40 Mon Sep 17 00:00:00 2001 From: Shinya Ishikawa Date: Mon, 27 Feb 2023 18:02:29 +0000 Subject: [PATCH 1/5] Use the latest release(3.7.0) --- firmware/{ => docker}/Dockerfile | 6 +++--- firmware/{ => docker}/build-container.sh | 0 firmware/{ => docker}/launch-container.sh | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) rename firmware/{ => docker}/Dockerfile (65%) rename firmware/{ => docker}/build-container.sh (100%) rename firmware/{ => docker}/launch-container.sh (57%) diff --git a/firmware/Dockerfile b/firmware/docker/Dockerfile similarity index 65% rename from firmware/Dockerfile rename to firmware/docker/Dockerfile index cc0e7ac0..2e95257c 100644 --- a/firmware/Dockerfile +++ b/firmware/docker/Dockerfile @@ -1,11 +1,11 @@ -FROM meganetaaan/moddable-esp32:moddable-ae5ed20 +FROM meganetaaan/moddable-esp32:3.7.0 LABEL maintainer "Shinya Ishikawa" -RUN curl -SL https://deb.nodesource.com/setup_14.x | bash \ +RUN curl -SL https://deb.nodesource.com/setup_16.x | bash \ && apt-get update \ && apt-get install -y --no-install-recommends \ nodejs \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* -RUN npm install -g typescript +RUN npm install --global typescript RUN echo ". /opt/esp/idf/export.sh" >> /root/.bashrc diff --git a/firmware/build-container.sh b/firmware/docker/build-container.sh similarity index 100% rename from firmware/build-container.sh rename to firmware/docker/build-container.sh diff --git a/firmware/launch-container.sh b/firmware/docker/launch-container.sh similarity index 57% rename from firmware/launch-container.sh rename to firmware/docker/launch-container.sh index af2ee519..dedb5e3b 100755 --- a/firmware/launch-container.sh +++ b/firmware/docker/launch-container.sh @@ -3,7 +3,8 @@ xhost +local: docker run \ --rm -it \ --privileged \ - -v $PWD:/workspace \ + --mount "type=volume,src=node_modules,dst=/workspace/node_modules" \ + --mount "type=bind,src=${PWD},dst=/workspace" \ -v /dev:/dev \ -e DISPLAY=$DISPLAY \ --net=host \ From 7a14881b45d62e29e686f9962f0f8d3926a1a2aa Mon Sep 17 00:00:00 2001 From: Shinya Ishikawa Date: Mon, 27 Feb 2023 18:03:02 +0000 Subject: [PATCH 2/5] Fix devcontainer --- firmware/.devcontainer/devcontainer.json | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/firmware/.devcontainer/devcontainer.json b/firmware/.devcontainer/devcontainer.json index c39d4094..ceb4cda6 100644 --- a/firmware/.devcontainer/devcontainer.json +++ b/firmware/.devcontainer/devcontainer.json @@ -7,7 +7,7 @@ "context": "..", // Update the 'dockerFile' property if you aren't using the standard 'Dockerfile' filename. - "dockerFile": "../Dockerfile", + "dockerFile": "../docker/Dockerfile", // Set *default* container specific settings.json values on container create. // "settings": { @@ -34,7 +34,10 @@ // Uncomment to use the Docker CLI from inside the container. See https://aka.ms/vscode-remote/samples/docker-from-docker. // "mounts": [ "source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind" ], - "mounts": ["source=/dev,target=/dev,type=bind"], + "mounts": [ + "type=volume,source=node_modules,target=/workspace/node_modules", + "type=bind,source=/dev,target=/dev,type=bind" + ], // Uncomment to connect as a non-root user if you've added one. See https://aka.ms/vscode-remote/containers/non-root. "remoteUser": "root" From 33e82f713f43e3af0b928feef74a9fbd6b719bc9 Mon Sep 17 00:00:00 2001 From: Shinya Ishikawa Date: Wed, 1 Mar 2023 22:43:16 +0900 Subject: [PATCH 3/5] Revert nodejs version to fix permission issue https://github.com/nodejs/docker-node/issues/1603 --- firmware/docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firmware/docker/Dockerfile b/firmware/docker/Dockerfile index 2e95257c..3a9fe582 100644 --- a/firmware/docker/Dockerfile +++ b/firmware/docker/Dockerfile @@ -1,7 +1,7 @@ FROM meganetaaan/moddable-esp32:3.7.0 LABEL maintainer "Shinya Ishikawa" -RUN curl -SL https://deb.nodesource.com/setup_16.x | bash \ +RUN curl -SL https://deb.nodesource.com/setup_14.x | bash \ && apt-get update \ && apt-get install -y --no-install-recommends \ nodejs \ From 51ea2090c7bccf999930ef980e7d581967073788 Mon Sep 17 00:00:00 2001 From: Shinya Ishikawa Date: Sat, 4 Mar 2023 01:55:54 +0900 Subject: [PATCH 4/5] Use more specific volume name --- firmware/.devcontainer/devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firmware/.devcontainer/devcontainer.json b/firmware/.devcontainer/devcontainer.json index ceb4cda6..c8e89748 100644 --- a/firmware/.devcontainer/devcontainer.json +++ b/firmware/.devcontainer/devcontainer.json @@ -35,7 +35,7 @@ // Uncomment to use the Docker CLI from inside the container. See https://aka.ms/vscode-remote/samples/docker-from-docker. // "mounts": [ "source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind" ], "mounts": [ - "type=volume,source=node_modules,target=/workspace/node_modules", + "type=volume,source=stackchan_firmware_node_modules,target=/workspace/node_modules", "type=bind,source=/dev,target=/dev,type=bind" ], From 764877586511e29c4f6a3a7a425955cfe98eef9c Mon Sep 17 00:00:00 2001 From: Shinya Ishikawa Date: Sat, 4 Mar 2023 01:57:57 +0900 Subject: [PATCH 5/5] Change context path for building image --- firmware/docker/build-container.sh | 3 ++- firmware/docs/getting-started.md | 6 ++++-- firmware/docs/getting-started_ja.md | 6 ++++-- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/firmware/docker/build-container.sh b/firmware/docker/build-container.sh index 316cbc03..b578614f 100755 --- a/firmware/docker/build-container.sh +++ b/firmware/docker/build-container.sh @@ -1,2 +1,3 @@ #!/bin/bash -docker build . -t stack-chan/dev +# Run from `stack-chan/firmware` +docker build ./docker -t stack-chan/dev diff --git a/firmware/docs/getting-started.md b/firmware/docs/getting-started.md index 10f68b57..6974d84e 100644 --- a/firmware/docs/getting-started.md +++ b/firmware/docs/getting-started.md @@ -51,9 +51,11 @@ Note: This has been tested on Linux (Ubuntu 20.04); it may not work properly on #### From terminal +Run the following command in the `stack-chan/firmware` directory. + ```console -$ ./build-container.sh -$ ./launch-container.sh +$ ./docker/build-container.sh +$ ./docker/launch-container.sh # Run inside container $ npm install diff --git a/firmware/docs/getting-started_ja.md b/firmware/docs/getting-started_ja.md index c42742b8..de6255fc 100644 --- a/firmware/docs/getting-started_ja.md +++ b/firmware/docs/getting-started_ja.md @@ -51,9 +51,11 @@ Dockerコンテナの中でファームウェアのビルド、書き込みと #### ターミナルから +`stack-chan/firmware`ディレクトリで次のコマンドを実行します。 + ```console -$ ./build-container.sh -$ ./launch-container.sh +$ ./docker/build-container.sh +$ ./docker/launch-container.sh # コンテナ内で以下を実行 $ npm install