Ready to use Raspberry Pi Images with Docker for projects like wyoming-satellite and docker-snapcast.
Also a tool for creating customized Raspberry Pi OS images with automatic Docker Compose deployment.
PiCompose uses the official pi-gen tool from Raspberry Pi to create a customized Raspberry Pi OS image.
The image is configured to:
- Search for Docker Compose files in a special directory on the main partition
- Automatically deploy each Docker Compose project found
- Optionally set up regular re-deployments via Crontab
This repository also contains fully prepared images for specific voice hardware of Homeassistant with all needed drivers.
- Automated build of a customized Raspberry Pi OS image using GitHub Actions
- Easy addition of Docker Compose projects via the main partition (compose directory)
- Configurable regular re-deployments via a simple configuration file
- No manual configuration of the Raspberry Pi required
- Image prepared for audio usage with the pipewire server
- Prebuild images with drivers for various devices
For a detailed overview on the hardware, i have a seperated page for that here: docs/hardware.md.
Here is a Image Overview specific for each hardware if needed:
- Download the latest image from GitHub Releases.
- Write the image to an SD card, you can use the Imager tool to copy the image onto your drive or sd card. Use the customization section to add your wifi credentials. If you want to change your pi user password or something else you can also do that. Note that the hostname is automatically generated one time.
If you dont use a fully prebuild image inclusive homeassistant docker containers you can customize what piCompose will deploy in your docker instance.
- Create directories for your Docker Compose projects in the
composefolder on the main partition if you dont use a fully prebuild image. - Place your docker-compose.yml files and associated configurations in the appropriate subdirectories (see the example directory)
Make sure, that you configured your wifi credentials before the first boot.
On the first boot in will create new ssh public keys for the ssh serve. You can see that if you have a monitor connected to your system. The system will automatically reboot and install the audio drivers.
After that you can login with the user pi. You can change the password if you didnt change it before with the imager tool.
You will notice that the hardware is not visible if you run aplay -L.
You need to manually reboot one more time.
After that aplay -L should show the seeed2micvoicec or Lite soundcard depending on your hardware.
piCompose should download and install the containers. You can watch the /var/log/picompose.log logfile if you want to monitor the process. The process can take some time, since it downloads images from the internet!
See DEVELOPMENT.md for information on local development and the build process.
- docker-snapcast - A Docker image for Snapcast server and client, providing multi-room audio streaming capabilities
- wyoming-satellite - A remote voice satellite implementation using the Wyoming protocol with Docker images
This project is released under the BSD-3-Clause License.

