Skip to content

docs(readme): sync Docker examples with actual Dockerfile and docker-compose.yml (#8) - #78

Open
ghzhost wants to merge 2 commits into
StellarSend:mainfrom
ghzhost:docs/sync-readme-docker-8
Open

docs(readme): sync Docker examples with actual Dockerfile and docker-compose.yml (#8)#78
ghzhost wants to merge 2 commits into
StellarSend:mainfrom
ghzhost:docs/sync-readme-docker-8

Conversation

@ghzhost

@ghzhost ghzhost commented Sep 3, 2026

Copy link
Copy Markdown

Summary

Fixes #8 — the README's Docker section showed a Dockerfile snippet and docker-compose.yml that diverged from the actual root files.

Changes

Dockerfile snippet in README:

  • Update base image from rust:1.75-slim-bookwormrust:slim-bookworm
  • Remove extraneous WORKDIR /app and COPY migrations from the runtime stage
  • Add curl to runtime dependencies (needed for the /health healthcheck)
  • Fix binary destination to /usr/local/bin/stellarsend (matches actual Dockerfile)
  • Fix CMD to bare binary name: CMD ["stellarsend"]
  • Fix EXPOSE from 80803000

docker-compose.yml snippet in README:

  • Remove obsolete version: "3.9" (deprecated in Compose v2)
  • Switch from inline environment: block to env_file: - .env (matches real file)
  • Add healthcheck: blocks for db (pg_isready) and api (curl /health), consistent with the fix introduced in docker-compose.yml has no healthchecks for api or db services #10
  • Use depends_on: db: condition: service_healthy

All curl examples and prose throughout the README:

  • Replace localhost:8080localhost:3000
  • Update PORT default from 80803000
  • Fix "server binds to http://0.0.0.0:8080" prose to 3000

Closes #8

ghzhost added 2 commits September 3, 2026 03:35
)

- Add pg_isready-based healthcheck for the db (postgres:16-alpine) service
  so depends_on waits until Postgres is ready to accept connections, not
  just until the container has started.
- Add curl /health-based healthcheck for the api service using the
  existing GET /health liveness probe.
- Upgrade depends_on: [db] to depends_on: db: condition: service_healthy
  so the API container only starts after the DB is proven healthy.
- Add curl to the Dockerfile runtime stage so the healthcheck command
  is available in the final image.

Fixes StellarSend#10
…compose.yml (StellarSend#8)

The README's Docker section showed a Dockerfile and docker-compose.yml that
diverged from the actual root files in several ways. Reconcile them:

Dockerfile snippet:
- Update base image from rust:1.75-slim-bookworm to rust:slim-bookworm
- Remove extraneous WORKDIR /app and COPY migrations in the runtime stage
- Install curl in runtime stage (needed for the healthcheck probe)
- Copy binary to /usr/local/bin/stellarsend (matches actual Dockerfile)
- Fix CMD to use bare binary name: CMD ["stellarsend"]
- Fix EXPOSE from 8080 to 3000

docker-compose.yml snippet:
- Remove obsolete version: "3.9" (deprecated in Compose v2)
- Switch from inline environment: block to env_file: - .env (matches real file)
- Add healthcheck blocks for db (pg_isready) and api (curl /health),
  consistent with what StellarSend#10 introduced to the actual docker-compose.yml
- Use depends_on: db: condition: service_healthy

All curl examples and port references throughout the README:
- Replace localhost:8080 with localhost:3000
- Replace PORT default 8080 with 3000
- Update 'server binds to 0.0.0.0:8080' prose to 3000

Fixes StellarSend#8
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.

README's embedded Dockerfile/docker-compose.yml differ from the actual root files

1 participant