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"]