A good friend of mine has an old printer and he was always thinking of buying some adapter to make it Wi-Fi compatible. He actually bought one, but it was not compatible! I told him to buy a Raspberry Pi W Zero and build a CUPS Print Server, but he did not have time to do that, so I planned as XMas gift! I hope he is not going to read this before he gets his present. :) - If you received this as a gift, your instructions are here.
A big challenge was to make it plug & play. I did not want to have his Wi-Fi credentials, and he should not use a terminal over SSH to configure it. I looked for some Raspberry Pi Access Point (AP) + Client, so that he could connect directly to the Raspberry Pi using Wi-Fi (AP), and used some webserver to configure the credentials for his Wi-Fi network (client), so that he could access the Raspberry Pi from the home network and configure the printers. The second thing that I wanted, was to build a micro service application. That means, everything is configured and running using Docker!
Basically, there were three things that I needed:
- A Raspberry Pi AP + Client
- A webserver to configure the Raspberry WiFi Client (wpa_supplicant file)
- A CUPS print server
I added another step: Portainer. This can help me in case that I need to update the Docker images: he can "recreate" the containers and pull the new Docker images using Portainer.