2.1 KiB
2.1 KiB
Tasks
1. Repository initialization
- 1.1 Initialize jujutsu repository with
jj git initin repo root and verify.jjdirectory exists
2. Container build setup
- 2.1 Create Containerfile in repository root based on Debian/Ubuntu base image with multiarch support for i386
- 2.2 Install required system packages: cups, avahi-daemon, dbus, wget/curl, and 32-bit runtime libraries (libc6:i386, libstdc++6:i386, etc.)
- 2.3 Copy the local Brother driver packages (
assets/Brother HL-4150CDN/lpr-driver/hl4150cdnlpr-1.1.1-5.i386.debandassets/Brother HL-4150CDN/cupswrapper/hl4150cdncupswrapper-1.1.1-5.i386.deb) into the build context and install them in the container withdpkg -i --force-all(verify install reports success) - 2.4 Configure CUPS and Brother drivers (symlink PPD/filter files as needed, set up cupsd.conf for container use) and verify files are in correct locations
- 2.5 Set up startup script to run dbus, avahi-daemon, and cupsd in the container
- 2.6 Expose ports 631 (CUPS/IPP) and 5353/udp (mDNS) in Containerfile and verify ports are declared
3. Printer configuration
- 3.1 Add logic/config to create and share the Brother HL-4150CDN printer (using lpadmin) with appropriate network URI and PPD; ensure printer is shared for network clients
- 3.2 Configure Avahi/CUPS for AirPrint advertisement and verify printer will be discoverable
- 3.3 Add environment-based configuration for the printer address and advertised name (
PRINTER_IP,PRINTER_PROTOCOL,PRINTER_NAME,PRINTER_DESCRIPTION;PRINTER_URIoverrides)
4. Documentation and testing
- 4.1 Create or update README with instructions for building and running the container with podman (including host network mode note for mDNS, volume mounts if needed)
- 4.2 Test container build with podman build and verify image builds successfully
- 4.3 Test container run and verify CUPS is accessible and printer is shared/discoverable (manual verification)
- 4.4 Verify
podman runwithPRINTER_IPand a customPRINTER_NAMEcreates the queue at the derived URI and advertises that name