Skip to content
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

Modernize GTSAM containers #1779

Closed
acxz opened this issue Jul 9, 2024 · 4 comments · Fixed by #1780
Closed

Modernize GTSAM containers #1779

acxz opened this issue Jul 9, 2024 · 4 comments · Fixed by #1780

Comments

@acxz
Copy link
Contributor

acxz commented Jul 9, 2024

Feature

Need some GTSAM containers, noticed the containers we provide are pretty outdated (latest push to Docker Hub 3 years ago and based off bionic).

I also noticed some todo's to use the Compose Spec and noticed that our list of images could be streamlined with the use of tags.

tldr: modernize containers with newer versions, better tooling (compose), use of tags for various configurations, slimmer containers with best practices of writing container files.

Motivation

Need newer GTSAM images, smaller image sizes, and easier building/pushing to online registries

Pitch

Replace build.sh scripts with compose.yaml

Use .env files to specify various gtsam configurations, such as base ubuntu image, tbb on/off, python on/off, gtsam git tag.
Have a single gtsam image repository (instead of multiple potentially unused intermediary images) with various tags corresponding to build configurations
Have another image for the gtsam-vnc image (of course tagged with a base gtsam image)

Create a simple script to push various tagged images to docker hub in one go.

Create smaller image sizes, by condensing RUN commands and using appropriate flags such as --no-install-recommends.

Alternatives

N/A

Additional context

For full transparency, I'm writing this issue after I have implemented a resolution for it. See: https://hub.docker.com/r/acxz/gtsam/tags

@acxz
Copy link
Contributor Author

acxz commented Jul 11, 2024

@varunagrawal I know this issue got autoclosed, but could we keep it open until the images are pushed to Docker Hub and/or we decide on where the containers related files should reside (in the main repo or in the docker-images repo) and clean up the duplicate images in both this repo and the docker-images repo.

@varunagrawal
Copy link
Collaborator

Oh yeah absolutely. Thanks for being on top of this.

I'm waiting on Docker to renew our OSS license so we can run autobuilds. That may take a while.

@acxz
Copy link
Contributor Author

acxz commented Jul 12, 2024

Running Docker autobuilds may actually require some changes to our image building. I don't how it would handle our multiconfiguration stuff (i.e. with the .env file and hub_push.sh script).

My PR was based on local building and pushing.
Would it be possible for you to simply run the hub_push.sh script locally and get the images out on Docker Hub?

I apologize if I'm being antsy, just want to see the Docker Hub updated. I'm totally okay with waiting if autobuilds is the way to go.

@varunagrawal varunagrawal reopened this Jul 12, 2024
@varunagrawal
Copy link
Collaborator

Built and pushed the images: https://hub.docker.com/repository/docker/borglab/gtsam/general

attn: @dellaert

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 a pull request may close this issue.

2 participants