Docker for mattermost in production

1. Put cert.pem into web/cert and key-no-password.pem into web/cert/private.
2. docker-compose up -d

The settings of the servers are based on
https://github.com/mattermost/platform/blob/master/doc/install/Production-Ubuntu.md.

app/config_docker.json is based on
https://raw.githubusercontent.com/mattermost/platform/master/config/config.json.
This commit is contained in:
Yi EungJun committed 2015-11-30 17:54:49 +09:00
1 parent 8bab0a6d03
commit 4cf5bdc8c8
9 files changed
+215

No files matched your search

+25
View File
@@ -0,0 +1,25 @@
FROM ubuntu:14.04
RUN apt-get update && apt-get install -y nginx
RUN rm /etc/nginx/sites-enabled/default
RUN ln -s /etc/nginx/sites-available/mattermost /etc/nginx/sites-enabled/mattermost
ADD mattermost /etc/nginx/sites-available/
ADD docker-entry.sh /
RUN mkdir /cert
ADD cert/cert.pem /cert
ADD cert/private/key-no-password.pem /cert
RUN chmod +x /docker-entry.sh
# Define mountable directories.
VOLUME ["/etc/nginx/sites-enabled", "/etc/nginx/certs", "/etc/nginx/conf.d", "/var/log/nginx", "/var/www/html"]
# Define working directory.
WORKDIR /etc/nginx
ENTRYPOINT /docker-entry.sh
EXPOSE 80 443
+5
View File
@@ -0,0 +1,5 @@
#!/bin/bash
echo Starting Nginx
sed -Ei "s/PLATFORM_ADDR/$PLATFORM_PORT_80_TCP_ADDR/" /etc/nginx/sites-available/mattermost
sed -Ei "s/PLATFORM_PORT/$PLATFORM_PORT_80_TCP_PORT/" /etc/nginx/sites-available/mattermost
nginx -g 'daemon off;'
+35
View File
@@ -0,0 +1,35 @@
server {
listen 80;
server_name chat.navercorp.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443;
server_name chat.navercorp.com;
ssl on;
ssl_certificate /cert/cert.pem;
ssl_certificate_key /cert/key-no-password.pem;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:MEDIUM:!SSLv2:!PSK:!SRP:!ADH:!AECDH;
ssl_prefer_server_ciphers on;
location / {
gzip off;
proxy_set_header X-Forwarded-Ssl on;
client_max_body_size 50M;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Frame-Options SAMEORIGIN;
proxy_pass http://PLATFORM_ADDR:PLATFORM_PORT;
}
}
# See https://github.com/mattermost/platform/blob/master/doc/install/Production-Ubuntu.md for the SSL configuration