Setting Up a ReminderPrint DIY Print Server
ReminderPrint works by sending reminders from your iPhone to a small print server you host yourself — typically a Raspberry Pi connected to a thermal receipt printer. This guide walks you through setting everything up from scratch.
Written By LimeGlow Apps
Last updated About 1 month ago
What You'll Need
A Raspberry Pi (Pi 3 or newer recommended)
A thermal receipt printer that supports ESC/POS over USB (most 58mm and 80mm receipt printers do)
A USB cable to connect the printer to the Pi
A MicroSD card (8GB or larger)
A Mac or Windows PC to flash the SD card
A WiFi network
Step 1 — Flash Raspberry Pi OS
Download and install Raspberry Pi Imager from raspberrypi.com/software. Open it and:
Choose your Pi model
Select Raspberry Pi OS Lite (64-bit) as the operating system
Select your SD card as the target
Click the settings icon and configure your hostname (e.g.
printserver), enable SSH, and enter your WiFi detailsClick Flash
Once flashing is complete, insert the SD card into the Pi and power it on.
Step 2 — Run the Setup Script
Once the Pi has booted and connected to your network, SSH in from your computer:
ssh pi@printserver.local Then clone the ReminderPrint server repository and run the setup script:
git clone https://github.com/jackbuhlerr/ReminderPrint.git cd ReminderPrint chmod +x setup.sh ./setup.sh The setup script will automatically:
Install all required dependencies
Install and enable Tailscale for remote access
Configure USB printer permissions
Create a background service that starts on boot
Generate a unique API key for your server
When prompted, either enter your own API key or press Enter to have one generated for you automatically. Save this key- you will need it when connecting the iOS app.
Step 3 — Connect Tailscale
After the script completes, authenticate Tailscale so you can reach the Pi from anywhere:
sudo tailscale up Open the URL it displays in your browser to log in. Once authenticated, get your Pi's Tailscale address:
tailscale ip -4 This address is what you'll use in the ReminderPrint app to connect from outside your home network.
Step 4 — Connect Your Printer
Plug your thermal printer into the Pi via USB and power it on. Verify it is detected by running:
ls /dev/usb/ You should see lp0 or lp1 listed. If nothing appears, check the USB cable and make sure the printer is powered on.
Step 5 — Verify the Server is Running
Check that the print server started successfully:
sudo systemctl status printserver It should show active (running). You can also do a quick test print using curl from your computer:
curl -X POST http://printserver.local:8000/print \ -H "Content-Type: application/json" \ -H "x-api-key: YOUR_API_KEY" \ -d '{"title":"Setup complete","due":"Now","priority":"Immediate"}' If a receipt prints, your server is ready to connect to the app.
Troubleshooting
SSH connection refused Give the Pi a minute or two to fully boot, then try again. If it still fails, check that SSH was enabled during the Imager setup step.
Printer not detected (ls /dev/usb/ shows nothing) Make sure the printer is powered on and the USB cable is securely connected. Try a different USB port on the Pi.
Setup script fails Ensure the Pi is connected to the internet before running the script. Check your WiFi credentials were entered correctly during flashing.
Server not running after reboot Run sudo systemctl enable printserver to make sure the service is set to start on boot, then sudo systemctl start printserver to start it now.