Top Related Projects
NOOBS (New Out Of Box Software) - An easy Operating System install manager for the Raspberry Pi
:beginner: Home Assistant Operating System
Armbian Linux build framework generates custom Debian or Ubuntu image for x86, aarch64, riscv64 & armhf
Craft and deploy bulletproof embedded software in Elixir
This repository is a mirror of https://git.openwrt.org/openwrt/openwrt.git It is for reference only and is not active for check-ins. We will continue to accept Pull Requests here. They will be merged via staging trees then into openwrt.git.
Quick Overview
DietPi is a lightweight, highly optimized, and minimal Debian-based Linux distribution designed for single-board computers (SBCs) and other embedded devices. It aims to provide a streamlined, efficient operating system that consumes minimal resources while offering a wide range of software options through its custom installation tool.
Pros
- Extremely lightweight, consuming fewer system resources compared to other distributions
- Extensive software selection available through the DietPi-Software tool
- Highly customizable and optimized for various SBCs and embedded devices
- Active community and regular updates
Cons
- May require some technical knowledge for advanced configurations
- Limited graphical user interface options out of the box
- Some users may find the minimal approach too stripped-down for their needs
- Potential compatibility issues with certain hardware or software combinations
Getting Started
To get started with DietPi:
- Download the appropriate image for your device from the DietPi website.
- Flash the image to your SD card or storage device using a tool like Etcher or dd.
- Insert the SD card into your device and power it on.
- Connect to your device via SSH (default credentials: root/dietpi).
- Run
dietpi-config
to configure basic settings. - Use
dietpi-software
to install additional software packages as needed.
For more detailed instructions, refer to the official DietPi documentation.
Competitor Comparisons
NOOBS (New Out Of Box Software) - An easy Operating System install manager for the Raspberry Pi
Pros of NOOBS
- Official Raspberry Pi Foundation software, ensuring compatibility and support
- User-friendly interface for beginners, simplifying OS installation
- Includes multiple OS options out-of-the-box
Cons of NOOBS
- Larger image size, requiring more storage space
- Less customizable than DietPi for advanced users
- Not as frequently updated as DietPi
Code Comparison
NOOBS (recovery.cmdline):
runinstaller quiet vt.cur_default=1 coherent_pool=6M smsc95xx.turbo_mode=N dwc_otg.lpm_enable=0 console=tty1 root=/dev/ram0 elevator=deadline
DietPi (dietpi-installer):
#!/bin/bash
{
G_DIETPI-NOTIFY 0 "DietPi-Installer"
G_DIETPI-NOTIFY 2 "Starting installation..."
# ... (additional installation steps)
}
The NOOBS code snippet shows boot parameters, while DietPi's installer script demonstrates a more customizable approach to system installation and configuration.
:beginner: Home Assistant Operating System
Pros of Home Assistant Operating System
- Purpose-built for running Home Assistant, providing a streamlined and optimized experience
- Includes a web-based management interface for easy system administration
- Regular, automated updates ensure the latest features and security patches
Cons of Home Assistant Operating System
- Less flexible than DietPi, as it's primarily designed for running Home Assistant
- Limited software options compared to DietPi's extensive package selection
- May consume more resources due to its specialized nature and included features
Code Comparison
Home Assistant Operating System (build_all.sh):
#!/bin/bash
set -e
mkdir -p ../../release
all_boards=(
"generic-x86-64"
"khadas-vim3"
"odroid-c2"
"odroid-c4"
"odroid-n2"
)
DietPi (.build/.build):
#!/bin/bash
{
G_INTERACTIVE=0
G_DIETPI_VERSION=$(sed -n '/^DEV_GITBRANCH=/{s/.*=//p}' dietpi-update)
G_HW_MODEL=$1
aSOFTWARE_WHIP_INCLUDE=()
aAPT_DEPS=()
Both projects use shell scripts for their build processes, but Home Assistant Operating System focuses on specific board targets, while DietPi's script appears more generalized and includes version handling and dependency management.
Armbian Linux build framework generates custom Debian or Ubuntu image for x86, aarch64, riscv64 & armhf
Pros of Armbian
- Supports a wider range of single-board computers and devices
- More comprehensive build system for creating custom images
- Offers a larger community and more frequent updates
Cons of Armbian
- Higher resource requirements for running the full OS
- Steeper learning curve for customization and configuration
- Less focus on minimalism and lightweight operation
Code Comparison
Armbian (build script excerpt):
compile_uboot()
{
if [[ $CLEAN_LEVEL == *make* ]]; then
display_alert "Cleaning" "$BOOTSOURCEDIR" "info"
(cd "${SRC}/cache/sources/${BOOTSOURCEDIR}"; make clean > /dev/null 2>&1)
fi
display_alert "Compiling u-boot" "$BOOTCONFIG" "info"
}
DietPi (install script excerpt):
Install_DietPi()
{
G_DIETPI-NOTIFY 2 'Installing DietPi'
G_RUN_CMD wget https://github.com/MichaIng/DietPi/archive/master.tar.gz -O DietPi.tar.gz
G_RUN_CMD tar xvf DietPi.tar.gz
G_RUN_CMD rm DietPi.tar.gz
}
Both projects aim to provide customized Linux distributions for single-board computers, but Armbian focuses on a broader range of devices with a more complex build system, while DietPi emphasizes simplicity and minimal resource usage.
Craft and deploy bulletproof embedded software in Elixir
Pros of Nerves
- Specialized for embedded systems and IoT applications using Elixir
- Provides a complete framework for building, deploying, and managing firmware
- Offers OTA updates and fault-tolerant design for robust IoT devices
Cons of Nerves
- Limited to Elixir ecosystem, less flexible than DietPi's multi-language support
- Steeper learning curve for developers not familiar with Elixir or functional programming
- May have higher resource requirements compared to DietPi's lightweight design
Code Comparison
Nerves (mix.exs):
def deps do
[{:nerves, "~> 1.7", runtime: false},
{:nerves_system_rpi3, "~> 1.13", runtime: false, targets: :rpi3}]
end
DietPi (dietpi-software):
G_EXEC curl -sSfL https://install.goreleaser.com/github.com/dietpi/dietpi.sh | sh -s
G_EXEC dietpi-software install 17 # Install Nextcloud
The code snippets highlight the different approaches:
- Nerves uses Elixir's mix build tool and defines dependencies for the Nerves framework and target system.
- DietPi employs shell scripts for software installation and configuration, showcasing its flexibility across various programming environments.
This repository is a mirror of https://git.openwrt.org/openwrt/openwrt.git It is for reference only and is not active for check-ins. We will continue to accept Pull Requests here. They will be merged via staging trees then into openwrt.git.
Pros of OpenWrt
- Extensive hardware support for a wide range of routers and network devices
- Advanced networking features and customization options
- Large community and ecosystem of packages
Cons of OpenWrt
- Steeper learning curve for beginners
- Primarily focused on networking devices, less versatile for general-purpose computing
- May require more manual configuration and tweaking
Code Comparison
DietPi configuration example:
AUTO_SETUP_AUTOMATED=1
AUTO_SETUP_GLOBAL_PASSWORD=dietpi
AUTO_SETUP_INSTALL_SOFTWARE_ID=23 # NextCloud
OpenWrt configuration example:
config interface 'lan'
option type 'bridge'
option ifname 'eth0'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask '255.255.255.0'
Summary
DietPi is a lightweight Debian-based OS optimized for single-board computers and embedded devices, focusing on ease of use and minimal resource usage. OpenWrt, on the other hand, is a Linux-based operating system specifically designed for routers and network devices, offering advanced networking capabilities and customization options. While DietPi is more versatile for general-purpose computing tasks, OpenWrt excels in networking applications and has broader hardware support for router devices.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Lightweight justice for your single-board computer!
optimised ⢠simplified ⢠for everyone
Website ⢠Downloads ⢠Documentation ⢠Forum ⢠Blog
Ready to run optimised software choices with dietpi-software
Feature-rich configuration tool for your device with dietpi-config.
Introduction
DietPi is an extremely lightweight Debian-based OS. It is highly optimised for minimal CPU and RAM resource usage, ensuring your SBC always runs at its maximum potential.
The dietpi programs use lightweight whiptail menus. You'll spend more time enjoying DietPi and applications you need and less time staring at the command line.
Use dietpi-software
to quick and easy install Ready to Run & Optimised applications for your system. DietPi will do all the necessary configurations, including starting the services. Few highlights: Desktop Environments, Remote Desktop Access, Media Systems & Players, BitTorrent & Downloading, Cloud & Backup, Gaming & Emulation, Social & Search, Camera & Surveillance, Networking, System Stats & Management, Home Automation, Hardware & Voice Projects, Webserver Stacks, DNS Servers / Pi-hole, File Servers, Printing and much more.
Use dietpi-services
to control which installed software has higher or lower priority levels (nice, affinity, policy scheduler).
dietpi-update
automatically checks for updates and informs you when they are available. Update instantly, without having to write a new image. DietPi automation allows you to completely automate a DietPi installation with no user input, simply by configuring dietpi.txt
before powering on.
The DietPi Project Team
The full list of code contributors can be viewed here.
Contributors
Micha
Joined Q3 2017
Project lead (20/02/2019 and onwards), source code contributor, bug fixes, software improvements, DietPi forum administrator.
Daniel Knight
Project founder and previous project lead (19/02/2019 and previous), source code contributor and tester.
JohnVick
Joined 2016-06-08
DietPi forum co-administrator, management, support, testing and valuable feedback.
sal666
Joined 2017-07-26
Creator and maintainer of the first Clonezilla based installer images for x86_64 UEFI systems.
Joulinar
Joined Q4 2019
DietPi forum moderator, support, testing, bug reports + investigation and valuable feedback.
StephanStS
Joined Q4 2019
NanoPi image creator, tester and bug reports.
Petru
Joined 2020-05-31
DietPi documentation author, product manager, SEO and DietPi visibility recommendations.
ravenclaw900
Joined 2020-10-11
Source code contributor, creator of the DietPi-Dashboard and many software implementations.
yumiris
Joined 2018-04-16
Creator and maintainer of the first DietPi Hyper-V images.
Collaborations
DietPi + Amiberry
Since 2016-09-02
Joint venture to bring you the ultimate Amiga experience on your SBC, running lightweight and optimised DietPi at its core: https://github.com/MichaIng/DietPi/issues/474
Hall of Fame
K-Plan
Joined 2016-01-01
Contributions to the DietPi in general, in-depth testing, bug finding and valuable feedback, forum moderator.
ZombieVirus
Joined 2016-03-20
DietPi forum moderator and version history maintainer on forums.
Rhkean
Joined 2018-03-01
Contributions to the DietPi in general, including source code, testing, new devices, forum moderator.
Pilovali
Joined 2015-10-10
Provided dietpi.com web hosting for 1 year until April 17th 2016. Additionally: forum moderator, testing, bug reporting.
Xenfomation
Joined 2016-04-01
Contributions to the DietPi in general, including source code and VirtualBox image creation/conversion.
AWL29
Joined 2016-10-01
Created the first DietPi image for NanoPi M3/T3.
Contributing
Git coders, please use the active development branch: dev
Are you able to:
- Provide feedback and/or test areas of DietPi, to improve the user experience?
- Report bugs?
- Improve/add more features to the DietPi website or documentation?
- Compile software for our supported SBCs?
- Contribute to DietPi with programming on GitHub?
- Suggest new software that we can add to the
dietpi-software
install system?
If so, let us know! We are always looking for talented people who believe in the DietPi project, and, wish to contribute in any way you can.
- Send us an email: micha@dietpi.com
- Join our forum: https://dietpi.com/forum/
- GitHub: https://github.com/MichaIng/DietPi
Also read our contribute page for an overview of way to support DietPi.
License
DietPi Copyright (C) 2023 Contributors
- Email: micha@dietpi.com
- Website: https://dietpi.com/
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/
Links
DietPi Source
- Source: https://github.com/MichaIng/DietPi
- Build: Not applicable, as DietPi uses Bash scripts only, no building or compiling is required.
DietPi Files
- All files located in (recursively):
/var/lib/dietpi/
/var/tmp/dietpi/
/boot/dietpi/
/boot/dietpi.txt
/boot/config.txt
(RPi)/boot/boot.ini
(Odroid)- All files prefixed with:
dietpi-
The above GPLv2 documentation also applies to all mentioned files!
3rd Party Sources/Credits
Links to hardware and software manufacturers, sources and build instructions used in DietPi:
- Linux kernel
- GNU operating system
- Bash
- Debian distribution
- Raspberry Pi
- Hardkernel
- Meveric's Odroid repository
- Sparky SBC
- PINE64
- FriendlyARM
- Radxa
- Armbian
- curl
- X.Org-X-Server
- LXDE desktop
- LXQt desktop
- Xfce desktop
- MATE desktop
- GNUstep
- Chromium
- Kodi/XBMC
- Transmission
- rTorrent
- ruTorrent
- qBittorrent
- Nextcloud
- ownCloud
- Syncthing
- ReadyMedia
- MPD
- ympd
- myMPD
- Apache
- Nginx
- Lighttpd
- PHP
- PHP OPcache GUI
- MariaDB
- phpMyAdmin
- Certbot
- Pi-hole
- WordPress
- phpBB
- ProFTPD
- vsftpd
- Samba
- NFS
- Dropbear
- OpenSSH
- OpenVPN
- PiVPN
- WireGuard
- Amiberry
- OpenTyrian
- RPi Cam Web Interface
- Deluge
- Airsonic-Advanced
- Logitech Media Server
- Squeezelite
- Ampache
- Plex Media Server
- Tautulli
- FFmpeg
- Shairport Sync
- FreshRSS
- Folding@Home
- Medusa
- Grafana
- Clonezilla
- Gitea
- Gogs
- Home Assistant
- TasmoAdmin
- Domoticz
- Jellyfin
- Komga
- HTPC Manager
- Bazarr
- PaperMC
- Unbound
- vaultwarden
- Docker
- Portainer
- Tor
- Docker Compose
- Box86
- Box64
- Steam
- mjpg-streamer
- IPFS
- CUPS
- Go
- VSCodium
- WebIOPi
- WiringPi
- Firefox
- Beets
- frp
- AdGuard Home
- Snapcast
- K3s
- Synapse
- youtube-dl
- PostgreSQL
- OpenJDK
- Blynk Server
- File Browser
- Spotifyd
- DietPi-Dashboard
- MicroK8s
- Allo GUI
- PHP Composer
- motionEye
- Sonarr
- Radarr
- Lidarr
- Prowlarr
- Readarr
- Jackett
- HAProxy
- Prometheus Node Exporter
- Prometheus RPi Exporter
- Tailscale
- Rclone
- ZeroTier
- Navidrome
- Homer
- microblog.pub
- Nukkit
- openHAB
- Moonlight (CLI)
- Moonlight (GUI)
- Restic
- MediaWiki
- Homebridge
- ADS-B Feeder
- Kavita
- Forgejo
- soju
DietPi's web hosting is powered by myVirtualserver.
Top Related Projects
NOOBS (New Out Of Box Software) - An easy Operating System install manager for the Raspberry Pi
:beginner: Home Assistant Operating System
Armbian Linux build framework generates custom Debian or Ubuntu image for x86, aarch64, riscv64 & armhf
Craft and deploy bulletproof embedded software in Elixir
This repository is a mirror of https://git.openwrt.org/openwrt/openwrt.git It is for reference only and is not active for check-ins. We will continue to accept Pull Requests here. They will be merged via staging trees then into openwrt.git.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot