Habitica Wiki
Habitica Wiki
Habitica Wiki

Docker[]

I think the docker instructions should be split into two sections for end-user simplicity.

  1. If someone just wants habitrpg, then we can document using dockerhub without any build instructions.
  2. If someone wants to fiddle with habitrpg, then we can assume they already have a local checkout and simplify the Dockerfile by removing the clone operations.

I am already tinkering in the Dockerfile and would be happy to make the docker and documentation changes.

Qrry (talk) 00:09, January 4, 2016 (UTC)

I'm not sure what you mean by "just wants habitrpg". Do you mean just run their own instance of habitrpg without modifying it? If so, they're welcome to do that, but that isn't the purpose of this wiki page or the dockerfile. Those are both provided to assist contributors to set up a local install of Habitica for development work and I'd like the instructions to continue to focus on that primarily.
Also we shouldn't assume they have a local copy. Assumptions lead to confused questions from people that the assumptions don't apply to. :) Some of our contributors are relatively new to programming and can be confused when necessary steps are omitted.
LadyAlys (talk) 01:39, January 4, 2016 (UTC)
@LadyAls, I am not sure I understant the intent of docker here then.  Perhaps the docker section should begin with "why someone would want this setup...".  Is it for deployment?  Reproducing prod issues?  Development?  I have not hacked this code yet but my first instinct was to setup containers via docker.  I see now that it is not the recommended configuration and that the docker setup isn't directly setup for this purpose from what I can tell. Qrry (talk) 01:52, January 4, 2016 (UTC)
As far as I'm aware, the docker image and instructions are intended for developers who want to set up a local install for development work (either new features or bug fixes) and who prefer to do that by using docker, rather than by using one of the other installation methods (vagrant, windows native, etc). It's not for deploying content to the Habitica.com website - staff and senior devs do that via other methods. If the current docker configuration and instructions aren't suitable (or aren't complete or have errors) for letting you set up a local install for development, can you please log an issue for it at https://github.com/HabitRPG/habitrpg/issues ? You'd be welcome to state in the issue that you're willing to fix it - we'd appreciate that! One of our senior devs did the current docker setup so the issue would let him comment on the situation if he wants to. Although we might be talking at cross purposes here. :) What did you want to use docker for? LadyAlys (talk) 02:18, January 4, 2016 (UTC)
Thanks for the clarification.  Yea I think the docker containers might not quite hit their target.  By nature, these containers are ephemeral.  It might make more sense to mount the application within a container so that any changes are persistent.  If that makes sense, then there is no need to spend all that time bundling the application in the container itself.  The container would then just be an environment for running the code but not developing it.  Using a mount would mean that devs can use whatever env they want for interfacing with the code.
My goal was to use spinup an application I can tinker with on my personal server and docker containers seemed like an easier target than trying to do it via vagrant.  Using docker for development and also for deployment is a fairly common pattern so I thought that might be the case.  Let me think on it a little before putting in a ticket and messing with the Dockerfile more.  Thanks for your help.
Qrry (talk) 02:43, January 4, 2016 (UTC)
I have been trying to set up dev environment lately using both Docker and Vagrant without success. I was also confused about the Docker container cloning and building everything inside the container since I had just checked out the project locally and could have just mounted that into the container. I'll continue working on my env and suggest updates to this guide if I find something that seems outdated etc. But so far it has not been very good dev experience and seems like many other people have similar problems (by reading from the posts in Aspiring Blacksmiths guild). Squall4 (talk) 14:50, August 29, 2018 (UTC)


The Aspiring Blacksmiths guild is the best place to ask for help, or create a GitHub issue (preferably not both at once since it could lead to duplicate answers). This Talk area is more for discussing changes to the page from a wiki editing perspective. If you've posted to the guild and haven't received a reply after a couple of days, it's likely that the staff haven't seen your message yet and that no one else there knows what the problem is - in that case it would be best to create a GitHub issue. Sorry about the hassle with setting up your install! LadyAlys (talk) 05:53, September 1, 2018 (UTC)