summaryrefslogtreecommitdiffstats
path: root/Dockerfile
diff options
context:
space:
mode:
authorReed Garmsen <rgarmsen2295@gmail.com>2015-06-18 11:35:59 -0700
committerReed Garmsen <rgarmsen2295@gmail.com>2015-06-18 11:35:59 -0700
commit94c727a9c20e9fed0dab3d7e2688f9b96f0743e7 (patch)
tree422c7abe627630cb342c401c6c894ba6c12fa230 /Dockerfile
parent8ae7afa5cc0119c7308aa87ce65c3c6c875da985 (diff)
parentb7ada27c019598afe95ac4fb6b0a63f394510785 (diff)
downloadchat-94c727a9c20e9fed0dab3d7e2688f9b96f0743e7.tar.gz
chat-94c727a9c20e9fed0dab3d7e2688f9b96f0743e7.tar.bz2
chat-94c727a9c20e9fed0dab3d7e2688f9b96f0743e7.zip
Merge pull request #9 from rgarmsen2295/master
to me
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile99
1 files changed, 99 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 000000000..5c389c056
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,99 @@
+# Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved.
+# See License.txt for license information.
+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 ./docker/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/docker-entry.sh
+ENTRYPOINT /go/src/github.com/mattermost/platform/docker/docker-entry.sh
+
+# Ports
+EXPOSE 80