The simplest way to get started is via the **standalone** template, which can be installed in 30 minutes or less. For detailed install instructions, see
-https://github.com/discourse/discourse/blob/master/docs/INSTALL-digital-ocean.md
+https://github.com/discourse/discourse/blob/master/docs/INSTALL-cloud.md
### Directory Structure
#### `/templates`
-[pups](https://github.com/samsaffron/pups) managed pups templates you may use to bootstrap your environment.
+[pups](https://github.com/samsaffron/pups)-managed templates you may use to bootstrap your environment.
#### `/image`
enter: Use nsenter to enter a container
ssh: Start a bash shell in a running container
logs: Docker logs for container
- mailtest: Test the mail settings in a container
bootstrap: Bootstrap a container for the config based on a template
rebuild: Rebuild a container (destroy old, bootstrap, start new)
```
### Container Configuration
-The beginning of the container definition will contain 3 "special" sections:
+The beginning of the container definition can contain the following "special" sections:
#### templates:
- "templates/postgres.template.yml"
```
-This template is "composed" out of all these child templates, this allows for a very flexible configuration struture. Furthermore you may add specific hooks that extend the templates you reference.
+This template is "composed" out of all these child templates, this allows for a very flexible configuration structure. Furthermore you may add specific hooks that extend the templates you reference.
#### expose:
- "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.io/en/latest/use/port_redirection/)
+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/)
#### volumes:
```
volumes:
- volume:
- host: /var/docker/shared
+ host: /var/discourse/shared
guest: /shared
```
-Expose a directory inside the host inside the container.
+Expose a directory inside the host to the container.
+
+#### links:
+```
+links:
+ - link:
+ name: postgres
+ alias: postgres
+```
+
+Links another container to the current container. This will add `--link postgres:postgres`
+to the options when running the container.
### Upgrading Discourse
- [Setting up SSL with Discourse Docker](https://meta.discourse.org/t/allowing-ssl-for-your-discourse-docker-setup/13847)
- [Multisite configuration with Docker](https://meta.discourse.org/t/multisite-configuration-with-docker/14084)
+- [Linking containers for a multiple container setup](https://meta.discourse.org/t/linking-containers-for-a-multiple-container-setup/20867)
+- [Replace rubygems.org with taobao mirror to resolve network error in China](https://meta.discourse.org/t/replace-rubygems-org-with-taobao-mirror-to-resolve-network-error-in-china/21988/1)
+
+### Developing with Vagrant
+
+If you are looking to make modifications to this repository, you can easily test
+out your changes before committing, using the magic of
+[Vagrant](http://vagrantup.com). Install Vagrant as per [the default
+instructions](http://docs.vagrantup.com/v2/installation/index.html), and
+then run:
+
+ vagrant up
+
+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`
+and then start running `launcher`.
+
License
===