diff options
-rw-r--r-- | README.md | 129 | ||||
-rwxr-xr-x | docker/Dockerrun.aws.json | 13 | ||||
-rw-r--r-- | scripts/README_DEV.md | 42 | ||||
-rw-r--r-- | utils/config.go | 4 | ||||
-rw-r--r-- | web/react/components/create_post.jsx | 4 | ||||
-rw-r--r-- | web/react/utils/utils.jsx | 5 |
6 files changed, 146 insertions, 51 deletions
@@ -1,15 +1,15 @@ -**Mattermost Preview<br>** -**Team Communication Service<br>** +**Mattermost Preview** +**Team Communication Service** **Version 0.40** -What matters most to your team? -=============================== -Words have power.<br> -Mattermost serves teams who use words to shape the future.<br> -The words you choose are up to you. +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. -*- SpinPunch* Installing the Mattermost Preview ================================= @@ -18,49 +18,90 @@ You're installing "Mattermost Preview", a pre-released 0.40 version intended for That said, any issues at all, please let us know on the Mattermost forum at: http://bit.ly/1MY1kul -Developer Machine Setup (Mac) +Local Machine Setup (Docker) ----------------------------- -DOCKER SETUP +### Mac OSX ### -1. Follow the instructions at http://docs.docker.com/installation/mac/ -<br>a) Use the Boot2Docker command-line utility -<br>b) If you do command-line setup use: `boot2docker init eval “$(boot2docker shellinit)”` +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 - -Any issues? Please let us know on our forums at: http://bit.ly/1MY1kul - -GO SETUP - -1. Download Go from http://golang.org/dl/ - -NODE.JS SETUP - -1. Install homebrew from http://brew.sh -2. `brew install node` - -COMPASS SETUP - -1. Make sure you have the latest version of Ruby -2. `gem install compass` - -MATTERMOST SETUP - -1. Make a project directory for Mattermost, which we'll call **$PROJECT** for the rest of these instructions -2. Make a `go` directory in your $PROJECT directory -3. Open or create your ~/.bash_profile and add the following lines: <br> `export GOPATH=$PROJECT/go`<br> `export PATH=$PATH:$GOPATH/bin` <br>then refresh your bash profile with `source ~/.bash_profile` -4. Then use `cd $GOPATH` and `mkdir -p src/github.com/mattermost` then cd into this directory and run `git clone github.com/mattermost/platform.git` -5. If you do not have Mercurial, download it with: `brew install mercurial` -6. Then do `cd platform` and `make test`. Provided the test runs fine, you now have a complete build environment. -7. Use `make run` to run your code - -Any issues? Please let us know on our forums at: http://bit.ly/1MY1kul +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 + +### Ubuntu ### +1. Follow the instructions at https://docs.docker.com/installation/ubuntulinux/ or use the summery below. +`sudo apt-get update` +`sudo apt-get install wget` +`wget -qO- https://get.docker.com/ | sh` +`sudo usermod -aG docker <username>` +`sudo service docker start` +`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 + +### Arch ### +1. Install docker using the following commands +`pacman -S docker` +`systemctl enable docker.service` +`systemctl start docker.service` +`gpasswd -a <username> docker` +`newgrp docker` +2. 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 + +### Notes ### +If your ISP blocks port 25 then you may install locally but email will not be sent. + +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:latest` + +If you wish to remove mattermost-dev use the following commands +1. `docker stop mattermost-dev` +2. `docker rm -v mattermost-dev` + + +AWS Elastic Beanstalk Setup (Docker) +------------------------------------ + +1. From the AWS console select Elastic Beanstalk +2. Select "Create New Application" from the top right. +3. Name the application and press next +4. Select "Create a web server" environment. +5. If asked, select create and AIM role and instance profile and press next. +6. For predefined configuration select docker. Environment type may be left at default. +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. +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. +11. You can set the configuration details as you please but they may be left at their defaults. When you are done press next. +12. Environment tags my be left blank. Press next. +13. You will be asked to review your information. Press Launch. +14. Up near the top of the dashboard you will see a domain of the form \*.elasticbeanstalk.com copy this as you will need it later. +15. From the AWS console select route 53 +16. From the sidebar select Hosted Zones +17. Select the domain you want to use or create a new one. +18. Modify an existing CNAME record set or create a new one with the name * and the value of the domain you copied in step 13. +19. Save the record set +20. Return the Elastic Beanstalk from the AWS console. +21. Select the environment you created. +22. Select configuration from the sidebar. +23. Click the gear beside software configuration. +24. Add an environment property with the name “MATTERMOST\_DOMAIN” and a value of the domain you mapped in route 53. For example if your domain is \*.example.com you would enter example.com not www.example.com. +25. Select apply. +26. Return to the dashboard on the sidebar and wait for beanstalk update the environment. +27. Try it out by entering the domain you mapped into your browser. License ------- -This software uses the Apache 2.0 open source license. For more details see: http://bit.ly/1Lc25Sv<br> +This software uses the Apache 2.0 open source license. For more details see: http://bit.ly/1Lc25Sv + **XXXXXX TODO: Test install procedures** diff --git a/docker/Dockerrun.aws.json b/docker/Dockerrun.aws.json new file mode 100755 index 000000000..52bbb2ae5 --- /dev/null +++ b/docker/Dockerrun.aws.json @@ -0,0 +1,13 @@ +{
+ "AWSEBDockerrunVersion": "1",
+ "Image": {
+ "Name": "mattermost/platform",
+ "Update": "true"
+ },
+ "Ports": [
+ {
+ "ContainerPort": "80"
+ }
+ ],
+ "Logging": "/var/log/"
+}
diff --git a/scripts/README_DEV.md b/scripts/README_DEV.md new file mode 100644 index 000000000..6a2dfc54d --- /dev/null +++ b/scripts/README_DEV.md @@ -0,0 +1,42 @@ +Developer Machine Setup (Mac) +----------------------------- + +DOCKER SETUP + +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 + +Any issues? Please let us know on our forums at: http://bit.ly/1MY1kul + +GO SETUP + +1. Download Go from http://golang.org/dl/ + +NODE.JS SETUP + +1. Install homebrew from http://brew.sh +2. `brew install node` + +COMPASS SETUP + +1. Make sure you have the latest version of Ruby +2. `gem install compass` + +MATTERMOST SETUP + +1. Make a project directory for Mattermost, which we'll call **$PROJECT** for the rest of these instructions +2. Make a `go` directory in your $PROJECT directory +3. Open or create your ~/.bash_profile and add the following lines: + `export GOPATH=$PROJECT/go` + `export PATH=$PATH:$GOPATH/bin` + then refresh your bash profile with `source ~/.bash_profile` +4. Then use `cd $GOPATH` and `mkdir -p src/github.com/mattermost` then cd into this directory and run `git clone github.com/mattermost/platform.git` +5. If you do not have Mercurial, download it with: `brew install mercurial` +6. Then do `cd platform` and `make test`. Provided the test runs fine, you now have a complete build environment. +7. Use `make run` to run your code + +Any issues? Please let us know on our forums at: http://bit.ly/1MY1kul
\ No newline at end of file diff --git a/utils/config.go b/utils/config.go index 23bd3e85a..6a7e4589c 100644 --- a/utils/config.go +++ b/utils/config.go @@ -221,6 +221,10 @@ func LoadConfig(fileName string) { // Grabs the domain from enviroment variable if not in configuration if config.ServiceSettings.Domain == "" { config.ServiceSettings.Domain = os.Getenv("MATTERMOST_DOMAIN") + // If the enviroment variable is not set, use a default + if config.ServiceSettings.Domain == "" { + config.ServiceSettings.Domain = "localhost" + } } // Check for a valid email for feedback, if not then do feedback@domain diff --git a/web/react/components/create_post.jsx b/web/react/components/create_post.jsx index 191be9bf8..a534e495d 100644 --- a/web/react/components/create_post.jsx +++ b/web/react/components/create_post.jsx @@ -31,9 +31,7 @@ module.exports = React.createClass({ post.message = this.state.messageText; - var repRegex = new RegExp("<br>", "g"); - if (post.message.replace(repRegex, " ").trim().length === 0 - && this.state.previews.length === 0) { + if (post.message.trim().length === 0 && this.state.previews.length === 0) { return; } diff --git a/web/react/utils/utils.jsx b/web/react/utils/utils.jsx index e57088614..fb4f3a34e 100644 --- a/web/react/utils/utils.jsx +++ b/web/react/utils/utils.jsx @@ -366,9 +366,6 @@ module.exports.textToJsx = function(text, options) { if (options && options['singleline']) { var repRegex = new RegExp("\n", "g"); text = text.replace(repRegex, " "); - } else { - var repRegex = new RegExp("\n", "g"); - text = text.replace(repRegex, "<br>"); } var searchTerm = "" @@ -392,7 +389,7 @@ module.exports.textToJsx = function(text, options) { implicitKeywords[keywordArray[i]] = true; } - var lines = text.split("<br>"); + var lines = text.split("\n"); var urlMatcher = new LinkifyIt(); for (var i = 0; i < lines.length; i++) { var line = lines[i]; |