PlatformIO Docker
This commit is contained in:
45
Docker/Dockerfile_pio
Normal file
45
Docker/Dockerfile_pio
Normal file
@@ -0,0 +1,45 @@
|
||||
FROM eclipse-temurin:11-jdk-jammy AS builder
|
||||
|
||||
RUN set -ex && \
|
||||
apt-get update && \
|
||||
apt-get install -y git python3 pip && \
|
||||
pip install --upgrade platformio && \
|
||||
pip install --upgrade esptool
|
||||
|
||||
COPY icon /usr/src/nuki_hub/icon
|
||||
COPY include /usr/src/nuki_hub/include
|
||||
COPY lib /usr/src/nuki_hub/lib
|
||||
COPY networkDevices /usr/src/nuki_hub/networkDevices
|
||||
COPY partitions.csv /usr/src/nuki_hub
|
||||
COPY platformio.ini /usr/src/nuki_hub
|
||||
COPY index.html /usr/src/nuki_hub
|
||||
COPY *.h /usr/src/nuki_hub/
|
||||
COPY *.cpp /usr/src/nuki_hub/
|
||||
|
||||
RUN set -ex && \
|
||||
cd /usr/src/nuki_hub && \
|
||||
mkdir -p release/esp32 && \
|
||||
mkdir -p release/esp32s3 && \
|
||||
mkdir -p release/esp32c3 && \
|
||||
mkdir -p release/esp32solo1 && \
|
||||
pio run --environment esp32dev && \
|
||||
esptool.py --chip esp32 merge_bin -o release/webflash_nuki_hub_esp32.bin --flash_mode dio --flash_freq keep --flash_size keep 0x1000 .pio/build/esp32dev/bootloader.bin 0x10000 .pio/build/esp32dev/firmware.bin 0x8000 .pio/build/esp32dev/partitions.bin && \
|
||||
cp .pio/build/esp32dev/bootloader.bin release/esp32/bootloader.bin && \
|
||||
cp .pio/build/esp32dev/firmware.bin release/esp32/nuki_hub_esp32.bin && \
|
||||
cp .pio/build/esp32dev/partitions.bin release/esp32/nuki_hub.partitions.bin && \
|
||||
pio run --environment esp32-s3 && \
|
||||
esptool.py --chip esp32s3 merge_bin -o release/webflash_nuki_hub_esp32s3.bin --flash_mode dio --flash_freq keep --flash_size keep 0x0 .pio/build/esp32-s3/bootloader.bin 0x10000 .pio/build/esp32-s3/firmware.bin 0x8000 .pio/build/esp32-s3/partitions.bin && \
|
||||
cp .pio/build/esp32-s3/bootloader.bin release/esp32s3/bootloader.bin && \
|
||||
cp .pio/build/esp32-s3/firmware.bin release/esp32s3/nuki_hub_esp32s3.bin && \
|
||||
cp .pio/build/esp32-s3/partitions.bin release/esp32s3/nuki_hub.partitions.bin && \
|
||||
pio run --environment esp32-c3 && \
|
||||
esptool.py --chip esp32c3 merge_bin -o release/webflash_nuki_hub_esp32c3.bin --flash_mode dio --flash_freq keep --flash_size keep 0x0 .pio/build/esp32-c3/bootloader.bin 0x10000 .pio/build/esp32-c3/firmware.bin 0x8000 .pio/build/esp32-c3/partitions.bin && \
|
||||
cp .pio/build/esp32-c3/bootloader.bin release/esp32c3/bootloader.bin && \
|
||||
cp .pio/build/esp32-c3/firmware.bin release/esp32c3/nuki_hub_esp32c3.bin && \
|
||||
cp .pio/build/esp32-c3/partitions.bin release/esp32c3/nuki_hub.partitions.bin && \
|
||||
pio run --environment esp32solo1 && \
|
||||
cp .pio/build/esp32solo1/bootloader.bin release/esp32solo1/bootloader.bin && \
|
||||
cp .pio/build/esp32solo1/firmware.bin release/esp32solo1/nuki_hub_esp32solo1.bin && \
|
||||
cp .pio/build/esp32solo1/partitions.bin release/esp32solo1/nuki_hub.partitions.bin
|
||||
|
||||
CMD ["/bin/bash"]
|
||||
49
Docker/Dockerfile_pio_debug
Normal file
49
Docker/Dockerfile_pio_debug
Normal file
@@ -0,0 +1,49 @@
|
||||
FROM eclipse-temurin:11-jdk-jammy AS builder
|
||||
|
||||
RUN set -ex && \
|
||||
apt-get update && \
|
||||
apt-get install -y git python3 pip && \
|
||||
pip install --upgrade platformio && \
|
||||
pip install --upgrade esptool
|
||||
|
||||
COPY icon /usr/src/nuki_hub/icon
|
||||
COPY include /usr/src/nuki_hub/include
|
||||
COPY lib /usr/src/nuki_hub/lib
|
||||
COPY networkDevices /usr/src/nuki_hub/networkDevices
|
||||
COPY partitions.csv /usr/src/nuki_hub
|
||||
COPY platformio.ini /usr/src/nuki_hub
|
||||
COPY index.html /usr/src/nuki_hub
|
||||
COPY *.h /usr/src/nuki_hub/
|
||||
COPY *.cpp /usr/src/nuki_hub/
|
||||
|
||||
RUN set -ex && \
|
||||
cd /usr/src/nuki_hub && \
|
||||
mkdir -p debug/esp32 && \
|
||||
mkdir -p debug/esp32s3 && \
|
||||
mkdir -p debug/esp32c3 && \
|
||||
mkdir -p debug/esp32solo1 && \
|
||||
pio run --environment esp32dev_dbg && \
|
||||
esptool.py --chip esp32 merge_bin -o debug/webflash_nuki_hub_esp32.bin --flash_mode dio --flash_freq keep --flash_size keep 0x1000 .pio/build/esp32dev_dbg/bootloader.bin 0x10000 .pio/build/esp32dev_dbg/firmware.bin 0x8000 .pio/build/esp32dev_dbg/partitions.bin && \
|
||||
cp .pio/build/esp32dev_dbg/bootloader.bin debug/esp32/bootloader.bin && \
|
||||
cp .pio/build/esp32dev_dbg/firmware.bin debug/esp32/nuki_hub_esp32.bin && \
|
||||
cp .pio/build/esp32dev_dbg/partitions.bin debug/esp32/nuki_hub.partitions.bin && \
|
||||
cp .pio/build/esp32dev_dbg/firmware.elf debug/esp32/nuki_hub_esp32.elf && \
|
||||
pio run --environment esp32-s3_dbg && \
|
||||
esptool.py --chip esp32s3 merge_bin -o debug/webflash_nuki_hub_esp32s3.bin --flash_mode dio --flash_freq keep --flash_size keep 0x0 .pio/build/esp32-s3_dbg/bootloader.bin 0x10000 .pio/build/esp32-s3_dbg/firmware.bin 0x8000 .pio/build/esp32-s3_dbg/partitions.bin && \
|
||||
cp .pio/build/esp32-s3_dbg/bootloader.bin debug/esp32s3/bootloader.bin && \
|
||||
cp .pio/build/esp32-s3_dbg/firmware.bin debug/esp32s3/nuki_hub_esp32s3.bin && \
|
||||
cp .pio/build/esp32-s3_dbg/partitions.bin debug/esp32s3/nuki_hub.partitions.bin && \
|
||||
cp .pio/build/esp32-s3_dbg/firmware.elf debug/esp32s3/nuki_hub_esp32s3.elf && \
|
||||
pio run --environment esp32-c3_dbg && \
|
||||
esptool.py --chip esp32c3 merge_bin -o debug/webflash_nuki_hub_esp32c3.bin --flash_mode dio --flash_freq keep --flash_size keep 0x0 .pio/build/esp32-c3_dbg/bootloader.bin 0x10000 .pio/build/esp32-c3_dbg/firmware.bin 0x8000 .pio/build/esp32-c3_dbg/partitions.bin && \
|
||||
cp .pio/build/esp32-c3_dbg/bootloader.bin debug/esp32c3/bootloader.bin && \
|
||||
cp .pio/build/esp32-c3_dbg/firmware.bin debug/esp32c3/nuki_hub_esp32c3.bin && \
|
||||
cp .pio/build/esp32-c3_dbg/partitions.bin debug/esp32c3/nuki_hub.partitions.bin && \
|
||||
cp .pio/build/esp32-c3_dbg/firmware.elf debug/esp32c3/nuki_hub_esp32c3.elf && \
|
||||
pio run --environment esp32solo1_dbg && \
|
||||
cp .pio/build/esp32solo1_dbg/bootloader.bin debug/esp32solo1/bootloader.bin && \
|
||||
cp .pio/build/esp32solo1_dbg/firmware.bin debug/esp32solo1/nuki_hub_esp32solo1.bin && \
|
||||
cp .pio/build/esp32solo1_dbg/partitions.bin debug/esp32solo1/nuki_hub.partitions.bin && \
|
||||
cp .pio/build/esp32solo1_dbg/firmware.elf debug/esp32solo1/nuki_hub_esp32solo1.elf
|
||||
|
||||
CMD ["/bin/bash"]
|
||||
@@ -1,10 +1,21 @@
|
||||
# Build with Docker
|
||||
# Build with Docker
|
||||
|
||||
You can build this project using Docker. Just run the following commands in the console:
|
||||
|
||||
## Build with PlatformIO (will build for the ESP32, ESP32-S3, ESP32-C3 and ESP32-solo1)
|
||||
```console
|
||||
cd Docker
|
||||
./build_with_docker.sh
|
||||
git clone https://github.com/technyon/nuki_hub --recursive
|
||||
cd nuki_hub/Docker
|
||||
./build_with_docker_pio.sh
|
||||
```
|
||||
|
||||
once the script is complete you will find the nuki_nub binary in the `nuki_hub/build/release` folder.
|
||||
once the script is complete you will find the nuki_hub binaries in the `nuki_hub/build_pio` folder.
|
||||
|
||||
## Build with CMake (will only build for the ESP32)
|
||||
```console
|
||||
git clone https://github.com/technyon/nuki_hub --recursive
|
||||
cd nuki_hub/Docker
|
||||
./build_with_docker_cmake.sh
|
||||
```
|
||||
|
||||
once the script is complete you will find the nuki_hub binary in the `nuki_hub/build_cmake` folder.
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
set -ex
|
||||
docker build -f ./Dockerfile -t nuki_hub ..
|
||||
docker create --name nuki_hub nuki_hub
|
||||
rm -rf ../build
|
||||
docker cp nuki_hub:/usr/src/nuki_hub/build/ ../
|
||||
docker rm -f nuki_hub
|
||||
6
Docker/build_with_docker_cmake.sh
Executable file
6
Docker/build_with_docker_cmake.sh
Executable file
@@ -0,0 +1,6 @@
|
||||
set -ex
|
||||
docker build -f ./Dockerfile_cmake -t nuki_hub_cmake ..
|
||||
docker create --name nuki_hub_cmake nuki_hub_cmake
|
||||
rm -rf ../build_cmake
|
||||
docker cp nuki_hub_cmake:/usr/src/nuki_hub/build/ ../build_cmake
|
||||
docker rm -f nuki_hub_cmake
|
||||
6
Docker/build_with_docker_pio.sh
Executable file
6
Docker/build_with_docker_pio.sh
Executable file
@@ -0,0 +1,6 @@
|
||||
set -ex
|
||||
docker build -f ./Dockerfile_pio -t nuki_hub_pio ..
|
||||
docker create --name nuki_hub_pio nuki_hub_pio
|
||||
rm -rf ../build_pio
|
||||
docker cp nuki_hub_pio:/usr/src/nuki_hub/release/ ../build_pio
|
||||
docker rm -f nuki_hub_pio
|
||||
6
Docker/build_with_docker_pio_debug.sh
Normal file
6
Docker/build_with_docker_pio_debug.sh
Normal file
@@ -0,0 +1,6 @@
|
||||
set -ex
|
||||
docker build -f ./Dockerfile_pio_debug -t nuki_hub_pio_dbg ..
|
||||
docker create --name nuki_hub_pio_dbg nuki_hub_pio_dbg
|
||||
rm -rf ../build_pio_dbg
|
||||
docker cp nuki_hub_pio_dbg:/usr/src/nuki_hub/debug/ ../build_pio_dbg
|
||||
docker rm -f nuki_hub_pio_dbg
|
||||
Reference in New Issue
Block a user