Archived
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:
1 parent
8bab0a6d03
commit
4cf5bdc8c8
9 files changed
+215
No files matched your search
@@ -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
|
||||
@@ -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;'
|
||||
@@ -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
|
||||
Reference in new issue
Block a user