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

Add a Dockerfile to allow git-sim running via docker #46

Closed
borekb opened this issue Feb 5, 2023 · 10 comments
Closed

Add a Dockerfile to allow git-sim running via docker #46

borekb opened this issue Feb 5, 2023 · 10 comments
Labels
enhancement New feature or request

Comments

@borekb
Copy link

borekb commented Feb 5, 2023

Tools built in Python are quite tricky for me to run on macOS and I know many other people struggle with it too, would you consider publishing a Docker image to make consuming this awesome looking utility easier? It looks really great!

@initialcommit-io initialcommit-io added the enhancement New feature or request label Feb 5, 2023
@initialcommit-io
Copy link
Contributor

Hi @borekb! That sounds like a good suggestion. I worked with Docker several years ago but it's been a while. It would take me some time to get familiar again and we're also working on various other enhancements to git-sim at the moment.

Any chance you want to try your hand at creating a working Docker image and submitting a pull request? Happy to provide guidance on what needs to be included, and help troubleshooting if you run into issues.

@borekb
Copy link
Author

borekb commented Feb 5, 2023

It's also been some time for me 😄. I'll try to pair with ChatGPT next weekend to come up with something 🤞.

@initialcommit-io
Copy link
Contributor

Haha sounds good! Let me know if you get stuck on anything or if you have any implementation questions.

@Averagess
Copy link
Contributor

Hello @borekb, could you check if the Dockerfile works for you on macOS?

@initialcommit-io initialcommit-io changed the title Docker build? Add a Dockerfile to allow git-sim running via docker Feb 9, 2023
@initialcommit-io
Copy link
Contributor

@Averagess Thanks for this! I was able to get it to work on MacOS Monterey, so I'll merge the PR.

FYI for other Mac users out there - I had crazy issues setting up docker with docker-machine and virtualbox from the command-line using Homebrew. It was much easier to set up by manually downloading/installing docker on Macos from here: https://docs.docker.com/desktop/install/mac-install/

@initialcommit-io
Copy link
Contributor

initialcommit-io commented Feb 9, 2023

@Averagess Actually quick question - since it's tedious to run git-sim using long docker commands like docker run --rm -v $(pwd):/usr/src/git-sim git-sim log, can you suggest how to alias those commands on Windows/Linux/MacOS so that they can simply be run as git-sim log?

It might be possible by setting up an alias like (pseudocode):

alias git-sim = docker run --rm -v $(pwd):/usr/src/git-sim git-sim

So that running git-sim on its own plus a subcommand/options would trigger the program. If that works, we can add that into the README as a helpful note for those who want to run using docker.

@Averagess
Copy link
Contributor

Averagess commented Feb 9, 2023

@initialcommit-io With Docker alone, most likely not possible.

For Bash, you can write your own alias functions inside the .bashrc file
check out this stackoverflow guide

I got mine working with Git Bash on Windows, i put this function inside my .bashrc file.
git-sim() { docker run --rm -v /$(pwd):/usr/src/git-sim git-sim "$@" }

for macOS and linux this should work:

git-sim() { docker run --rm -v $(pwd):/usr/src/git-sim git-sim "$@" }

Now only running git-sim with params, works

For Windows Powershell its a bit more complicated, but you can define same functions as aliases
i followed this guide
and this

  • Open powershell, type Notepad $PROFILE and inside the notepad put this function:
    function git-sim { docker run --rm -v ${PWD}:/usr/src/git-sim git-sim $args }
  • Save the file and close
  • To run these functions, you have to have set the execution policy to RemoteSigned
  • Check the value of this by running Get-ExecutionPolicy
  • If its restricted, set it to Set-ExecutionPolicy RemoteSigned, note that you might have to run powershell as administrator to it have effect
  • Restart powershell, and you should be now able to only use git-sim params... inside powershell

@initialcommit-io
Copy link
Contributor

@Averagess Sweet! I'll merge the PR now and then update the README with the Docker steps and your suggestions for aliasing. Thanks again and if you ever want to work on other aspects of Git-Sim let me know!

@borekb
Copy link
Author

borekb commented Feb 10, 2023

I didn't realize this earlier but there already was https://hub.docker.com/r/cvagner/git-sim 8 days ago – it's created by @cvagner and the repo behind it is https://github.com/cvagner/docker-git-sim.

So now I have two options how to run git-sim via Docker – open source is awesome 😄.

@cvagner
Copy link

cvagner commented Feb 10, 2023

Hi,
Sorry, I should have proposed the work I've done (quickly and tested on Linux only) ! Like @borekb, I wanted to test the application without installing all kind of stuffs on my PC.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants