Skip to content

Comments

Add Docker support with Dockerfile and docker-compose#24

Merged
pelle merged 1 commit intomainfrom
claude/add-docker-support-ezDVE
Feb 20, 2026
Merged

Add Docker support with Dockerfile and docker-compose#24
pelle merged 1 commit intomainfrom
claude/add-docker-support-ezDVE

Conversation

@pelle
Copy link
Contributor

@pelle pelle commented Feb 19, 2026

Summary

This PR adds comprehensive Docker support to tap-http, making it easier to deploy and run the application in containerized environments. The changes include a multi-stage Dockerfile for efficient builds, a docker-compose configuration for quick local development, and updated documentation.

Key Changes

  • Dockerfile: Multi-stage build that compiles tap-http in a Rust builder image and packages it in a minimal Debian runtime image

    • Optimized layer caching by copying Cargo manifests before source code
    • Non-root user (tap) for security
    • Persistent storage at /data/tap for keys, logs, and databases
    • Health check endpoint
    • Includes both tap-http and tap-payment-simulator binaries
  • docker-compose.yml: Simple configuration for local development

    • Single service definition with volume mounting for persistent data
    • Port mapping (8000:8000)
    • Environment variables for configuration
    • Auto-restart policy
  • .dockerignore: Excludes unnecessary files from the build context

    • Reduces build context size by excluding git, docs, examples, and build artifacts
  • README.md: Added comprehensive Docker section with:

    • Quick start guide using docker-compose
    • Manual image build instructions
    • Multiple docker run examples (named volumes, host directories, with CLI flags)
    • Persistent storage documentation with path mappings
    • Environment variable configuration examples
    • Data inspection commands

Notable Implementation Details

  • The Dockerfile uses a two-stage build to minimize the final image size
  • Pre-builds dependencies in the builder stage for better caching
  • Sets TAP_HTTP_HOST=0.0.0.0 to allow external connections in containers
  • All configuration is environment-variable driven for flexibility
  • Health check uses tap-http --help as a simple liveness probe

https://claude.ai/code/session_01NrmQxebTcQsNZeR2a9FnQn

Add multi-stage Dockerfile, docker-compose.yml, and .dockerignore for
easy containerized deployment of the TAP HTTP server. Persistent storage
for keys, databases, and logs is mapped to a single /data/tap volume.

https://claude.ai/code/session_01NrmQxebTcQsNZeR2a9FnQn
@pelle pelle merged commit 7e1d46d into main Feb 20, 2026
3 checks passed
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.

2 participants