From 1ad314f79c7e34bad991c2fa9f15d61831d2ba29 Mon Sep 17 00:00:00 2001 From: Mattermost Build Date: Wed, 9 Mar 2016 20:31:44 +0000 Subject: Docker updates for 2.1.0-rc1 --- docker/1.4/Dockerfile | 49 --------- docker/1.4/Dockerrun.aws.zip | Bin 842 -> 0 bytes .../Dockerrun.aws/.ebextensions/01_files.config | 14 --- docker/1.4/Dockerrun.aws/Dockerrun.aws.json | 13 --- docker/1.4/README.md | 23 ---- docker/1.4/config_docker.json | 111 -------------------- docker/1.4/docker-entry.sh | 111 -------------------- docker/2.1/Dockerfile | 49 +++++++++ docker/2.1/Dockerrun.aws.zip | Bin 0 -> 866 bytes .../Dockerrun.aws/.ebextensions/01_files.config | 14 +++ docker/2.1/Dockerrun.aws/Dockerrun.aws.json | 13 +++ docker/2.1/README.md | 23 ++++ docker/2.1/config_docker.json | 116 +++++++++++++++++++++ docker/2.1/docker-entry.sh | 111 ++++++++++++++++++++ 14 files changed, 326 insertions(+), 321 deletions(-) delete mode 100644 docker/1.4/Dockerfile delete mode 100644 docker/1.4/Dockerrun.aws.zip delete mode 100644 docker/1.4/Dockerrun.aws/.ebextensions/01_files.config delete mode 100755 docker/1.4/Dockerrun.aws/Dockerrun.aws.json delete mode 100644 docker/1.4/README.md delete mode 100644 docker/1.4/config_docker.json delete mode 100755 docker/1.4/docker-entry.sh create mode 100644 docker/2.1/Dockerfile create mode 100644 docker/2.1/Dockerrun.aws.zip create mode 100644 docker/2.1/Dockerrun.aws/.ebextensions/01_files.config create mode 100755 docker/2.1/Dockerrun.aws/Dockerrun.aws.json create mode 100644 docker/2.1/README.md create mode 100644 docker/2.1/config_docker.json create mode 100755 docker/2.1/docker-entry.sh diff --git a/docker/1.4/Dockerfile b/docker/1.4/Dockerfile deleted file mode 100644 index 8dcea3927..000000000 --- a/docker/1.4/Dockerfile +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. -# See License.txt for license information. -FROM ubuntu:14.04 - -# -# 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-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 perl wget 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 -# --------------------------------------------------------------------------------------------------------------------- - -WORKDIR /mattermost - -# Copy over files -ADD https://github.com/mattermost/platform/releases/download/v1.4.0/mattermost.tar.gz / -RUN tar -zxvf /mattermost.tar.gz --strip-components=1 && rm /mattermost.tar.gz -ADD config_docker.json / -ADD docker-entry.sh / - -RUN chmod +x /docker-entry.sh -ENTRYPOINT /docker-entry.sh - -# Create default storage directory -RUN mkdir /mattermost-data/ - -# Ports -EXPOSE 80 diff --git a/docker/1.4/Dockerrun.aws.zip b/docker/1.4/Dockerrun.aws.zip deleted file mode 100644 index 55bc98eea..000000000 Binary files a/docker/1.4/Dockerrun.aws.zip and /dev/null differ diff --git a/docker/1.4/Dockerrun.aws/.ebextensions/01_files.config b/docker/1.4/Dockerrun.aws/.ebextensions/01_files.config deleted file mode 100644 index 7f40a8b34..000000000 --- a/docker/1.4/Dockerrun.aws/.ebextensions/01_files.config +++ /dev/null @@ -1,14 +0,0 @@ -files: - "/etc/nginx/conf.d/proxy.conf": - mode: "000755" - owner: root - group: root - content: | - client_max_body_size 50M; - "/opt/elasticbeanstalk/hooks/appdeploy/post/init.sh": - mode: "000755" - owner: root - group: root - content: | - #!/usr/bin/env bash - gpasswd -a ec2-user docker diff --git a/docker/1.4/Dockerrun.aws/Dockerrun.aws.json b/docker/1.4/Dockerrun.aws/Dockerrun.aws.json deleted file mode 100755 index 654961589..000000000 --- a/docker/1.4/Dockerrun.aws/Dockerrun.aws.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "AWSEBDockerrunVersion": "1", - "Image": { - "Name": "mattermost/platform:1.4", - "Update": "true" - }, - "Ports": [ - { - "ContainerPort": "80" - } - ], - "Logging": "/var/log/" -} diff --git a/docker/1.4/README.md b/docker/1.4/README.md deleted file mode 100644 index f737a1554..000000000 --- a/docker/1.4/README.md +++ /dev/null @@ -1,23 +0,0 @@ -Mattermost -========== - -http:/mattermost.org - -Mattermost is an open-source team communication service. It brings team messaging and file sharing into one place, accessible across PCs and phones, with archiving and search. - -Installing Mattermost -===================== - -To run an instance of the latest version of mattermost on your local machine you can run: - -`docker run --name mattermost-dev -d --publish 8065:80 mattermost/platform` - -To update this image to the latest version you can run: - -`docker pull mattermost/platform` - -To run an instance of the latest code from the master branch on GitHub you can run: - -`docker run --name mattermost-dev -d --publish 8065:80 mattermost/platform:dev` - -Any questions, please visit http://forum.mattermost.org diff --git a/docker/1.4/config_docker.json b/docker/1.4/config_docker.json deleted file mode 100644 index 1aa2ee843..000000000 --- a/docker/1.4/config_docker.json +++ /dev/null @@ -1,111 +0,0 @@ -{ - "ServiceSettings": { - "ListenAddress": ":80", - "MaximumLoginAttempts": 10, - "SegmentDeveloperKey": "", - "GoogleDeveloperKey": "", - "EnableOAuthServiceProvider": false, - "EnableIncomingWebhooks": false, - "EnableOutgoingWebhooks": false, - "EnablePostUsernameOverride": false, - "EnablePostIconOverride": false, - "EnableTesting": false, - "EnableDeveloper": false, - "EnableSecurityFixAlert": true, - "SessionLengthWebInDays" : 30, - "SessionLengthMobileInDays" : 30, - "SessionLengthSSOInDays" : 30, - "SessionCacheInMinutes" : 10 - }, - "TeamSettings": { - "SiteName": "Mattermost", - "MaxUsersPerTeam": 50, - "EnableTeamCreation": true, - "EnableUserCreation": true, - "RestrictCreationToDomains": "", - "RestrictTeamNames": true, - "EnableTeamListing": false - }, - "SqlSettings": { - "DriverName": "mysql", - "DataSource": "mmuser:mostest@tcp(dockerhost:3306)/mattermost_test?charset=utf8mb4,utf8", - "DataSourceReplicas": [], - "MaxIdleConns": 10, - "MaxOpenConns": 10, - "Trace": false, - "AtRestEncryptKey": "7rAh6iwQCkV4cA1Gsg3fgGOXJAQ43QVg" - }, - "LogSettings": { - "EnableConsole": false, - "ConsoleLevel": "INFO", - "EnableFile": true, - "FileLevel": "INFO", - "FileFormat": "", - "FileLocation": "" - }, - "FileSettings": { - "DriverName": "local", - "Directory": "/mattermost/data/", - "EnablePublicLink": true, - "PublicLinkSalt": "A705AklYF8MFDOfcwh3I488G8vtLlVip", - "ThumbnailWidth": 120, - "ThumbnailHeight": 100, - "PreviewWidth": 1024, - "PreviewHeight": 0, - "ProfileWidth": 128, - "ProfileHeight": 128, - "InitialFont": "luximbi.ttf", - "AmazonS3AccessKeyId": "", - "AmazonS3SecretAccessKey": "", - "AmazonS3Bucket": "", - "AmazonS3Region": "", - "AmazonS3Endpoint": "", - "AmazonS3BucketEndpoint": "", - "AmazonS3LocationConstraint": false, - "AmazonS3LowercaseBucket": false - }, - "EmailSettings": { - "EnableSignUpWithEmail": true, - "SendEmailNotifications": false, - "RequireEmailVerification": false, - "FeedbackName": "", - "FeedbackEmail": "", - "SMTPUsername": "", - "SMTPPassword": "", - "SMTPServer": "", - "SMTPPort": "", - "ConnectionSecurity": "", - "InviteSalt": "bjlSR4QqkXFBr7TP4oDzlfZmcNuH9YoS", - "PasswordResetSalt": "vZ4DcKyVVRlKHHJpexcuXzojkE5PZ5eL", - "SendPushNotifications": false, - "PushNotificationServer": "" - }, - "RateLimitSettings": { - "EnableRateLimiter": true, - "PerSec": 10, - "MemoryStoreSize": 10000, - "VaryByRemoteAddr": true, - "VaryByHeader": "" - }, - "PrivacySettings": { - "ShowEmailAddress": true, - "ShowFullName": true - }, - "SupportSettings": { - "TermsOfServiceLink": "/static/help/terms.html", - "PrivacyPolicyLink": "/static/help/privacy.html", - "AboutLink": "/static/help/about.html", - "HelpLink": "/static/help/help.html", - "ReportAProblemLink": "/static/help/report_problem.html", - "SupportEmail": "feedback@mattermost.com" - }, - "GitLabSettings": { - "Enable": false, - "Secret": "", - "Id": "", - "Scope": "", - "AuthEndpoint": "", - "TokenEndpoint": "", - "UserApiEndpoint": "" - } -} diff --git a/docker/1.4/docker-entry.sh b/docker/1.4/docker-entry.sh deleted file mode 100755 index 6bd2a1263..000000000 --- a/docker/1.4/docker-entry.sh +++ /dev/null @@ -1,111 +0,0 @@ -#!/bin/bash -# Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. -# See License.txt for license information. - -mkdir -p web/static/js - -echo "127.0.0.1 dockerhost" >> /etc/hosts -/etc/init.d/networking restart - -echo configuring mysql - -# SQL!!! -set -e - -get_option () { - local section=$1 - local option=$2 - local default=$3 - ret=$(my_print_defaults $section | grep '^--'${option}'=' | cut -d= -f2-) - [ -z $ret ] && ret=$default - echo $ret -} - - -# Get config -DATADIR="$("mysqld" --verbose --help 2>/dev/null | awk '$1 == "datadir" { print $2; exit }')" -SOCKET=$(get_option mysqld socket "$DATADIR/mysql.sock") -PIDFILE=$(get_option mysqld pid-file "/var/run/mysqld/mysqld.pid") - -if [ ! -d "$DATADIR/mysql" ]; then - if [ -z "$MYSQL_ROOT_PASSWORD" -a -z "$MYSQL_ALLOW_EMPTY_PASSWORD" ]; then - echo >&2 'error: database is uninitialized and MYSQL_ROOT_PASSWORD not set' - echo >&2 ' Did you forget to add -e MYSQL_ROOT_PASSWORD=... ?' - exit 1 - fi - - mkdir -p "$DATADIR" - chown -R mysql:mysql "$DATADIR" - - echo 'Running mysql_install_db' - mysql_install_db --user=mysql --datadir="$DATADIR" --rpm --keep-my-cnf - echo 'Finished mysql_install_db' - - mysqld --user=mysql --datadir="$DATADIR" --skip-networking & - for i in $(seq 30 -1 0); do - [ -S "$SOCKET" ] && break - echo 'MySQL init process in progress...' - sleep 1 - done - if [ $i = 0 ]; then - echo >&2 'MySQL init process failed.' - exit 1 - fi - - # These statements _must_ be on individual lines, and _must_ end with - # semicolons (no line breaks or comments are permitted). - # TODO proper SQL escaping on ALL the things D: - - tempSqlFile=$(mktemp /tmp/mysql-first-time.XXXXXX.sql) - cat > "$tempSqlFile" <<-EOSQL - -- What's done in this file shouldn't be replicated - -- or products like mysql-fabric won't work - SET @@SESSION.SQL_LOG_BIN=0; - - DELETE FROM mysql.user ; - CREATE USER 'root'@'%' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}' ; - GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION ; - DROP DATABASE IF EXISTS test ; - EOSQL - - if [ "$MYSQL_DATABASE" ]; then - echo "CREATE DATABASE IF NOT EXISTS \`$MYSQL_DATABASE\` ;" >> "$tempSqlFile" - fi - - if [ "$MYSQL_USER" -a "$MYSQL_PASSWORD" ]; then - echo "CREATE USER '"$MYSQL_USER"'@'%' IDENTIFIED BY '"$MYSQL_PASSWORD"' ;" >> "$tempSqlFile" - - if [ "$MYSQL_DATABASE" ]; then - echo "GRANT ALL ON \`"$MYSQL_DATABASE"\`.* TO '"$MYSQL_USER"'@'%' ;" >> "$tempSqlFile" - fi - fi - - echo 'FLUSH PRIVILEGES ;' >> "$tempSqlFile" - - mysql -uroot < "$tempSqlFile" - - rm -f "$tempSqlFile" - kill $(cat $PIDFILE) - for i in $(seq 30 -1 0); do - [ -f "$PIDFILE" ] || break - echo 'MySQL init process in progress...' - sleep 1 - done - if [ $i = 0 ]; then - echo >&2 'MySQL hangs during init process.' - exit 1 - fi - echo 'MySQL init process done. Ready for start up.' -fi - -chown -R mysql:mysql "$DATADIR" - -mysqld & - -sleep 5 - -# ------------------------ - -echo starting platform -cd /mattermost/bin -./platform -config=/config_docker.json diff --git a/docker/2.1/Dockerfile b/docker/2.1/Dockerfile new file mode 100644 index 000000000..71dcd602a --- /dev/null +++ b/docker/2.1/Dockerfile @@ -0,0 +1,49 @@ +# Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. +# See License.txt for license information. +FROM ubuntu:14.04 + +# +# 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-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 perl wget 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 +# --------------------------------------------------------------------------------------------------------------------- + +WORKDIR /mattermost + +# Copy over files +ADD https://releases.mattermost.com/mattermost-team-2.1.0-rc1-linux-amd64.tar.gz +RUN tar -zxvf /mattermost-team-2.1.0-rc1-linux-amd64.tar.gz --strip-components=1 && rm /mattermost-team-2.1.0-rc1-linux-amd64.tar.gz +ADD config_docker.json / +ADD docker-entry.sh / + +RUN chmod +x /docker-entry.sh +ENTRYPOINT /docker-entry.sh + +# Create default storage directory +RUN mkdir /mattermost-data/ + +# Ports +EXPOSE 80 diff --git a/docker/2.1/Dockerrun.aws.zip b/docker/2.1/Dockerrun.aws.zip new file mode 100644 index 000000000..19bbc7403 Binary files /dev/null and b/docker/2.1/Dockerrun.aws.zip differ diff --git a/docker/2.1/Dockerrun.aws/.ebextensions/01_files.config b/docker/2.1/Dockerrun.aws/.ebextensions/01_files.config new file mode 100644 index 000000000..7f40a8b34 --- /dev/null +++ b/docker/2.1/Dockerrun.aws/.ebextensions/01_files.config @@ -0,0 +1,14 @@ +files: + "/etc/nginx/conf.d/proxy.conf": + mode: "000755" + owner: root + group: root + content: | + client_max_body_size 50M; + "/opt/elasticbeanstalk/hooks/appdeploy/post/init.sh": + mode: "000755" + owner: root + group: root + content: | + #!/usr/bin/env bash + gpasswd -a ec2-user docker diff --git a/docker/2.1/Dockerrun.aws/Dockerrun.aws.json b/docker/2.1/Dockerrun.aws/Dockerrun.aws.json new file mode 100755 index 000000000..a52309aad --- /dev/null +++ b/docker/2.1/Dockerrun.aws/Dockerrun.aws.json @@ -0,0 +1,13 @@ +{ + "AWSEBDockerrunVersion": "1", + "Image": { + "Name": "mattermost/platform:2.1", + "Update": "true" + }, + "Ports": [ + { + "ContainerPort": "80" + } + ], + "Logging": "/var/log/" +} diff --git a/docker/2.1/README.md b/docker/2.1/README.md new file mode 100644 index 000000000..f737a1554 --- /dev/null +++ b/docker/2.1/README.md @@ -0,0 +1,23 @@ +Mattermost +========== + +http:/mattermost.org + +Mattermost is an open-source team communication service. It brings team messaging and file sharing into one place, accessible across PCs and phones, with archiving and search. + +Installing Mattermost +===================== + +To run an instance of the latest version of mattermost on your local machine you can run: + +`docker run --name mattermost-dev -d --publish 8065:80 mattermost/platform` + +To update this image to the latest version you can run: + +`docker pull mattermost/platform` + +To run an instance of the latest code from the master branch on GitHub you can run: + +`docker run --name mattermost-dev -d --publish 8065:80 mattermost/platform:dev` + +Any questions, please visit http://forum.mattermost.org diff --git a/docker/2.1/config_docker.json b/docker/2.1/config_docker.json new file mode 100644 index 000000000..6a1290189 --- /dev/null +++ b/docker/2.1/config_docker.json @@ -0,0 +1,116 @@ +{ + "ServiceSettings": { + "ListenAddress": ":80", + "MaximumLoginAttempts": 10, + "SegmentDeveloperKey": "", + "GoogleDeveloperKey": "", + "EnableOAuthServiceProvider": false, + "EnableIncomingWebhooks": false, + "EnableOutgoingWebhooks": false, + "EnableCommands": false, + "EnableOnlyAdminIntegrations": true, + "EnablePostUsernameOverride": false, + "EnablePostIconOverride": false, + "EnableTesting": false, + "EnableDeveloper": false, + "EnableSecurityFixAlert": true, + "EnableInsecureOutgoingConnections": false, + "SessionLengthWebInDays" : 30, + "SessionLengthMobileInDays" : 30, + "SessionLengthSSOInDays" : 30, + "SessionCacheInMinutes" : 10 + }, + "TeamSettings": { + "SiteName": "Mattermost", + "MaxUsersPerTeam": 50, + "EnableTeamCreation": true, + "EnableUserCreation": true, + "RestrictCreationToDomains": "", + "RestrictTeamNames": true, + "EnableTeamListing": false + }, + "SqlSettings": { + "DriverName": "mysql", + "DataSource": "mmuser:mostest@tcp(dockerhost:3306)/mattermost_test?charset=utf8mb4,utf8", + "DataSourceReplicas": [], + "MaxIdleConns": 10, + "MaxOpenConns": 10, + "Trace": false, + "AtRestEncryptKey": "7rAh6iwQCkV4cA1Gsg3fgGOXJAQ43QVg" + }, + "LogSettings": { + "EnableConsole": false, + "ConsoleLevel": "INFO", + "EnableFile": true, + "FileLevel": "INFO", + "FileFormat": "", + "FileLocation": "" + }, + "FileSettings": { + "DriverName": "local", + "Directory": "/mattermost/data/", + "EnablePublicLink": true, + "PublicLinkSalt": "A705AklYF8MFDOfcwh3I488G8vtLlVip", + "ThumbnailWidth": 120, + "ThumbnailHeight": 100, + "PreviewWidth": 1024, + "PreviewHeight": 0, + "ProfileWidth": 128, + "ProfileHeight": 128, + "InitialFont": "luximbi.ttf", + "AmazonS3AccessKeyId": "", + "AmazonS3SecretAccessKey": "", + "AmazonS3Bucket": "", + "AmazonS3Region": "", + "AmazonS3Endpoint": "", + "AmazonS3BucketEndpoint": "", + "AmazonS3LocationConstraint": false, + "AmazonS3LowercaseBucket": false + }, + "EmailSettings": { + "EnableSignUpWithEmail": true, + "EnableSignInWithEmail": true, + "EnableSignInWithUsername": false, + "SendEmailNotifications": false, + "RequireEmailVerification": false, + "FeedbackName": "", + "FeedbackEmail": "", + "SMTPUsername": "", + "SMTPPassword": "", + "SMTPServer": "", + "SMTPPort": "", + "ConnectionSecurity": "", + "InviteSalt": "bjlSR4QqkXFBr7TP4oDzlfZmcNuH9YoS", + "PasswordResetSalt": "vZ4DcKyVVRlKHHJpexcuXzojkE5PZ5eL", + "SendPushNotifications": false, + "PushNotificationServer": "" + }, + "RateLimitSettings": { + "EnableRateLimiter": true, + "PerSec": 10, + "MemoryStoreSize": 10000, + "VaryByRemoteAddr": true, + "VaryByHeader": "" + }, + "PrivacySettings": { + "ShowEmailAddress": true, + "ShowFullName": true + }, + "SupportSettings": { + "TermsOfServiceLink": "/static/help/terms.html", + "PrivacyPolicyLink": "/static/help/privacy.html", + "AboutLink": "/static/help/about.html", + "HelpLink": "/static/help/help.html", + "ReportAProblemLink": "/static/help/report_problem.html", + "SupportEmail": "feedback@mattermost.com" + }, + "GitLabSettings": { + "Enable": false, + "Secret": "", + "Id": "", + "Scope": "", + "AuthEndpoint": "", + "TokenEndpoint": "", + "UserApiEndpoint": "" + } +} diff --git a/docker/2.1/docker-entry.sh b/docker/2.1/docker-entry.sh new file mode 100755 index 000000000..6bd2a1263 --- /dev/null +++ b/docker/2.1/docker-entry.sh @@ -0,0 +1,111 @@ +#!/bin/bash +# Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. +# See License.txt for license information. + +mkdir -p web/static/js + +echo "127.0.0.1 dockerhost" >> /etc/hosts +/etc/init.d/networking restart + +echo configuring mysql + +# SQL!!! +set -e + +get_option () { + local section=$1 + local option=$2 + local default=$3 + ret=$(my_print_defaults $section | grep '^--'${option}'=' | cut -d= -f2-) + [ -z $ret ] && ret=$default + echo $ret +} + + +# Get config +DATADIR="$("mysqld" --verbose --help 2>/dev/null | awk '$1 == "datadir" { print $2; exit }')" +SOCKET=$(get_option mysqld socket "$DATADIR/mysql.sock") +PIDFILE=$(get_option mysqld pid-file "/var/run/mysqld/mysqld.pid") + +if [ ! -d "$DATADIR/mysql" ]; then + if [ -z "$MYSQL_ROOT_PASSWORD" -a -z "$MYSQL_ALLOW_EMPTY_PASSWORD" ]; then + echo >&2 'error: database is uninitialized and MYSQL_ROOT_PASSWORD not set' + echo >&2 ' Did you forget to add -e MYSQL_ROOT_PASSWORD=... ?' + exit 1 + fi + + mkdir -p "$DATADIR" + chown -R mysql:mysql "$DATADIR" + + echo 'Running mysql_install_db' + mysql_install_db --user=mysql --datadir="$DATADIR" --rpm --keep-my-cnf + echo 'Finished mysql_install_db' + + mysqld --user=mysql --datadir="$DATADIR" --skip-networking & + for i in $(seq 30 -1 0); do + [ -S "$SOCKET" ] && break + echo 'MySQL init process in progress...' + sleep 1 + done + if [ $i = 0 ]; then + echo >&2 'MySQL init process failed.' + exit 1 + fi + + # These statements _must_ be on individual lines, and _must_ end with + # semicolons (no line breaks or comments are permitted). + # TODO proper SQL escaping on ALL the things D: + + tempSqlFile=$(mktemp /tmp/mysql-first-time.XXXXXX.sql) + cat > "$tempSqlFile" <<-EOSQL + -- What's done in this file shouldn't be replicated + -- or products like mysql-fabric won't work + SET @@SESSION.SQL_LOG_BIN=0; + + DELETE FROM mysql.user ; + CREATE USER 'root'@'%' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}' ; + GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION ; + DROP DATABASE IF EXISTS test ; + EOSQL + + if [ "$MYSQL_DATABASE" ]; then + echo "CREATE DATABASE IF NOT EXISTS \`$MYSQL_DATABASE\` ;" >> "$tempSqlFile" + fi + + if [ "$MYSQL_USER" -a "$MYSQL_PASSWORD" ]; then + echo "CREATE USER '"$MYSQL_USER"'@'%' IDENTIFIED BY '"$MYSQL_PASSWORD"' ;" >> "$tempSqlFile" + + if [ "$MYSQL_DATABASE" ]; then + echo "GRANT ALL ON \`"$MYSQL_DATABASE"\`.* TO '"$MYSQL_USER"'@'%' ;" >> "$tempSqlFile" + fi + fi + + echo 'FLUSH PRIVILEGES ;' >> "$tempSqlFile" + + mysql -uroot < "$tempSqlFile" + + rm -f "$tempSqlFile" + kill $(cat $PIDFILE) + for i in $(seq 30 -1 0); do + [ -f "$PIDFILE" ] || break + echo 'MySQL init process in progress...' + sleep 1 + done + if [ $i = 0 ]; then + echo >&2 'MySQL hangs during init process.' + exit 1 + fi + echo 'MySQL init process done. Ready for start up.' +fi + +chown -R mysql:mysql "$DATADIR" + +mysqld & + +sleep 5 + +# ------------------------ + +echo starting platform +cd /mattermost/bin +./platform -config=/config_docker.json -- cgit v1.2.3-1-g7c22 From b305e03ab5428103b4990bcd723f54c4c779e7c2 Mon Sep 17 00:00:00 2001 From: Mattermost Build Date: Wed, 9 Mar 2016 20:31:44 +0000 Subject: Bumping version to: 2.1.0-rc1 --- model/version.go | 1 + 1 file changed, 1 insertion(+) diff --git a/model/version.go b/model/version.go index 8fbd65d03..6011a9245 100644 --- a/model/version.go +++ b/model/version.go @@ -13,6 +13,7 @@ import ( // It should be maitained in chronological order with most current // release at the front of the list. var versions = []string{ + "2.1.0", "2.0.0", "1.4.0", "1.3.0", -- cgit v1.2.3-1-g7c22 From 528180ce28846bab2fc39346eb1560e98e665f49 Mon Sep 17 00:00:00 2001 From: Rodrigo Corsi Date: Thu, 10 Mar 2016 08:23:29 -0300 Subject: added missing translations --- i18n/pt.json | 20 ++++++++++++++++++-- web/static/i18n/pt.json | 4 +++- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/i18n/pt.json b/i18n/pt.json index 8e45d5eaf..81e0cdaff 100644 --- a/i18n/pt.json +++ b/i18n/pt.json @@ -456,8 +456,8 @@ "translation": "S3 não é suportado para o armazenamento local de exportação." }, { - "id": "api.export.write_file.app_error", - "translation": "Não é possível gravar para exportar arquivo" + "id": "api.file.file_upload.exceeds", + "translation": "Arquivo excede o máximo de tamanho de imagem." }, { "id": "api.file.file_upload.exceeds", @@ -507,6 +507,22 @@ "id": "api.file.init.debug", "translation": "Inicializando file api routes" }, + { + "id": "api.file.move_file.configured.app_error", + "translation": "Armazenamento de arquivos não está configurado corretamente, Por favor configure S3 ou armazenamento de arquivos no servidor local." + }, + { + "id": "api.file.move_file.delete_from_s3.app_error", + "translation": "Não é possível deletar o arquivo a partir do S3." + }, + { + "id": "api.file.move_file.get_from_s3.app_error", + "translation": "Não é possível obter o arquivo a partir do S3." + }, + { + "id": "api.file.move_file.rename.app_error", + "translation": "Não foi possível mover o arquivo localmente." + }, { "id": "api.file.open_file_write_stream.configured.app_error", "translation": "Armazenamento de arquivos não está configurado corretamente, Por favor configure S3 ou armazenamento de arquivos no servidor local." diff --git a/web/static/i18n/pt.json b/web/static/i18n/pt.json index b9b8f4c07..463c0af37 100644 --- a/web/static/i18n/pt.json +++ b/web/static/i18n/pt.json @@ -192,11 +192,13 @@ "admin.ldap.usernameAttrEx": "Ex \"sAMAccountName\"", "admin.ldap.usernameAttrTitle": "Atributo do Usuário:", "admin.licence.keyMigration": "Se você estiver migrando seu servidor você pode precisar remover sua chave da licença deste servidor a pedido para instala-la em um novo servidor. Para iniciar, desativar todos os recursos Enterprise Edition deste servidor. Isto irá habilitar para remover a chave da licença e fazer downgrade deste servidor Enterprise Edition para Team Edition.", + "admin.license.chooseFile": "Escolha um Arquivo", "admin.license.edition": "Edição: ", "admin.license.enterpriseEdition": "Mattermost Enterprise Edition. Desenvolvido para escala empresarial de comunicação.", "admin.license.enterpriseType": "

Esta versão compilada da plataforma Mattermost é fornecida sob a licença comercial para Mattermost, Inc. com base em seu nível de subscrição e está sujeito a Termos de Serviço.

Os detalhes de sua assinatura, são como segue:

Nome: {name}
Nome da Empresa ou organização: {company}
Número de usuários: {users}
Licença emitida: {issued}
Data de Início da licença: {start}
Data de expiração da licença: {expires}
LDAP: {ldap}
", "admin.license.key": "Chave da Licença: ", "admin.license.keyRemove": "Remover a Licença Enterprise e fazer Downgrade do Servidor", + "admin.license.noFile": "Nenhum arquivo enviado", "admin.license.removing": "Removendo a Licença...", "admin.license.teamEdition": "Mattermost Team Edition. Desenvolvido para equipes de 5 a 50 usuários.", "admin.license.teamType": "

Esta versão compilada da plataforma Mattermost é oferecido sob uma licença MIT.

Ver MIT-COMPILED-LICENSE.txt no raiz do diretório de instalação para obter detalhes. Ver NOTICES.txt para obter informações sobre o software open source usados neste sistema.

", @@ -1302,4 +1304,4 @@ "view_image_popover.download": "Download", "view_image_popover.file": "Arquivo {count} de {total}", "view_image_popover.publicLink": "Obter O Link Público" -} +} \ No newline at end of file -- cgit v1.2.3-1-g7c22 From 12434f8963b7e93836e2fa44ae1ce8806cea63cb Mon Sep 17 00:00:00 2001 From: Christopher Speller Date: Thu, 10 Mar 2016 11:14:40 -0500 Subject: Fixing docker automation issue --- docker/2.1/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/2.1/Dockerfile b/docker/2.1/Dockerfile index 71dcd602a..7ecf64116 100644 --- a/docker/2.1/Dockerfile +++ b/docker/2.1/Dockerfile @@ -34,7 +34,7 @@ VOLUME /var/lib/mysql WORKDIR /mattermost # Copy over files -ADD https://releases.mattermost.com/mattermost-team-2.1.0-rc1-linux-amd64.tar.gz +ADD https://releases.mattermost.com/2.1.0-rc1/mattermost-team-2.1.0-rc1-linux-amd64.tar.gz / RUN tar -zxvf /mattermost-team-2.1.0-rc1-linux-amd64.tar.gz --strip-components=1 && rm /mattermost-team-2.1.0-rc1-linux-amd64.tar.gz ADD config_docker.json / ADD docker-entry.sh / -- cgit v1.2.3-1-g7c22 From 461e8532a7b82b31964c47b2e69e8350b9c77474 Mon Sep 17 00:00:00 2001 From: Asaad Mahmood Date: Thu, 10 Mar 2016 22:55:16 +0500 Subject: PLT-2138 - Fixing theme sharing box --- .../user_settings/custom_theme_chooser.jsx | 4 +++ web/react/utils/constants.jsx | 30 +++++++++++----------- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/web/react/components/user_settings/custom_theme_chooser.jsx b/web/react/components/user_settings/custom_theme_chooser.jsx index 1e724bb6e..143eadccb 100644 --- a/web/react/components/user_settings/custom_theme_chooser.jsx +++ b/web/react/components/user_settings/custom_theme_chooser.jsx @@ -253,6 +253,9 @@ class CustomThemeChooser extends React.Component { ); + + colors += theme[element.id] + ','; + } else if (element.group === 'sidebarElements') { sidebarElements.push(
diff --git a/web/react/utils/constants.jsx b/web/react/utils/constants.jsx index daea9f43e..4b1f73b79 100644 --- a/web/react/utils/constants.jsx +++ b/web/react/utils/constants.jsx @@ -370,21 +370,6 @@ export default { id: 'newMessageSeparator', uiName: 'New Message Separator' }, - { - group: 'linkAndButtonElements', - id: 'linkColor', - uiName: 'Link Color' - }, - { - group: 'linkAndButtonElements', - id: 'buttonBg', - uiName: 'Button BG' - }, - { - group: 'linkAndButtonElements', - id: 'buttonColor', - uiName: 'Button Text' - }, { group: 'centerChannelElements', id: 'mentionHighlightBg', @@ -417,6 +402,21 @@ export default { uiName: 'Monokai' } ] + }, + { + group: 'linkAndButtonElements', + id: 'linkColor', + uiName: 'Link Color' + }, + { + group: 'linkAndButtonElements', + id: 'buttonBg', + uiName: 'Button BG' + }, + { + group: 'linkAndButtonElements', + id: 'buttonColor', + uiName: 'Button Text' } ], DEFAULT_CODE_THEME: 'github', -- cgit v1.2.3-1-g7c22 From 3ee2d218130e01d8df729495e0d121615271e98b Mon Sep 17 00:00:00 2001 From: =Corey Hulen Date: Thu, 10 Mar 2016 09:56:43 -0800 Subject: Fixing blue bar on iOS --- web/react/components/textbox.jsx | 2 +- web/react/stores/socket_store.jsx | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/web/react/components/textbox.jsx b/web/react/components/textbox.jsx index c8c0c071e..d4eb60676 100644 --- a/web/react/components/textbox.jsx +++ b/web/react/components/textbox.jsx @@ -61,7 +61,7 @@ export default class Textbox extends React.Component { onRecievedError() { const errorCount = ErrorStore.getConnectionErrorCount(); - if (errorCount > 0) { + if (errorCount > 1) { this.setState({connection: 'bad-connection'}); } else { this.setState({connection: ''}); diff --git a/web/react/stores/socket_store.jsx b/web/react/stores/socket_store.jsx index 9b2b049b7..ec25255d9 100644 --- a/web/react/stores/socket_store.jsx +++ b/web/react/stores/socket_store.jsx @@ -31,6 +31,7 @@ class SocketStoreClass extends EventEmitter { this.close = this.close.bind(this); this.failCount = 0; + this.isInitialize = false; this.translations = this.getDefaultTranslations(); @@ -58,24 +59,23 @@ class SocketStoreClass extends EventEmitter { if (this.failCount === 0) { console.log('websocket connecting to ' + connUrl); //eslint-disable-line no-console - if (ErrorStore.getConnectionErrorCount() > 0) { - ErrorStore.setConnectionErrorCount(0); - ErrorStore.emitChange(); - } } + conn = new WebSocket(connUrl); conn.onopen = () => { if (this.failCount > 0) { console.log('websocket re-established connection'); //eslint-disable-line no-console + AsyncClient.getChannels(); + AsyncClient.getPosts(ChannelStore.getCurrentId()); + } + if (this.isInitialize) { ErrorStore.clearLastError(); ErrorStore.emitChange(); - - AsyncClient.getChannels(); - AsyncClient.getPosts(ChannelStore.getCurrentId()); } + this.isInitialize = true; this.failCount = 0; }; -- cgit v1.2.3-1-g7c22 From b9f468623cac8e7afd5552da100f39c22c44ec25 Mon Sep 17 00:00:00 2001 From: Asaad Mahmood Date: Thu, 10 Mar 2016 23:03:06 +0500 Subject: Removing console --- web/react/components/user_settings/custom_theme_chooser.jsx | 1 - 1 file changed, 1 deletion(-) diff --git a/web/react/components/user_settings/custom_theme_chooser.jsx b/web/react/components/user_settings/custom_theme_chooser.jsx index 143eadccb..33191a9f0 100644 --- a/web/react/components/user_settings/custom_theme_chooser.jsx +++ b/web/react/components/user_settings/custom_theme_chooser.jsx @@ -306,7 +306,6 @@ class CustomThemeChooser extends React.Component { }); colors += theme.codeTheme; - console.log(colors); const pasteBox = (
-- cgit v1.2.3-1-g7c22 From 060cc2c825cd951c37a715af79b982f8aa99ebc4 Mon Sep 17 00:00:00 2001 From: Asaad Mahmood Date: Thu, 10 Mar 2016 23:19:36 +0500 Subject: Fixing padding issue --- web/react/components/user_settings/custom_theme_chooser.jsx | 1 - 1 file changed, 1 deletion(-) diff --git a/web/react/components/user_settings/custom_theme_chooser.jsx b/web/react/components/user_settings/custom_theme_chooser.jsx index 33191a9f0..4ee9fd0e2 100644 --- a/web/react/components/user_settings/custom_theme_chooser.jsx +++ b/web/react/components/user_settings/custom_theme_chooser.jsx @@ -255,7 +255,6 @@ class CustomThemeChooser extends React.Component { ); colors += theme[element.id] + ','; - } else if (element.group === 'sidebarElements') { sidebarElements.push(
Date: Wed, 9 Mar 2016 10:00:16 -0500 Subject: Disabled embed toggle when it's disabled in user settings --- .../components/post_body_additional_content.jsx | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/web/react/components/post_body_additional_content.jsx b/web/react/components/post_body_additional_content.jsx index c2a928f3b..70b3c8dbf 100644 --- a/web/react/components/post_body_additional_content.jsx +++ b/web/react/components/post_body_additional_content.jsx @@ -112,24 +112,32 @@ export default class PostBodyAdditionalContent extends React.Component { } render() { - var generateEmbed = this.generateEmbed(); + const generateEmbed = this.generateEmbed(); + if (generateEmbed) { - return ( -
+ let toggle; + if (Utils.isFeatureEnabled(Constants.PRE_RELEASE_FEATURES.EMBED_TOGGLE)) { + toggle = ( - + /> + ); + } + + return ( +
+ {toggle}
- ); + ); } + return null; } } -- cgit v1.2.3-1-g7c22 From 5e9f707cb3368f6c91326007c52b8d8530739c2c Mon Sep 17 00:00:00 2001 From: Rodrigo Corsi Date: Thu, 10 Mar 2016 17:01:41 -0300 Subject: standardized terminology for sign in and sign up --- i18n/pt.json | 14 +++++++------- web/static/i18n/pt.json | 16 ++++++++-------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/i18n/pt.json b/i18n/pt.json index 81e0cdaff..29c8c58c7 100644 --- a/i18n/pt.json +++ b/i18n/pt.json @@ -1221,7 +1221,7 @@ }, { "id": "api.templates.signin_change_email.body.title", - "translation": "Você atualizou seu método de acesso" + "translation": "Você atualizou seu método de login" }, { "id": "api.templates.signup_team_body.button", @@ -1241,7 +1241,7 @@ }, { "id": "api.templates.singin_change_email.body.info", - "translation": "Você atualizou seu método de inscrição para {{.TeamDisplayName}} no {{ .TeamURL }} para {{.Method}}.
Se esta mudança não foi iniciada por você, por favor entre em contato com o administrador do sistema." + "translation": "Você atualizou seu método de login para {{.TeamDisplayName}} no {{ .TeamURL }} para {{.Method}}.
Se esta mudança não foi iniciada por você, por favor entre em contato com o administrador do sistema." }, { "id": "api.templates.singin_change_email.subject", @@ -1273,7 +1273,7 @@ }, { "id": "api.templates.welcome_body.info2", - "translation": "Você pode acessar sua nova equipe pelo endereço web:" + "translation": "Você pode fazer login sua nova equipe pelo endereço web:" }, { "id": "api.templates.welcome_body.info3", @@ -1349,7 +1349,7 @@ }, { "id": "api.user.create_oauth_user.already_used.app_error", - "translation": "Está conta {{.Service}} já foi utilizada para logar na equipe {{.DisplayName}}" + "translation": "Está conta {{.Service}} já foi utilizada para se inscrever na equipe {{.DisplayName}}" }, { "id": "api.user.create_oauth_user.create.app_error", @@ -1373,7 +1373,7 @@ }, { "id": "api.user.create_user.accepted_domain.app_error", - "translation": "O email que você forneceu não pertence a um domínio aceito. Por favor contacte o seu administrador ou entre com um email diferente." + "translation": "O email que você forneceu não pertence a um domínio aceito. Por favor contacte o seu administrador ou se inscreve com um email diferente." }, { "id": "api.user.create_user.joining.error", @@ -1389,11 +1389,11 @@ }, { "id": "api.user.create_user.signup_link_expired.app_error", - "translation": "O link de acesso expirou" + "translation": "O link de inscrição expirou" }, { "id": "api.user.create_user.signup_link_invalid.app_error", - "translation": "O link de acesso não parece ser válido" + "translation": "O link de inscrição não parece ser válido" }, { "id": "api.user.create_user.team_name.app_error", diff --git a/web/static/i18n/pt.json b/web/static/i18n/pt.json index 463c0af37..8f7908031 100644 --- a/web/static/i18n/pt.json +++ b/web/static/i18n/pt.json @@ -27,7 +27,7 @@ "admin.email.allowEmailSignInDescription": "Quando verdadeiro, Mattermost permite aos usuários fazer login usando o e-mail e senha.", "admin.email.allowEmailSignInTitle": "Permitir Login Com E-mail: ", "admin.email.allowSignupDescription": "Quando verdadeiro, Mattermost permite a criação de equipe e conta de inscrição através de e-mail e senha. Este valor deve ser falso somente quando você deseja limitar a entrada para o single-sign-on service como OAuth ou LDAP.", - "admin.email.allowSignupTitle": "Permitir Login com E-Mail: ", + "admin.email.allowSignupTitle": "Permitir Inscrição com E-Mail: ", "admin.email.allowUsernameSignInDescription": "Quando verdadeiro, Mattermost permite os usuários fazer login usando seu nome de usuário e senha. Esta configuração é normalmente utilizado apenas quando a verificação de e-mail está desativada.", "admin.email.allowUsernameSignInTitle": "Permitir Login Com Usuário: ", "admin.email.connectionSecurityNone": "Nenhum", @@ -44,7 +44,7 @@ "admin.email.false": "falso", "admin.email.inviteSaltDescription": "32-caracteres salt adicionados a assinatura de convites por e-mail. Aleatoriamente gerados na instalação. Click \"Re-Gerar\" para criar um novo salt.", "admin.email.inviteSaltExample": "Ex \"bjlSR4QqkXFBr7TP4oDzlfZmcNuH9Yo\"", - "admin.email.inviteSaltTitle": "Convidar Salt:", + "admin.email.inviteSaltTitle": "Salt Convite:", "admin.email.notificationDisplayDescription": "Mostra o nome da conta de e-mail usada quando a notificação de e-mail é enviado do Mattermost.", "admin.email.notificationDisplayExample": "Ex: \"Mattermost Notificação\", \"Sistema\", \"Não-Responda\"", "admin.email.notificationDisplayTitle": "Notificação Nome de Exibição:", @@ -208,7 +208,7 @@ "admin.license.uploadDesc": "Enviar uma chave da licença para Mattermost Enterprise Edition para fazer upgrade deste servidor. Visite-nos online para saber mais sobre os beneficios da Enterprise Edition ou para comprar uma chave.", "admin.license.uploading": "Enviando Licença...", "admin.log.consoleDescription": "Normalmente definido como falso em produção. Os desenvolvedores podem definir este campo como verdadeiro para mensagens de log de saída no console baseado na opção de nível de console. Se verdadeiro, o servidor escreve mensagens para o fluxo de saída padrão (stdout).", - "admin.log.consoleTitle": "Log Do Console: ", + "admin.log.consoleTitle": "Log Para o Console: ", "admin.log.false": "falso", "admin.log.fileDescription": "Normalmente definido como verdadeiro em produção. Quando verdadeiro, arquivos de log são gravados no arquivo de log especificado no campo de localização abaixo.", "admin.log.fileLevelDescription": "Esta configuração determina o nível de detalhe que são gravados no log de eventos no console. ERROR: Saídas somente mensagens de erro. INFO: Saídas de mensagens de erro e informações em torno de inicialização. DEBUG: Impressões de alto detalhe para desenvolvedores que trabalham na depuração de problemas.", @@ -698,7 +698,7 @@ "general_tab.regenerate": "Re-Gerar", "general_tab.required": "Este campo é obrigatório", "general_tab.teamName": "Nome da Equipe", - "general_tab.teamNameInfo": "Defina o nome da equipe como aparece na sua tela inicial e no topo na lateral esquerda.", + "general_tab.teamNameInfo": "Defina o nome da equipe como aparece na sua tela de login e no topo na lateral esquerda.", "general_tab.title": "Definições Gerais", "general_tab.yes": "Sim", "get_link.clipboard": " Link copiado para a área de transferência.", @@ -756,7 +756,7 @@ "login.noAccount": "Não tem uma conta? ", "login.on": "no {siteName}", "login.or": "ou", - "login.signTo": "Entrar em:", + "login.signTo": "Login em:", "login.verified": " Email Verificado", "login_email.badTeam": "Nome ruim de equipe", "login_email.email": "E-mail", @@ -951,7 +951,7 @@ "signup_user_completed.chooseUser": "Escolha o seu nome de usuário", "signup_user_completed.create": "Criar Conta", "signup_user_completed.emailHelp": "Email valido necessário para inscrição", - "signup_user_completed.emailIs": "Seu endereço de e-mail é {email}. Você irá usar esse endereço para entrar em {siteName}.", + "signup_user_completed.emailIs": "Seu endereço de e-mail é {email}. Você irá usar esse endereço para logar no {siteName}.", "signup_user_completed.expired": "Você já concluiu o processo de inscrição para este convite ou este convite expirou.", "signup_user_completed.gitlab": "com GitLab", "signup_user_completed.google": "com Google", @@ -1015,7 +1015,7 @@ "team_signup_display_name.required": "Este campo é obrigatório", "team_signup_display_name.teamName": "Nome Da Equipe", "team_signup_email.address": "Endereço de E-mail", - "team_signup_email.different": "Por favor, use um e-mail diferente do que o usado no login", + "team_signup_email.different": "Por favor, use um e-mail diferente do que o usado na inscrição", "team_signup_email.validEmail": "Por favor entre um endereço de e-mail válido", "team_signup_password.agreement": "Ao prosseguir para criar sua conta e usar {siteName}, você concorda com nosso Termo de Serviço e Politica de Privacidade. Se você não concorda, você não pode usar {siteName}.", "team_signup_password.back": "Voltar para o passo anterior", @@ -1288,7 +1288,7 @@ "user.settings.security.logoutActiveSessions": "Ver e fazer Logout das Sessões Ativas", "user.settings.security.method": "Método de Login", "user.settings.security.newPassword": "Nova Senha", - "user.settings.security.oneSignin": "Você pode ter somente um método de inscrição por vez. Trocando o método de inscrição será enviado um email de notificação se você alterar com sucesso.", + "user.settings.security.oneSignin": "Você pode ter somente um método de login por vez. Trocando o método de login será enviado um email de notificação se você alterar com sucesso.", "user.settings.security.password": "Senha", "user.settings.security.passwordLengthError": "Novas senhas precisam ter pelo menos {chars} characters", "user.settings.security.passwordMatchError": "As novas senhas que você inseriu não correspondem", -- cgit v1.2.3-1-g7c22 From 601c4cd72db876a05d2352d8034c3481a4363ff2 Mon Sep 17 00:00:00 2001 From: Asaad Mahmood Date: Fri, 11 Mar 2016 18:04:07 +0500 Subject: Small fix for search loading icon on mobile --- web/sass-files/sass/partials/_responsive.scss | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/web/sass-files/sass/partials/_responsive.scss b/web/sass-files/sass/partials/_responsive.scss index a9a572768..06ce17041 100644 --- a/web/sass-files/sass/partials/_responsive.scss +++ b/web/sass-files/sass/partials/_responsive.scss @@ -573,8 +573,7 @@ .glyphicon-refresh-animate { right: 33px; top: 15px; - color: #fff; - color: rgba(255,255,255,0.5); + color: #aaa; } .form-control { border: none; -- cgit v1.2.3-1-g7c22 From e4fed928d9365ba3e096a02e590cd741de4d2cb2 Mon Sep 17 00:00:00 2001 From: Asaad Mahmood Date: Thu, 10 Mar 2016 13:27:34 +0500 Subject: Adding or separator between ldap, username, email, github Updating code theme name Updating conditions for login page updated the 2.0 Dockerfile to include the proper location of mm gzip Fixing search loading icon on mobile Adding or separator between ldap, username, email and github --- docker/2.0/Dockerfile | 2 +- web/react/components/login.jsx | 34 +++++++++++++++++++++ web/react/utils/constants.jsx | 6 ++-- .../images/themes/code_themes/solarized-dark.png | Bin 0 -> 81942 bytes .../images/themes/code_themes/solarized-light.png | Bin 0 -> 82868 bytes .../images/themes/code_themes/solarized_dark.png | Bin 81942 -> 0 bytes .../images/themes/code_themes/solarized_light.png | Bin 82868 -> 0 bytes 7 files changed, 38 insertions(+), 4 deletions(-) create mode 100644 web/static/images/themes/code_themes/solarized-dark.png create mode 100644 web/static/images/themes/code_themes/solarized-light.png delete mode 100644 web/static/images/themes/code_themes/solarized_dark.png delete mode 100644 web/static/images/themes/code_themes/solarized_light.png diff --git a/docker/2.0/Dockerfile b/docker/2.0/Dockerfile index 0f7a13e45..38cb1e197 100644 --- a/docker/2.0/Dockerfile +++ b/docker/2.0/Dockerfile @@ -34,7 +34,7 @@ VOLUME /var/lib/mysql WORKDIR /mattermost # Copy over files -ADD https://github.com/mattermost/platform/releases/download/v2.0.0-rc2/mattermost.tar.gz / +ADD https://github.com/mattermost/platform/releases/download/v2.0.0/mattermost.tar.gz / RUN tar -zxvf /mattermost.tar.gz --strip-components=1 && rm /mattermost.tar.gz ADD config_docker.json / ADD docker-entry.sh / diff --git a/web/react/components/login.jsx b/web/react/components/login.jsx index 581b8e0b5..1c393c679 100644 --- a/web/react/components/login.jsx +++ b/web/react/components/login.jsx @@ -19,6 +19,8 @@ export default class Login extends React.Component { render() { const teamDisplayName = this.props.teamDisplayName; const teamName = this.props.teamName; + const ldapEnabled = global.window.mm_config.EnableLdap === 'true'; + const usernameSigninEnabled = global.window.mm_config.EnableSignInWithUsername === 'true'; let loginMessage = []; if (global.window.mm_config.EnableSignUpWithGitLab === 'true') { @@ -173,6 +175,22 @@ export default class Login extends React.Component { ); } + if (ldapEnabled && (loginMessage.length > 0 || emailSignup || usernameSigninEnabled)) { + ldapLogin = ( +
+
+ +
+ +
+ ); + } + let findTeams = null; if (!Utils.isMobileApp()) { findTeams = ( @@ -197,6 +215,22 @@ export default class Login extends React.Component { ); } + if (usernameSigninEnabled && (loginMessage.length > 0 || emailSignup || ldapEnabled)) { + usernameLogin = ( +
+
+ +
+ +
+ ); + } + return (
diff --git a/web/react/utils/constants.jsx b/web/react/utils/constants.jsx index 4b1f73b79..3147bbd6a 100644 --- a/web/react/utils/constants.jsx +++ b/web/react/utils/constants.jsx @@ -267,7 +267,7 @@ export default { buttonColor: '#FFFFFF', mentionHighlightBg: '#984063', mentionHighlightLink: '#A4FFEB', - codeTheme: 'solarized_dark' + codeTheme: 'solarized-dark' }, windows10: { type: 'Windows Dark', @@ -386,11 +386,11 @@ export default { uiName: 'Code Theme', themes: [ { - id: 'solarized_dark', + id: 'solarized-dark', uiName: 'Solarized Dark' }, { - id: 'solarized_light', + id: 'solarized-light', uiName: 'Solarized Light' }, { diff --git a/web/static/images/themes/code_themes/solarized-dark.png b/web/static/images/themes/code_themes/solarized-dark.png new file mode 100644 index 000000000..582df48f9 Binary files /dev/null and b/web/static/images/themes/code_themes/solarized-dark.png differ diff --git a/web/static/images/themes/code_themes/solarized-light.png b/web/static/images/themes/code_themes/solarized-light.png new file mode 100644 index 000000000..d2c2702fb Binary files /dev/null and b/web/static/images/themes/code_themes/solarized-light.png differ diff --git a/web/static/images/themes/code_themes/solarized_dark.png b/web/static/images/themes/code_themes/solarized_dark.png deleted file mode 100644 index 582df48f9..000000000 Binary files a/web/static/images/themes/code_themes/solarized_dark.png and /dev/null differ diff --git a/web/static/images/themes/code_themes/solarized_light.png b/web/static/images/themes/code_themes/solarized_light.png deleted file mode 100644 index d2c2702fb..000000000 Binary files a/web/static/images/themes/code_themes/solarized_light.png and /dev/null differ -- cgit v1.2.3-1-g7c22