artsy/docker-discourse

Name: docker-discourse

Owner: Artsy

Description: Docker image for Discourse

Forked from: BradJonesLLC/docker-discourse

Created: 2017-10-21 13:30:13.0

Updated: 2017-10-24 12:29:34.0

Pushed: 2017-10-26 16:19:38.0

Homepage: https://hub.docker.com/r/artsy/discourse/

Size: 58

Language: Shell

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

docker-discourse

This Docker container is an effort to provide a more self-contained, immediately-deployable image for the Discourse discussion platform.

For background, see this discussion on the Discourse Meta forum.

This image is still very much a work in progress and you are encouraged to build your own image instead of depending on the Docker Hub automated build, until the architecture is more settled. I would hope this repository can be deprecated in the future in favor of a recognized image from the maintainers.

Usage
Build and Development

Build the image with docker build -t artsy/discourse:latest .

A docker-compose.yml file is included for local development and testing. To build and run the stack locally, run docker-compose up --build and discourse will be available at http://localhost:8080.

Database migration and regular asset creation are run at application boot time by /.bootstrap.sh.

Environment

You should set the following (hopefully self-explanatory) environment variables for the app container:

These env vars are set explicity in docker-compose.yml. kubernetes.yml uses the envFrom statement to inject the environment from a configMap object named discourse-environment.

Copy discourse-environment.yml.example to discourse-environment.yml, edit this file with your specific settings, and run kubectl create --save-config -f discourse-environment.yml. Note that this needs to be created before creating the Kubernetes deployment.

Deployment to Kubernetes

A kubernetes.yml file is included for deployment to Kubernetes. It assumes you are running on AWS and exposes discourse over an ELB with SSL enabled.

The file nginx.conf redirects HTTP -> HTTPS if running on a domain that is not localhost. Change MYSERVERCERTIFICATE to your hosted server certificate.

kubernetes.yml also creates a PersistentVolumeClaim and mounts /shared in the discourse container for data permanence.

Launch the deployment in your Kubernetes cluster with kubectl create --save-config -f kubernetes.yml.

Known issues and OFI's
License and Copyright

© 2016 Brad Jones LLC and Civilized Discourse Construction Kit, Inc. and Artsy, Inc.

GPL License.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.