Removing docker files (#2724)
Этот коммит содержится в:
коммит произвёл
Joram Wilander
родитель
74e5161a4c
Коммит
08331e088b
@@ -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/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 /
|
|
||||||
|
|
||||||
RUN chmod +x /docker-entry.sh
|
|
||||||
ENTRYPOINT /docker-entry.sh
|
|
||||||
|
|
||||||
# Create default storage directory
|
|
||||||
RUN mkdir /mattermost-data/
|
|
||||||
|
|
||||||
# Ports
|
|
||||||
EXPOSE 80
|
|
||||||
Двоичные данные
docker/2.0/Dockerrun.aws.zip
Двоичные данные
docker/2.0/Dockerrun.aws.zip
Двоичный файл не отображается.
Двоичные данные
docker/2.0/Dockerrun.aws/.ebextensions/.zip
Двоичные данные
docker/2.0/Dockerrun.aws/.ebextensions/.zip
Двоичный файл не отображается.
@@ -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
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
"AWSEBDockerrunVersion": "1",
|
|
||||||
"Image": {
|
|
||||||
"Name": "mattermost/platform:2.0",
|
|
||||||
"Update": "true"
|
|
||||||
},
|
|
||||||
"Ports": [
|
|
||||||
{
|
|
||||||
"ContainerPort": "80"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"Logging": "/var/log/"
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
@@ -1,116 +0,0 @@
|
|||||||
{
|
|
||||||
"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": ""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
@@ -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://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 /
|
|
||||||
|
|
||||||
RUN chmod +x /docker-entry.sh
|
|
||||||
ENTRYPOINT /docker-entry.sh
|
|
||||||
|
|
||||||
# Create default storage directory
|
|
||||||
RUN mkdir /mattermost-data/
|
|
||||||
|
|
||||||
# Ports
|
|
||||||
EXPOSE 80
|
|
||||||
Двоичные данные
docker/2.1/Dockerrun.aws.zip
Двоичные данные
docker/2.1/Dockerrun.aws.zip
Двоичный файл не отображается.
@@ -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
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
"AWSEBDockerrunVersion": "1",
|
|
||||||
"Image": {
|
|
||||||
"Name": "mattermost/platform:2.1",
|
|
||||||
"Update": "true"
|
|
||||||
},
|
|
||||||
"Ports": [
|
|
||||||
{
|
|
||||||
"ContainerPort": "80"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"Logging": "/var/log/"
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
@@ -1,116 +0,0 @@
|
|||||||
{
|
|
||||||
"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": ""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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/mattermost/bin
|
|
||||||
./platform -config=/config_docker.json
|
|
||||||
@@ -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
|
|
||||||
RUN wget --no-check-certificate https://s3.amazonaws.com/mattermost-travis-master/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
|
|
||||||
Двоичные данные
docker/dev/Dockerrun.aws.zip
Двоичные данные
docker/dev/Dockerrun.aws.zip
Двоичный файл не отображается.
@@ -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
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
"AWSEBDockerrunVersion": "1",
|
|
||||||
"Image": {
|
|
||||||
"Name": "mattermost/platform:dev",
|
|
||||||
"Update": "true"
|
|
||||||
},
|
|
||||||
"Ports": [
|
|
||||||
{
|
|
||||||
"ContainerPort": "80"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"Logging": "/var/log/"
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
@@ -1,116 +0,0 @@
|
|||||||
{
|
|
||||||
"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": ""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
@@ -1,84 +0,0 @@
|
|||||||
# Copyright (c) 2015 Mattermost, 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
|
|
||||||
|
|
||||||
#
|
|
||||||
# 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-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 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
|
|
||||||
# ---------------------------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
# Copy over files
|
|
||||||
ADD . /go/src/github.com/mattermost/platform
|
|
||||||
|
|
||||||
RUN go get github.com/tools/godep
|
|
||||||
RUN cd /go/src/github.com/mattermost/platform/; godep go install
|
|
||||||
RUN cd /go/src/github.com/mattermost/platform/web/react; npm install
|
|
||||||
|
|
||||||
ADD /docker/local/config_docker.json /
|
|
||||||
ADD /docker/local/docker-entry.sh /
|
|
||||||
|
|
||||||
RUN chmod +x /docker-entry.sh
|
|
||||||
ENTRYPOINT /docker-entry.sh
|
|
||||||
|
|
||||||
# Create default storage directory
|
|
||||||
RUN mkdir /mattermost-data/
|
|
||||||
|
|
||||||
# Ports
|
|
||||||
EXPOSE 80
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
"AWSEBDockerrunVersion": "1",
|
|
||||||
"Image": {
|
|
||||||
"Name": "YOUR_DEV_INSTANCE_HERE",
|
|
||||||
"Update": "true"
|
|
||||||
},
|
|
||||||
"Ports": [
|
|
||||||
{
|
|
||||||
"ContainerPort": "80"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"Logging": "/var/log/"
|
|
||||||
}
|
|
||||||
@@ -1,116 +0,0 @@
|
|||||||
{
|
|
||||||
"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": ""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,116 +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 react processor
|
|
||||||
cd /go/src/github.com/mattermost/platform/web/react && npm start &
|
|
||||||
|
|
||||||
echo starting go web server
|
|
||||||
cd /go/src/github.com/mattermost/platform/; godep go run mattermost.go -config=/config_docker.json &
|
|
||||||
|
|
||||||
echo starting compass watch
|
|
||||||
cd /go/src/github.com/mattermost/platform/web/sass-files && compass watch
|
|
||||||
Ссылка в новой задаче
Block a user