#### `/image`
-Dockerfile for both the base image `/discourse_base` and discourse image `/discourse`.
+Dockerfiles for Discourse; see [the README](image/README.md) for further details.
-- `/discourse_base` contains all the OS dependencies including runit, postgres, nginx, ruby.
-
-- `/discourse` builds on the base image and configures a discourse user and `/var/www/discourse` directory for the Discourse source.
-
-The Docker repository will always contain the latest built version at: https://index.docker.io/u/samsaffron/discourse/ , you should not need to build the base image.
+The Docker repository will always contain the latest built version at: https://hub.docker.com/r/discourse/base/, you should not need to build the base image.
### Launcher
destroy: Stop and remove a container
enter: Use docker exec to enter a container
logs: Docker logs for container
- memconfig: Configure sane defaults for available RAM
+ memconfig: Configure sane defaults for available RAM
bootstrap: Bootstrap a container for the config based on a template
rebuild: Rebuild a container (destroy old, bootstrap, start new)
```
- "127.0.0.1:20080:80"
```
-Expose port 22 inside the container on port 2222 on ALL local host interfaces. In order to bind to only one interface, you may specify the host's IP address as `([<host_interface>:[host_port]])|(<host_port>):<container_port>[/udp]` as defined in the [docker port binding documentation](http://docs.docker.com/userguide/dockerlinks/)
+Publish port 22 inside the container on port 2222 on ALL local host interfaces. In order to bind to only one interface, you may specify the host's IP address as `([<host_interface>:[host_port]])|(<host_port>):<container_port>[/udp]` as defined in the [docker port binding documentation](http://docs.docker.com/userguide/dockerlinks/). To expose a port without publishing it, specify only the port number (e.g., `80`).
#### volumes:
Links another container to the current container. This will add `--link postgres:postgres`
to the options when running the container.
+#### environment variables:
+
+Setting environment variables to the current container.
+
+```
+# app.yml
+
+env:
+ DISCOURSE_DB_HOST: some-host
+ DISCOURSE_DB_NAME: {{config}}_discourse
+```
+
+The above will add `-e DISCOURSE_DB_HOST=some-host -e DISCOURSE_DB_NAME=app_discourse` to the options when running the container.
+
+#### labels:
+```
+# app.yml
+
+labels:
+ monitor: 'true'
+ app_name: {{config}}_discourse
+```
+
+Add labels to the current container. The above will add `--l monitor=true -l app_name=dev_discourse` to the options
+when running the container
+
### Upgrading Discourse
The Docker setup gives you multiple upgrade options:
This will spawn a new Ubuntu VM, install Docker, and then await your
instructions. You can then SSH into the VM with `vagrant ssh`, become
`root` with `sudo -i`, and then you're right to go. Your live git repo is
-already available at `/var/discourse`, so you can just `cd /var/discourse`
+already available at `/vagrant`, so you can just `cd /vagrant`
and then start running `launcher`.