### IMPORTANT: Before You Start
-1. Make sure you're running a **64 bit** version of either [Ubuntu 12.04 LTS](http://releases.ubuntu.com/precise/), [Ubuntu 13.04](http://releases.ubuntu.com/13.04/) or [Ubuntu 13.10](http://releases.ubuntu.com/13.10/).
+1. Make sure you're running a **64 bit** version of either [Ubuntu 12.04 LTS](http://releases.ubuntu.com/precise/), or [Ubuntu 14.04 LTS](http://releases.ubuntu.com/14.04/).
1. Upgrade to the [latest version of Docker](http://docs.docker.io/en/latest/installation/ubuntulinux/).
1. Create a directory for Discourse Docker (the expected path is `/var/docker`): `install -g docker -m 2775 -d /var/docker`
1. Run the docker installation and launcher as **root** or a member of the **docker** group.
The simplest way to get started is the **standalone** template:
-1. **Clone** this project from github: `git clone https://github.com/SamSaffron/discourse_docker.git /var/docker`
+1. **Clone** this project from github into `/var/docker` on your server: `git clone https://github.com/discourse/discourse_docker.git /var/docker`
2. **Copy** the standalone sample into the containers directory: `cp samples/standalone.yml containers/app.yml`
3. **Edit** `containers/app.yml` with your environment specific information
- [bindings](#expose)
- - [volumes](#volumes) (make sure you create the appropriate directories on the host)
+ - [volumes](#volumes)
4. **Bootstrap** the image: `sudo ./launcher bootstrap app`
5. **Start** the image: `sudo ./launcher start app`
#### `/image`
-Dockerfile for both the base image `samsaffron/discoruse_base` and discourse image `samsaffron/discourse`.
+Dockerfile for both the base image `samsaffron/discourse_base` and discourse image `samsaffron/discourse`.
- `samsaffron/discourse_base` contains all the OS dependencies including sshd, runit, postgres, nginx, ruby.
```
expose:
- "2222:22"
+ - "127.0.0.1:20080:80"
```
-Expose port 22 inside the container on port 2222 on ALL local host interfaces.
+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/)
#### volumes:
```
volumes:
- volume:
- host: /var/docker/data
+ host: /var/docker/shared
guest: /shared
```
1. Use the front end at http://yoursite.com/admin/docker to upgrade an already running image.
2. Create a new base image by running:
- - `./launcher bootstrap my_image`
- `./launcher destroy my_image`
+ - `./launcher bootstrap my_image`
- `./launcher start my_image`
### Single Container vs. Multiple Container
### Troubleshooting
-We strongly recommend you have ssh access to your running containers, this allows you very easily take a sneak peek at internals. The simplest way to gain access is:
-
-1. Run a terminal as root
-1. `ssh-keygen -b 2048 -t rsa -N "" -C "root's unprotected key" -f ~root/.ssh/id_rsa`
-1. Paste the contents of `~root/.ssh/id_rsa.pub` into your templates (see placeholder `YOUR_SSH_KEY` in samples)
-1. Bootstrap and run your container
-1. `./launcher ssh my_container`
-
-Or, if you're running as a regular user:
-
-1. Run a terminal
-1. `ssh-keygen -b 2048 -t rsa -N "" -C "my unprotected key" -f ~/.ssh/id_rsa`
-1. Paste the contents of `~/.ssh/id_rsa.pub` into your templates (see placeholder `YOUR_SSH_KEY` in samples)
-1. Bootstrap and run your container
-1. `./launcher ssh my_container`
+You can ssh into your container using `./launcher ssh my_container`, we will automatically set up ssh access during bootstrap.
### Security
host do not match the IDs in the guest, permissions will mismatch. On clean
installs you can ensure they are in sync by looking at `/etc/passwd` and
`/etc/group`, the Discourse account will have UID 1000.
+
+
+### Advanced topics
+
+- [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)
+
+License
+===
+MIT