-
Notifications
You must be signed in to change notification settings - Fork 57
fix(docker): Resolve binary paths, network connectivity, and improve developer experience #72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
I am not much familiar with |
|
Thanks for the improvements, looks very helpful. :) |
The Taskfile is more a convenience across multiple platforms avoiding users to run long docker build commands. I have also added some extra utilities to help developers remember the commands. Its throughly optional we can leave users to decide. WDYT? |
- improve docker builds and reduce final image size - Remove unneeded mounts in compose file - add taskfile for building and running the containers - add docker quickstart guide - add local development guide
3405730 to
0b0217a
Compare
docker/README.md
Outdated
|
|
||
| ### Key Optimizations | ||
|
|
||
| ✅ **Single PostgreSQL Version**: Builds only PG 16, 17, or 18 (not all 3) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is not true. We build all in dev_base now (CI needs it till the CI relies on separate images per pg version). The final image will contain only one of the postgres version's binaries though.
We go with taskfile as it is more friendly for windows users (already covers linux and macos users). |
sfc-gh-abozkurt
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, LGTM. Please make sure PR description is up-to-date.
updated the PR to be inline with the changes. |
Description
Summary
This PR fixes critical infrastructure issues and significantly improves the local development experience for pg_lake. All changes are backward compatible and require no configuration changes from users.
Key Changes
🔧 Infrastructure Fixes
Dockerfile
Entrypoint Scripts (
entrypoint-postgres.sh,entrypoint-pgduck-server.sh)${PGBASEDIR}/pgsql-${PG_MAJOR}/bin/consistently with fallback defaultslisten_addresses = '*'and properpg_hba.confrules--host 0.0.0.0option from pgduck_server (Unix socket only)docker-compose.yml
pg_lake-postgresandpgduck-servernow sharepg-shared-tmp-dir-volume📚 Documentation Improvements
-- Streamlined to 3-step guide with complete working example and S3 verification
-- Added connection methods, troubleshooting, and memory recommendations
⚡ Taskfile for Convinience (Optional)
task build:local - builds the image locally to be used with docker composetask images:list- Now displays architecture (arm64/amd64)task s3:list- View LocalStack S3 contents in tree formattask compose:logs SERVICE=<name>- Target specific service logstask compose:teardown- Complete cleanup with volume removaltask login:ghcr|dockerhub- Simplified DockerHub and GHCR authentication🧹 Cleanup
Testing
task compose:upbuilds and starts all servicespsql -h localhost -p 5432 -U postgresCREATE TABLE test(id int, name text) USING iceberg;task s3:listshows Iceberg filesImpact
Checklist