bashful icon indicating copy to clipboard operation
bashful copied to clipboard

Create a public docker image for bashful

Open wagoodman opened this issue 5 years ago • 4 comments

wagoodman avatar Sep 13 '18 17:09 wagoodman

How does this look to you ? 😄 https://github.com/karuppiah7890/bashful-docker/blob/master/Dockerfile

karuppiah7890 avatar Sep 16 '18 13:09 karuppiah7890

It's a very simple docker image. Some improvements that could be done :

  1. Install an exact version in the docker image. Currently installing using go get leads to showing no version, commit, build time in the bashful command run, which is bad as it will lead to bad debugging when an issue is reported by a developer

  2. Based on 1, we can tag the docker image with versions

  3. Work on making the image smaller. I can try to do this. Since bashful is a golang app, I will see how I can get the static binary into an image as small as possible. Something like busybox or alpine 😄 and we can tag it accordingly. If you are planning to have other images with different base images, we could do that too, like Ubuntu, Debian and others. I can may be help with that too. I still have to learn some things, like what people usually do and how people consume when they want to compose the app into another docker image, like someone may want to install bashful inside their already existing image and there may be other use cases. May be we could consider them too

Does it make sense ? What do you think ? And What are your thoughts on creating a Docker Image for bashful ?

And also, these are just ideas out of the top of my head. We can just work on one thing at a time and iteratively get this done.

karuppiah7890 avatar Sep 16 '18 13:09 karuppiah7890

@karuppiah7890 it's a good start. I think I would probably make it even slimmer by not even using go get to grab/compile it. Instead a plain wget https://github.com/wagoodman/bashful/releases/download/v0.1.1/bashful_0.1.1_linux and throwing that into the bin directory would be simpler. We'd need to adjust go-releaser to have a plain linux binary available for download to do this. This would make it easier to control which version is built (and tagged accordingly).

I think it would make a lot of sense to provide an installer script via https://github.com/goreleaser/godownloader to allow anyone to pull this into their own image. In that way instead of providing several flavors (ubuntu, debian, centos, etc...) this would allow anyone to pull this tool into their base image with one command.

wagoodman avatar Sep 16 '18 22:09 wagoodman

Ah. Cool! It's true, we just need a Linux binary. I will check out about go-releaser and how to create a Linux binary using it and contribute then :)

karuppiah7890 avatar Sep 17 '18 03:09 karuppiah7890