Skip to content

Add Docker support#78

Open
Igglybuff wants to merge 3 commits into
eljojo:mainfrom
Igglybuff:feature/docker-support
Open

Add Docker support#78
Igglybuff wants to merge 3 commits into
eljojo:mainfrom
Igglybuff:feature/docker-support

Conversation

@Igglybuff
Copy link
Copy Markdown

Adds a Dockerfile and docker-compose.yaml for running estrella in a container.

The compose file documents how to pair the Bluetooth printer on the host and bind the RFCOMM device before starting the container, and passes /dev/rfcomm0 through as a device.

Also adds a TZ environment variable so the receipt timestamp reflects the correct local time.

🤖 Generated with Claude Code

Igglybuff and others added 3 commits May 23, 2026 10:30
Adds a Dockerfile, docker-compose.yaml, and .dockerignore for running
Estrella as a container. The image is not published; build it locally
with `docker compose build`.

The Dockerfile uses a multi-stage build: a Node stage compiles the
frontend, a Rust stage builds the binary, and a minimal debian:trixie-slim
runtime stage produces the final image. Built with --no-default-features
to avoid the libheif ≥ 1.21 requirement.

The serve command accepts PRINTER_DEVICE and LISTEN_ADDR as environment
variables (in addition to CLI flags) for container-friendly configuration.
PRINTER_WIDTH is documented in docker-compose.yaml and also accepted as an
env var (added in the companion configurable-width change).

README gets a Docker section covering build, Bluetooth setup, docker
compose usage, environment variables, and persisting the RFCOMM binding
across reboots with a systemd unit.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Timestamps in printed receipts use the system clock. Without TZ set the
container defaults to UTC; add it as a commented example so it's easy to
configure without rebuilding the image.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant