WHERE is the app.yml file?

(Scott Trager) #1


I recently did a local install of discourse using the Bitnami image file and so far everything looks OK, however my developers want to have a look at a few of the plugins to see if the forum is capable of doing what we want it to without having to pay for someone to customize it.

I went to install one and saw that it is a very complicated process involving modifying something in the bootstrap etc. - not thrilled this is the case - a plugin isn’t a plugin (this is more of a mod-type setup) unless its a simple copy/paste or an installer.

In any case, I took the plunge and decided to try anyway and lo-and-behold the file the plugin instructions tells me to modify simply doesn’t exist…

I did a find / -name app.yml on the server and it appears there is no file with this name anywhere. Do I have to create it? Is there a simple 1-2-3 set of instructions on how to install a plugin? Almost all of the tutorials seem to assume that this is a basic step, but as a linux expert and someone with more than 15 years of programming and development experience I can’t make heads or tails of this…

Installing plugins without Docker? (Windows 8 and Vagrant Setup)
(Jeff Wong) #2

The ‘officially’ supported Discourse install is by way of docker:

Using this method, users install yml files to provision docker containers that will run a docker cluster (one yml per container), with the simplest being a single container (by copying samples/standalone.yml to containers/app.yml).

That is the app.yml file they are talking about.

(Scott Trager) #3

yeah - couldn’t get it to work at all through Docker without spending a lot of time configuring (how on EARTH do you guys claim this is simple to install?!) which is why I got an image with all this pre-done for me so I didn’t have to spend the time (AGAIN - this was my third try at this).

I don’t have days to sit here and play with it - it’s supposed to be a 20-30 minute evaluation… Every other forum we have compared against (IPB, PHPBB, Vanilla, etc.) we were able to install and get running in less than an hour including plugins, mods, themes, etc.

So again… is there a simple set of instructions on how to install a plugin on ANY discourse setup (I’m assuming this is set up through Docker, but I’d like GENERIC instructions just in case) … I’m at a complete loss here… I need step by step instructions down to the most basic level since every existing guide I could find is making assumptions that you know what the heck they are talking about!

(Jeff Wong) #4

If I may ask, what were your roadblocks with using the docker installer?

it was pretty straightforward for me. My personal gotchas were:

  • ensuring that I had the latest version of docker installed. Ubuntu for example uses docker.io (and an older version at that).
  • pulling the required containers. Seriously this was the worst. I think updating docker caused the container dependencies to break somehow. Clearing my entire docker containers + images and re-pulling all images fixed this.
  • remembering to sudo when running ./launcher. Not doing this will generate some pretty obscure errors. Docker wants root.
  • email configuration. I am not an email admin, so my understanding of how mailservers work is pretty pathetic.

Once I got my head around that, it did indeed work like a charm.

What sort of server + configuration are you installing on?

(Jeff Atwood) #5

Did you follow the walkthrough here?

We get a lot of compliments on that walkthrough that @techapj put together and we have refined it a lot since then. I can now do that “30 minute” install in 15 minutes, but I have had some practice…


Yup. Docker/Discourse installation is easy; I guess it can get difficult when docker has some issue with the host OS / vps.

(Scott Trager) #7

That walkthrough is completely useless - not to mention it wants you to pay for some service - step one was “adjust billing etc.” - not something we are going to do for an evaluation. Also it doesn’t walk you through any of the steps just tells you what they are and it seems to be missing whole swaths of installation stuff.

There were a few older and better ones I found online that took that information and wrote it in a more comprehensive way - but they seem to be based on older versions of Discourse - still better than the one you referred to.

I used a fresh clean Debian (latest) install the first time out, and a fresh clean Ubuntu install the second - There were so many dependencies it took me nearly a full day to install on each (the first one I had to abandon because no one said it had to be a 64-bit machine so I was using an older 32-bit one) and than it yelled that Ruby was the wrong version despite running 2.0.0, than bundle-install kept causing errors (no gems could be found, than it downloaded the “wrong” gems somehow, etc. etc. etc. than there were postgres issues despite a perfect postgres setup…) and it was just one issue after another- HENCE why when I did it on attempt #3 I got it pre-done so I didn’t have to waste the time. THAT is what Discourse needs to provide if it’s going to mandate such a complicated and unwieldy requirement such as Docker and Ruby. A pre-built ISO you can simply throw up in VirtualBox and start testing- which is what I found in the Bitnami image…

All of that is kinda extraneous however - you keep telling me to use docker etc. but I’m not willing to install this for a fourth time (I’ll tell my company to go with another option before I do that) and I STILL NEED TO BE ABLE TO INSTALL PLUGINS to complete this evaluation. Can someone PLEASE tell me how to do this?

(Dave McClure) #8

The other guides are outdated and/or not officially supported, as many others have noted above already.

Also, extensibility via plugins is one of the main focuses of v1.2, which is currently in development, so that’s not something that I would count on working seamlessly in your evaluation right now.

If the officially supported docker installation doesn’t work for you and/or $10 or $20 a month is too much to spend to try it out, you are better off going with one of the other solutions you mentioned.


Installing Discourse is easy as:

Getting a 2GB droplet / VPS instance running [that supports Docker]
SSH into it.

As root:

wget -qO- https://get.docker.io/ | sh
mkdir /var/discourse && git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse && cp samples/standalone.yml containers/app.yml
nano containers/app.yml
./launcher bootstrap app
./launcher start app

That’s basically it. You still have to read the other stuff obviously, but saying that installing Discourse takes a lot of time is simply wrong. Digitalocean already offers handy dependencies like git which other VPS providers may not do per default.

The official tutorial doesn’t hold your hands, that is true, some other guides may be better for that (for people that don’t know how to use cd nano git etc maybe?), I can see that.

You can install Plugins by following the README.md 's of each plugin, usually it’s just adding a line into the app.yml and rebuilding again.

(Scott Trager) #10

Once again, there is no app.yml file anywhere on this machine. How to I install a plugin without this? The read.me says the same thing - it does not provide alternative instructions.

(Dave McClure) #11

You need to install via the official docker install to have that file.

Without doing so, you really are on your own, I’m afraid.


That command copies the standalone.yml example file to the containers/ folder and renames it to app.yml.
cp is just a basic *nix command that copies files and folders and lets you rename them too while at it.

After that, you have the app.yml file in the containers folder and can edit it with nano (pre-installed at Digitalocean).

(Sam Saffron) #13

This sentence makes me full of :rage:. WTF?

The only dependencies are Docker and git, if installing Docker and git is taking you 8 hours (and not 120 seconds, like it takes me on a clean ubuntu x64 install) … well you have some serious issues.

(Neil Lalonde) #14

The guide assumes that you’re installing on Digital Ocean. The point is that you’re on Ubuntu or something similar where you can install Docker. Ubuntu is free, so if you have your own server, then you can skip the billing stuff.

(Scott Trager) #15

Yeah I was full of “WTF” too… I’m nowhere even close to a newb with Linux and I have all the resources of a fortune 500 at my disposal (which makes it 100X more frustrating that they won’t let me spend $10 on a trial, but will let me use multiple developers time for several days which must have cost us many, many times that), and I wasn’t the only one who was absolutely flabbergasted by how difficult this was to get going - especially on a fresh installation (note: keep in mind that 8 hours is 8 “work” hours which includes substantial interruptions)

I was hoping motor’s post was the answer I was looking for but there doesn’t seem to be a standalone.yml either. Oh well… I may just purchase the trial on digitalocean with my own money just to put this project behind me.

(Kane York) #16

I can guarantee you at this point that you are doing something wrong, and I’d be happy to talk with you to help figure out what it is. I can be reached on IRC (freenode or Esper, name Riking) or by PM here on meta.

(Jeff Atwood) #17

Good news! There is a Digital Ocean coupon on the blog post that gives you a $10 credit to start:

I hear you, it’s frustrating to have a barrier on billing. Sorry :frowning:

(Sam Saffron) #18

I am still confused, are you telling me your developers can not install docker on Ubuntu in 8 hours?


(Scott Trager) #19

Continuing the discussion from WHERE is the app.yml file?:

Oh no doubt we are doing something wrong… I’ll likely be in touch on Monday.

Continuing the discussion from WHERE is the app.yml file?:

Well to be fair many of them are Windows guys (almost our entire infrastructure is .Net based - something I’ve been working VERY hard at getting changed) and I am far more knowledgeable in Linux than they are, but a few of them are experienced linux devs and they seemed to be having the same troubles I was.