moschee.io Ingress Client
Stream audio from a dedicated hardware device like a Raspberry Pi to moschee.io.
The moschee.io Ingress Client allows your organization to stream audio directly from a connected microphone or mixer to the moschee.io platform. It runs on ARM Linux machines, such as a Raspberry Pi, and is also available as a multi-architecture Docker image.
Raspberry Pi installation
We provide a pre-configured image that includes the client, Docker, HDMI status screen, pairing flow, and Wi-Fi onboarding.
Download the image
Download the latest image for your Raspberry Pi:
Flash the image
Decompress the .img.zst file, then use balenaEtcher, Raspberry Pi Imager, or dd to write it to a microSD card.
Connect and boot
Insert the card, connect your audio device (USB mixer, microphone, or compatible audio HAT), and connect the network. Ethernet is recommended for live audio. If no network is saved, the device opens the MoscheeIO-Ingress-Setup Wi-Fi hotspot so you can configure Wi-Fi from your phone.
Power on the device. HDMI is optional but recommended because the screen shows the setup status and pairing code.
Pair the device
Once the device is online, scan the pairing QR code or open https://app.moschee.io/device. Sign in as a mosque admin, choose the mosque, and approve the displayed code. No API key is required.
Docker installation
The client image supports ARM64 and amd64 Linux hosts. Use this path for a mini-PC, an existing Linux server, or a Raspberry Pi that already runs Docker:
docker run -d \
--name moscheeio-ingress \
-p 8080:8080 \
--restart unless-stopped \
--device /dev/snd:/dev/snd \
-v moscheeio-ingress-data:/app/data \
moscheeio/moscheeio-lk-ingress-client:stableOpen http://localhost:8080 after the container starts. The display page shows the pairing QR/code until an admin approves the device at https://app.moschee.io/device. The /dev/snd mapping exposes the host audio devices to the container, and the named volume keeps settings between restarts.
Docker installations do not pull updates automatically. Pull the stable image and recreate the container during a maintenance window when you want to update it.
Hardware example: Raspberry Pi 4 / 5
When setting up the Ingress Client on a Raspberry Pi 4 or 5, you may need additional hardware for high-quality audio input from a mixer.
Recommended hardware
- Raspberry Pi 4 or 5
- Audio Shield: RASPIAUDIO Audio DAC Hat Sound Card ULTRA++
- This shield attaches directly to the Raspberry Pi's GPIO pins and provides clean audio input.
- Audio Cable: An appropriate cable from your mixer's output to the audio HAT input, typically RCA to 3.5mm or 6.3mm to 3.5mm.
Automatic updates
Raspberry Pi image installations update the Ingress Client automatically. Docker installations are intentionally updated by the operator so the container can be recreated during a suitable maintenance window.
Local configuration
After pairing, the HDMI status page shows a QR code for the local settings page. You can also open http://<device-ip>:8080/settings from a device on the same network. Configure:
- Device name: A recognizable identifier for this device in your dashboard.
- Audio device: Select the correct microphone, mixer, or HAT input.
- Test mode: Optionally use a 440 Hz tone instead of microphone audio while testing.
Settings take effect immediately. Use the real-time volume meter to confirm that audio is being captured correctly.