summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile12
-rw-r--r--README.md100
-rw-r--r--docker/0.6/config_docker.json2
-rw-r--r--docker/dev/config_docker.json16
-rw-r--r--web/react/components/signup_team_complete.jsx6
-rw-r--r--web/sass-files/sass/partials/_files.scss7
-rw-r--r--web/sass-files/sass/partials/_signup.scss22
-rw-r--r--web/templates/signup_team.html2
8 files changed, 109 insertions, 58 deletions
diff --git a/Makefile b/Makefile
index e7a5d9e72..370289507 100644
--- a/Makefile
+++ b/Makefile
@@ -69,6 +69,12 @@ travis:
mkdir -p $(DIST_PATH)/api
cp -RL api/templates $(DIST_PATH)/api
+ cp APACHE-2.0.txt $(DIST_PATH)
+ cp GNU-AGPL-3.0.txt $(DIST_PATH)
+ cp LICENSE.txt $(DIST_PATH)
+ cp NOTICE.txt $(DIST_PATH)
+ cp README.md $(DIST_PATH)
+
mv $(DIST_PATH)/web/static/js/bundle.min.js $(DIST_PATH)/web/static/js/bundle-$(BUILD_NUMBER).min.js
@sed -i'.bak' 's|react-with-addons-0.13.1.js|react-with-addons-0.13.1.min.js|g' $(DIST_PATH)/web/templates/head.html
@@ -242,6 +248,12 @@ dist: install
mkdir -p $(DIST_PATH)/api
cp -RL api/templates $(DIST_PATH)/api
+ cp APACHE-2.0.txt $(DIST_PATH)
+ cp GNU-AGPL-3.0.txt $(DIST_PATH)
+ cp LICENSE.txt $(DIST_PATH)
+ cp NOTICE.txt $(DIST_PATH)
+ cp README.md $(DIST_PATH)
+
mv $(DIST_PATH)/web/static/js/bundle.min.js $(DIST_PATH)/web/static/js/bundle-$(BUILD_NUMBER).min.js
@sed -i'.bak' 's|react-with-addons-0.13.1.js|react-with-addons-0.13.1.min.js|g' $(DIST_PATH)/web/templates/head.html
diff --git a/README.md b/README.md
index 55d1383a8..cf5868f08 100644
--- a/README.md
+++ b/README.md
@@ -1,47 +1,47 @@
-**Mattermost Alpha**
-**Team Communication Service**
+**Mattermost Alpha**
+**Team Communication Service**
**Development Build**
About Mattermost
================
-Mattermost is a team communication service. It brings team messaging and file sharing into one place, accessible across PCs and phones, with archiving and search.
-
-We built Mattermost to help teams focus on what matters most to them. It works for us, we hope it works for you too.
+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.
Learn More
==========
-<ul>
-<li/>Ask the core team anything at: http://forum.mattermost.org</li>
-<li/>Share feature requests and upvotes: http://www.mattermost.org/feature-requests/</li>
-<li/>File bugs: http://www.mattermost.org/filing-issues/</li>
-<li/>Make a pull request: http://www.mattermost.org/contribute-to-mattermost/</li>
-</ul>
+- Ask the core team anything at: http://forum.mattermost.org
+- Share feature requests and upvotes: http://www.mattermost.org/feature-requests/
+- File bugs: http://www.mattermost.org/filing-issues/
+- Make a pull request: http://www.mattermost.org/contribute-to-mattermost/
+
Installing Mattermost
=====================
-You're installing "Mattermost Alpha", a pre-released version intended for an early look at what we're building. While SpinPunch runs this version internally, it's not recommended for production deployments since we can't guarantee API stability or backwards compatibility until our production release.
+You're installing "Mattermost Alpha", a pre-released version providing an early look at what we're building. While the core team runs this version internally, it's not recommended for production since we can't guarantee API stability or backwards compatibility.
That said, any issues at all, please let us know on the Mattermost forum at: http://forum.mattermost.org
+Notes:
+- For Alpha, Docker is intentionally setup as a single container, since production deployment not yet recommended.
+
Local Machine Setup (Docker)
-----------------------------
### Mac OSX ###
-1. Follow the instructions at http://docs.docker.com/installation/mac/
- 1. Use the Boot2Docker command-line utility
+1. Follow the instructions at: http://docs.docker.com/installation/mac/
+ 1. Use the Boot2Docker command-line utility.
2. If you do command-line setup use: `boot2docker init eval “$(boot2docker shellinit)”`
-2. Get your Docker IP address with `boot2docker ip`
-3. Add a line to your /etc/hosts that goes `<Docker IP> dockerhost`
-4. Run `boot2docker shellinit` and copy the export statements to your ~/.bash\_profile
-5. Run `docker run --name mattermost-dev -d --publish 8065:80 mattermost/platform:helium`.
-6. When docker is done fetching the image, open http://dockerhost:8065/ in your browser
+2. Get your Docker IP address with: `boot2docker ip`
+3. Add a line to your /etc/hosts that goes: `<Docker IP> dockerhost`
+4. Run: `boot2docker shellinit` and copy the export statements to your ~/.bash\_profile.
+5. Run: `docker run --name mattermost-dev -d --publish 8065:80 mattermost/platform`
+6. When docker is done fetching the image, open http://dockerhost:8065/ in your browser.
### Ubuntu ###
-1. Follow the instructions at https://docs.docker.com/installation/ubuntulinux/ or use the summary below.
+1. Follow the instructions at https://docs.docker.com/installation/ubuntulinux/ or use the summary below:
``` bash
sudo apt-get update
@@ -52,8 +52,13 @@ Local Machine Setup (Docker)
newgrp docker
```
-2. Run `docker run --name mattermost-dev -d --publish 8065:80 mattermost/platform:helium`
-3. When docker is done fetching the image, open http://localhost:8065/ in your browser
+2. Start docker container:
+
+ ``` bash
+ docker run --name mattermost-dev -d --publish 8065:80 mattermost/platform
+ ```
+
+3. When docker is done fetching the image, open http://localhost:8065/ in your browser.
### Arch ###
1. Install docker using the following commands:
@@ -69,39 +74,36 @@ Local Machine Setup (Docker)
2. Start docker container:
``` bash
- docker run --name mattermost-dev -d --publish 8065:80 mattermost/platform:helium
+ docker run --name mattermost-dev -d --publish 8065:80 mattermost/platform
```
3. When docker is done fetching the image, open http://localhost:8065/ in your browser.
-### Notes ###
-If your ISP blocks port 25 then you may install locally but email will not be sent.
+### Additional Notes ###
+- If you want to work with the latest bits in the repository (i.e. not a stable release) you can run the cmd:
+`docker run --name mattermost-dev -d --publish 8065:80 mattermost/platform:dev`
-If you want to work with the latest bits in the repo you can run the cmd
-`docker run --name mattermost-dev -d --publish 8065:80 mattermost/platform:latest`
+- You can update to the latest bits by running:
+`docker pull mattermost/platform:dev`
-You can update to the latest bits by running
-`docker pull mattermost/platform:latest`
+- If you wish to remove mattermost-dev use:
+ `docker stop mattermost-dev`
+ `docker rm -v mattermost-dev`
-If you wish to remove mattermost-dev use the following commands
-
-1. `docker stop mattermost-dev`
-2. `docker rm -v mattermost-dev`
-
-If you wish to gain access to the container use the following commands
-1. `docker exec -ti mattermost-dev /bin/bash`
+- If you wish to gain access to a shell on the container use:
+ `docker exec -ti mattermost-dev /bin/bash`
AWS Elastic Beanstalk Setup (Docker)
------------------------------------
-1. Create a new elastic beanstalk docker application using the Dockerrun.aws.json file provided.
- 1. From the AWS console select Elastic Beanstalk
+1. Create a new elastic beanstalk docker application using the [Dockerrun.aws.json](docker/0.6/Dockerrun.aws.json) file provided.
+ 1. From the AWS console select Elastic Beanstalk.
2. Select "Create New Application" from the top right.
- 3. Name the application and press next
+ 3. Name the application and press next.
4. Select "Create a web server" environment.
- 5. If asked, select create and IAM role and instance profile and press next.
- 6. For predefined configuration select docker. For environment type select single instance.
- 7. For application source, select upload your own and upload Dockerrun.aws.json from docker/Dockerrun.aws.json. Everything else may be left at default.
+ 5. If asked, select create an IAM role and instance profile and press next.
+ 6. For predefined configuration select under Generic: Docker. For environment type select single instance.
+ 7. For application source, select upload your own and upload Dockerrun.aws.json from [docker/0.6/Dockerrun.aws.json](docker/0.6/Dockerrun.aws.json). Everything else may be left at default.
8. Select an environment name, this is how you will refer to your environment. Make sure the URL is available then press next.
9. The options on the additional resources page may be left at default unless you wish to change them. Press Next.
10. On the configuration details place. Select an instance type of t2.small or larger.
@@ -111,22 +113,24 @@ AWS Elastic Beanstalk Setup (Docker)
4. Try it out!
14. Wait for beanstalk to update the environment.
- 15. Try it out by entering the domain of the form \*.elasticbeanstalk.com found at the top of the dashboard into your browser. You can also map your own domain if you wish.
+ 15. Try it out by entering the domain of the form \*.elasticbeanstalk.com found at the top of the dashboard into your browser. You can also map your own domain if you wish.
Configuration Settings
----------------------
-There are a few configuration settings you might want to adjust when setting up your instance of Mattermost. You can edit them in ./config/config.json or ./config/config/config_docker.json if you're running a docker instance.
+There are a few configuration settings you might want to adjust when setting up your instance of Mattermost. You can edit them in [config/config.json](config/config.json) or [docker/0.6/config_docker.json](docker/0.6/config_docker.json) if you're running a docker instance.
-* *EmailSettings*:*ByPassEmail* - If this is set to true, then users on the system will not need to verify their email addresses when signing up. In addition, no emails will ever be sent.
-* *ServiceSettings*:*UseLocalStorage* - If this is set to true, then your Mattermost server will store uploaded files in the storage directory specified by *StorageDirectory*. *StorageDirectory* must be set if *UseLocalStorage* is set to true.
-* *ServiceSettings*:*StorageDirectory* - The file path where files will be stored locally if *UseLocalStorage* is set to true. The operating system user that is running the Mattermost application must have read and write privileges to this directory.
+* *EmailSettings*:*ByPassEmail* - If this is set to true, then users on the system will not need to verify their email addresses when signing up. In addition, no emails will ever be sent.
+* *ServiceSettings*:*UseLocalStorage* - If this is set to true, then your Mattermost server will store uploaded files in the storage directory specified by *StorageDirectory*. *StorageDirectory* must be set if *UseLocalStorage* is set to true.
+* *ServiceSettings*:*StorageDirectory* - The file path where files will be stored locally if *UseLocalStorage* is set to true. The operating system user that is running the Mattermost application must have read and write privileges to this directory.
* *AWSSettings*:*S3*\* - If *UseLocalStorage* is set to false, and the S3 settings are configured here, then Mattermost will store files in the provided S3 bucket.
Contributing
------------
-To contribute to this open source project please review the Mattermost Contribution Guidelines at http://www.mattermost.org/contribute-to-mattermost/.
+To contribute to this open source project please review the [Mattermost Contribution Guidelines]( http://www.mattermost.org/contribute-to-mattermost/).
+
+To setup your machine for development of mattermost see: [Developer Machine Setup](scripts/README_DEV.md)
License
-------
diff --git a/docker/0.6/config_docker.json b/docker/0.6/config_docker.json
index fc3d2132a..128dc1274 100644
--- a/docker/0.6/config_docker.json
+++ b/docker/0.6/config_docker.json
@@ -86,7 +86,7 @@
"TeamSettings": {
"MaxUsersPerTeam": 150,
"AllowPublicLink": true,
- "AllowValet": false,
+ "AllowValetDefault": false,
"TermsLink": "/static/help/configure_links.html",
"PrivacyLink": "/static/help/configure_links.html",
"AboutLink": "/static/help/configure_links.html",
diff --git a/docker/dev/config_docker.json b/docker/dev/config_docker.json
index f6b1e7b79..cd612c7fe 100644
--- a/docker/dev/config_docker.json
+++ b/docker/dev/config_docker.json
@@ -21,7 +21,8 @@
"ResetSalt": "IPxFzSfnDFsNsRafZxz8NaYqFKhf9y2t",
"AnalyticsUrl": "",
"UseLocalStorage": true,
- "StorageDirectory": "/mattermost/data/"
+ "StorageDirectory": "/mattermost/data/",
+ "AllowedLoginAttempts": 10
},
"SSOSettings": {
"gitlab": {
@@ -49,8 +50,8 @@
"S3Region": ""
},
"ImageSettings": {
- "ThumbnailWidth": 200,
- "ThumbnailHeight": 0,
+ "ThumbnailWidth": 120,
+ "ThumbnailHeight": 100,
"PreviewWidth": 1024,
"PreviewHeight": 0,
"ProfileWidth": 128,
@@ -69,6 +70,13 @@
"ApplePushCertPublic": "",
"ApplePushCertPrivate": ""
},
+ "RateLimitSettings": {
+ "UseRateLimiter": true,
+ "PerSec": 10,
+ "MemoryStoreSize": 10000,
+ "VaryByRemoteAddr": true,
+ "VaryByHeader": ""
+ },
"PrivacySettings": {
"ShowEmailAddress": true,
"ShowPhoneNumber": true,
@@ -78,7 +86,7 @@
"TeamSettings": {
"MaxUsersPerTeam": 150,
"AllowPublicLink": true,
- "AllowValet": false,
+ "AllowValetDefault": false,
"TermsLink": "/static/help/configure_links.html",
"PrivacyLink": "/static/help/configure_links.html",
"AboutLink": "/static/help/configure_links.html",
diff --git a/web/react/components/signup_team_complete.jsx b/web/react/components/signup_team_complete.jsx
index 447a405bd..3f35a5912 100644
--- a/web/react/components/signup_team_complete.jsx
+++ b/web/react/components/signup_team_complete.jsx
@@ -248,6 +248,8 @@ TeamURLPage = React.createClass({
},
render: function() {
+ $('body').tooltip( {selector: '[data-toggle=tooltip]', trigger: 'hover click'} );
+
client.track('signup', 'signup_team_03_url');
var name_error = this.state.name_error ? <label className="control-label">{ this.state.name_error }</label> : null;
@@ -260,8 +262,8 @@ TeamURLPage = React.createClass({
<div className={ name_error ? "form-group has-error" : "form-group" }>
<div className="row">
<div className="col-sm-11">
- <div className="input-group">
- <span className="input-group-addon">{ utils.getWindowLocationOrigin() + "/" }</span>
+ <div className="input-group input-group--limit">
+ <span data-toggle="tooltip" title={ utils.getWindowLocationOrigin() + "/" } className="input-group-addon">{ utils.getWindowLocationOrigin() + "/" }</span>
<input type="text" ref="name" className="form-control" placeholder="" maxLength="128" defaultValue={this.props.state.team.name} autoFocus={true} onFocus={this.handleFocus}/>
</div>
</div>
diff --git a/web/sass-files/sass/partials/_files.scss b/web/sass-files/sass/partials/_files.scss
index ddc5e98bb..22e2f44c5 100644
--- a/web/sass-files/sass/partials/_files.scss
+++ b/web/sass-files/sass/partials/_files.scss
@@ -114,8 +114,7 @@
height: 100px;
float: left;
margin: 5px 10px 5px 0;
- @include display-flex;
- display: -ms-flexbox;
+ display: table;
border: 1px solid lightgrey;
.post__load {
height: 100%;
@@ -137,10 +136,14 @@
}
}
.post-image__thumbnail {
+ display: table-cell;
+ vertical-align: top;
width: 50%;
height: 100%;
}
.post-image__details {
+ display: table-cell;
+ vertical-align: top;
width: 50%;
height: 100%;
background: white;
diff --git a/web/sass-files/sass/partials/_signup.scss b/web/sass-files/sass/partials/_signup.scss
index 4b6ee79a1..3a6f73316 100644
--- a/web/sass-files/sass/partials/_signup.scss
+++ b/web/sass-files/sass/partials/_signup.scss
@@ -54,6 +54,28 @@
margin-bottom: 1em;
}
+ .input-group {
+ &.input-group--limit {
+ table-layout: fixed;
+ width: 100%;
+ .tooltip-inner {
+ word-wrap: break-word;
+ }
+ .form-control {
+ text-align: left;
+ display: table-cell;
+ width: 100%;
+ }
+ .input-group-addon {
+ text-align: left;
+ width: 50%;
+ display: table-cell;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+ }
+ }
+
.inner__content {
padding: 0 15px;
margin: 30px 0 20px;
diff --git a/web/templates/signup_team.html b/web/templates/signup_team.html
index b84b8e486..313ed9d5f 100644
--- a/web/templates/signup_team.html
+++ b/web/templates/signup_team.html
@@ -10,7 +10,7 @@
<div class="signup-team__container">
<img class="signup-team-logo" src="/static/images/logo.png" />
<h1>Mattermost</h1>
- <h4 class="color--light">All team communication in one place, searchable and accesible anywhere</h4>
+ <h4 class="color--light">All team communication in one place, searchable and accessible anywhere</h4>
<div id="signup-team"></div>
</div>
</div>