diff --git a/Dockerfile b/Dockerfile index df0ebac2..a7fb4165 100644 --- a/Dockerfile +++ b/Dockerfile @@ -36,6 +36,7 @@ COPY --from=builder /usr/src/clicklock/clicklock /usr/bin/clicklock # Etcher configuration script COPY update-config-and-start.js /usr/src/app/ +COPY zram.sh /usr/src/app/ COPY --from=builder /usr/src/app/dist/linux-arm64-unpacked/resources/app /usr/src/app COPY --from=builder /usr/src/app/node_modules/electron/ /usr/src/app/node_modules/electron @@ -43,4 +44,11 @@ WORKDIR /usr/src/app/node_modules/.bin RUN ln -s ../electron/cli.js electron WORKDIR /usr/src/app -CMD node /usr/src/app/update-config-and-start.js +RUN \ + apt-get update \ + && apt-get install -y kmod \ + && rm -rf /var/lib/apt/lists/* + +CMD \ + ./zram.sh \ + && node /usr/src/app/update-config-and-start.js diff --git a/docker-compose.yml b/docker-compose.yml index 7f4229b6..098f327c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,6 +14,7 @@ services: labels: io.balena.features.dbus: 1 io.balena.features.supervisor-api: 1 + io.balena.features.kernel-modules: 1 volumes: - 'etcher_pki:/root/.pki' - 'etcher_cache:/root/.cache' diff --git a/zram.sh b/zram.sh new file mode 100755 index 00000000..3cddcce0 --- /dev/null +++ b/zram.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +DEVICE=/dev/zram0 + +if [ ! -b $DEVICE ]; then + modprobe zram + zramctl $DEVICE --size 1024M + mkswap $DEVICE + swapon $DEVICE +fi