Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

+Dockerfile #236

Open
wants to merge 1 commit into from

7 participants

@schvin

Add a simple dockerfile for arbitrary usage.

@coveralls

Coverage Status

Coverage remained the same when pulling fd66a68 on schvin:add_dockerfile into a02a1eb on jakubroztocil:master.

@jakubroztocil

@schvin would you describe it a little bit please? I'm not sure it should be included here.

@schvin

Hi @jakubroztocil - thank you for httpie, love it.

The idea of putting a Dockerfile in the base of the project is that it's a quick signal to anyone coming across the project that they can quickly build/run it in an isolated way on their system without having to deeply research/consider dependencies or overlaps with other stuff on their system(s). For the time being I linked it temporarily to my profile, so that it could be available on the Docker Hub (https://registry.hub.docker.com/u/schvin/dockerfile-httpie/), and be easily cached/runnable. If you happen to have a host with Docker on it (boot2docker is a great path if you run VMs locally, or https://docs.docker.com/installation/#installation has more indepth instructions), you can then easily build/run httpie with this incantation:

docker run --rm -t schvin/dockerfile-httpie -v https://google.com/

This conveniently lets me run it in place, without having it installed where I am, just using whatever docker host I am pointed at to broker the actual running of httpie. Pretty portable and pretty cool.

Happy to go into more detail if you like! :beers:

@sigmavirus24

This seems useful to have in general, but not necessary to have in the repository. None of the contributors (beside yourself) would likely maintain this and then it would fall to @jakubroztocil or someone else if you were to disappear. I'm :-1: to including this in the upstream repository.

@markhu

I'd like to upvote this. Dependency management is non-trivial.matter, and Docker is becoming a popular way to handle it.

@sigmavirus24

It isn't as if there are already tools that deal with dependency managment in Python. virtualenvs work just fine and you can invoke them from anywhere and then use the installed http command without having to bother with docker. You could even define this bash function in your profile to use it:

use-http() {
  workon httpie
  http http://httpbin.org/get
  deactivate
}
@schvin

@sigmavirus24 i definitely see your point; what i was getting at was more of the use case of using httpie in places where i might not even have python installed (but have access to a local or remote docker daemon).

@defermat

+1; IANTM, but maintenance on something like this should be minimal to none. It would only come into play if the way that httpie is run or installed changes. API changes should not effect this, since that is just getting passed in as a runtime argument, and with help being the default argument, it will tell end users what was updated, without having to update the Dockerfile. Being able to run something like this without having to install on whatever local machine I might be on at the moment is a huge plus.

@sigmavirus24

@defermat you're assuming that future versions of Docker won't break the Dockerfile. In the event that happens, the person who will have to answer to the bug reports will be whoever maintains httpie.

@schvin I'm not arguing the value of having a Dockerfile for httpie, it clearly has value. I'm arguing the value of including it in this repository.

@defermat

@sigmavirus24 fair point.

@schvin

fwiw, i'm happy to be responsible for maintaining it and field issues/questions about it.

@sigmavirus24

@schvin excuse my skepticism, but I personally have been burned one too many times by outside (and one-off) contributors disappearing leaving me to maintain their mess.

@webmaven

@sigmavirus24 this suggests that some sort of non-core, or contrib directory or repo would be useful.

@sigmavirus24

@webmaven Yeah, a contrib repository could be useful. Alternatively, a section of the documentation could be created which links to the separate projects and has a disclaimer that all bugs should be filed there (with the exception of dead/inappropriate links).

@webmaven

@sigmavirus24 :+1: for referring to related projects in docs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Jun 25, 2014
  1. @schvin

    +Dockerfile

    schvin authored
This page is out of date. Refresh to see the latest.
Showing with 18 additions and 0 deletions.
  1. +18 −0 Dockerfile
View
18 Dockerfile
@@ -0,0 +1,18 @@
+FROM ubuntu:trusty
+MAINTAINER George Lewis <schvin@schvin.net>
+RUN apt-get update --fix-missing
+
+RUN apt-get install -y python-pip
+RUN pip install --upgrade httpie
+
+RUN groupadd httpie
+RUN useradd httpie -g httpie -d /home/httpie
+RUN mkdir /home/httpie
+RUN chown -R httpie:httpie /home/httpie
+
+ENV HOME /home/httpie
+USER httpie
+WORKDIR /home/httpie
+
+CMD ["--help"]
+ENTRYPOINT ["/usr/local/bin/http"]
Something went wrong with that request. Please try again.