- Implemented a new module for the Fichero D11s thermal label printer, including BLE and Classic Bluetooth interfaces. - Created a REST API using FastAPI to manage printer status, info, and printing tasks (text and images). - Developed a CLI for direct printer interaction, allowing users to print text and images, check status, and modify settings. - Added image processing capabilities for converting text and images to the required format for printing. - Introduced error handling for printer operations and connection management. - Included a shell script for running the API server with configurable parameters. - Added English translations for configuration options. - Created a repository metadata file for project management.
31 lines
682 B
Docker
31 lines
682 B
Docker
ARG BUILD_FROM
|
|
FROM $BUILD_FROM
|
|
|
|
# Install Bluetooth system libraries (BlueZ for BLE/RFCOMM)
|
|
RUN apk add --no-cache \
|
|
bluez \
|
|
bluez-deprecated \
|
|
dbus
|
|
|
|
# Install Python runtime dependencies
|
|
RUN pip3 install --no-cache-dir --break-system-packages \
|
|
"bleak>=0.21" \
|
|
"numpy" \
|
|
"pillow" \
|
|
"fastapi>=0.111" \
|
|
"uvicorn[standard]>=0.29" \
|
|
"python-multipart>=0.0.9"
|
|
|
|
# Copy the fichero Python package into the container
|
|
WORKDIR /app
|
|
COPY fichero/ /app/fichero/
|
|
|
|
# Make the package importable without installation
|
|
ENV PYTHONPATH=/app
|
|
|
|
# Copy and register the startup script
|
|
COPY run.sh /usr/bin/run.sh
|
|
RUN chmod +x /usr/bin/run.sh
|
|
|
|
CMD ["/usr/bin/run.sh"]
|