summaryrefslogtreecommitdiffstats
path: root/Dockerfile
diff options
context:
space:
mode:
authorCorey Hulen <corey@hulen.com>2015-06-16 22:50:07 -0800
committerCorey Hulen <corey@hulen.com>2015-06-16 22:50:07 -0800
commit60b98340ac897edb987bf685654510709274b494 (patch)
tree521080e6f615ce24da06a3e1f3b9791f63d35bbd /Dockerfile
parentbe61bfe0e918470a3df73834659c8b8a97a5d734 (diff)
parent4cd28a520cec04ac880ef112c0f8858e039e1f2b (diff)
downloadchat-60b98340ac897edb987bf685654510709274b494.tar.gz
chat-60b98340ac897edb987bf685654510709274b494.tar.bz2
chat-60b98340ac897edb987bf685654510709274b494.zip
Merge pull request #16 from mattermost/mm-1157
MM-1157 Docker file and related configurations
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile97
1 files changed, 97 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 000000000..da57550c0
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,97 @@
+FROM ubuntu:14.04
+
+# Install Dependancies
+RUN apt-get update && apt-get install -y build-essential
+RUN apt-get install -y curl
+RUN curl -sL https://deb.nodesource.com/setup | bash -
+RUN apt-get install -y nodejs
+RUN apt-get install -y ruby-full
+RUN gem install compass
+
+# Postfix
+RUN apt-get install -y postfix
+
+#
+# Install GO
+#
+
+RUN apt-get update && apt-get install -y \
+ gcc libc6-dev make git mercurial \
+ --no-install-recommends \
+ && rm -rf /var/lib/apt/lists/*
+
+ENV GOLANG_VERSION 1.4.2
+
+RUN curl -sSL https://golang.org/dl/go$GOLANG_VERSION.src.tar.gz \
+ | tar -v -C /usr/src -xz
+
+RUN cd /usr/src/go/src && ./make.bash --no-clean 2>&1
+
+ENV PATH /usr/src/go/bin:$PATH
+
+RUN mkdir -p /go/src /go/bin && chmod -R 777 /go
+ENV GOPATH /go
+ENV PATH /go/bin:$PATH
+WORKDIR /go
+
+# ---------------------------------------------------------------------------------------------------------------------
+
+#
+# Install SQL
+#
+
+ENV MYSQL_ROOT_PASSWORD=mostest
+ENV MYSQL_USER=mmuser
+ENV MYSQL_PASSWORD=mostest
+ENV MYSQL_DATABASE=mattermost_test
+
+RUN groupadd -r mysql && useradd -r -g mysql mysql
+
+RUN apt-get update && apt-get install -y perl --no-install-recommends && rm -rf /var/lib/apt/lists/*
+
+RUN apt-key adv --keyserver pool.sks-keyservers.net --recv-keys A4A9406876FCBD3C456770C88C718D3B5072E1F5
+
+ENV MYSQL_MAJOR 5.6
+ENV MYSQL_VERSION 5.6.25
+
+RUN echo "deb http://repo.mysql.com/apt/debian/ wheezy mysql-${MYSQL_MAJOR}" > /etc/apt/sources.list.d/mysql.list
+
+RUN apt-get update \
+ && export DEBIAN_FRONTEND=noninteractive \
+ && apt-get -y install mysql-server \
+ && rm -rf /var/lib/apt/lists/* \
+ && rm -rf /var/lib/mysql && mkdir -p /var/lib/mysql
+
+RUN sed -Ei 's/^(bind-address|log)/#&/' /etc/mysql/my.cnf
+
+VOLUME /var/lib/mysql
+# ---------------------------------------------------------------------------------------------------------------------
+
+#
+# Install Redis
+#
+
+RUN apt-get update && apt-get install -y wget
+RUN wget http://download.redis.io/redis-stable.tar.gz; \
+ tar xvzf redis-stable.tar.gz; \
+ cd redis-stable; \
+ make install
+
+# ---------------------------------------------------------------------------------------------------------------------
+
+# Copy over files
+ADD . /go/src/github.com/mattermost/platform
+
+# Insert postfix config
+ADD ./config/main.cf /etc/postfix/
+
+RUN go get github.com/tools/godep
+RUN cd /go/src/github.com/mattermost/platform; godep restore
+RUN go install github.com/mattermost/platform
+RUN cd /go/src/github.com/mattermost/platform/web/react; npm install
+
+RUN chmod +x /go/src/github.com/mattermost/platform/docker-entry.sh
+ENTRYPOINT /go/src/github.com/mattermost/platform/docker-entry.sh
+
+# Ports
+EXPOSE 80