Sign inSign up

fraoult/dietpi

By fraoult

Updated about 2 years ago

Dietpi 9.5.1 (x64 Debian Bookworm)

Image
Developer tools
Operating systems
1

3.5K

fraoult/dietpi repository overview

The dietpi:9.5.1 image is a customized Docker image built for developing with DietPi v.9.5.1.

This image is designed to facilitate development before performing a final test on a Raspberry Pi, ensuring a seamless transition from development to deployment

It corresponds to a "fresh" DietPi installation, meaning it is not yet customized, and you will need to run dietpi-launcher to personalize your installation, just as you would with a real DietPi setup.

Add DietPi softwares into your custom image

Use RUN /boot/dietpi/dietpi-software install <software-id> in your Dockerfile to install dietpi's softwares

Warning

You must shunt systemctl to avoid errors (dietpi use commands like "systemctl reload", etc.)

Example :

# Backup systemctl
RUN mv /usr/bin/systemctl /usr/bin/systemctl.bak

# Empty script to replace systemctl
RUN echo "#!/bin/bash\n\nexit 0" > /usr/bin/systemctl
RUN chmod a+x /usr/bin/systemctl

# Install softwares

RUN /boot/dietpi/dietpi-software install 87
RUN /boot/dietpi/dietpi-software install 9
RUN /boot/dietpi/dietpi-software install 7

# Restore systemctl
RUN rm /usr/bin/systemctl
RUN mv /usr/bin/systemctl.bak /usr/bin/systemctl

Complete example of Dockerfile

FROM fraoult/dietpi:9.5.1

LABEL Maintainer="Me <[email protected]>" \
      Description="Dietpi Container for my app"
      
# Timezone

RUN cp /usr/share/zoneinfo/Europe/Paris /etc/localtime
RUN echo "Europe/Paris" > /etc/timezone


# Tools

RUN apt install -y \
      make g++ build-essential python-is-python3 \
      libpcsclite1 libpcsclite-dev pcscd \
      wireless-tools network-manager dbus jq systemd \
      xauth dbus-x11 libcanberra-gtk-module libcanberra-gtk3-module \
      xterm gnome-terminal x11-apps

# Files

COPY ./build/bashrc /root/.bashrc
COPY ./build/bashrc /home/dietpi/.bashrc

# App dir

RUN mkdir -p /opt/myapp
RUN mkdir -p /opt/myapp/app
RUN mkdir -p /opt/myapp/data

# ------------------------------
# Dietpi sofwares
# ------------------------------

# The system calls systemctl (reload, stop, start, ...)
# But, at this moment, PID 1 is not systemd. So, commands and installation fail
# -> Shunt by custom script instead of systemctl

# Backup systemctl
RUN mv /usr/bin/systemctl /usr/bin/systemctl.bak

# Empty script
RUN echo "#!/bin/bash\n\nexit 0" > /usr/bin/systemctl
RUN chmod a+x /usr/bin/systemctl

# Install softwares

# SQLite
RUN /boot/dietpi/dietpi-software install 87
# NodeJS
RUN /boot/dietpi/dietpi-software install 9
# Git
RUN /boot/dietpi/dietpi-software install 7
# OpenSSH Client
RUN /boot/dietpi/dietpi-software install 0

# restore systemctl
RUN rm /usr/bin/systemctl
RUN mv /usr/bin/systemctl.bak /usr/bin/systemctl

# --------------------------------
# Start
# --------------------------------

EXPOSE 3000
ENV NODE_ENV=production

WORKDIR /opt/myapp/app 

CMD ["npm run dev"]

Tag summary

Content type

Image

Digest

sha256:4d319fa5f

Size

81.7 MB

Last updated

about 2 years ago

docker pull fraoult/dietpi