Chatwoot/docs/development/environment-setup/mac-os.md

113 lines
2.2 KiB
Markdown
Raw Normal View History

2019-10-12 05:17:08 +00:00
---
path: "/docs/installation-guide-mac-os"
title: "Mac OS installation guide"
---
Open terminal app and run the following commands
### Installing the standalone Command Line Tools
Open terminal app and write the code below
```bash
xcode-select --install
```
### Install Homebrew
```bash
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
```
### Install Git
```bash
brew update
brew install git
```
### Install RVM
You need software-properties-common installed in order to add PPA repositories.
```bash
curl -L https://get.rvm.io | bash -s stable
2019-10-12 05:17:08 +00:00
source ~/.rvm/scripts/rvm
```
### Install Ruby
Chatwoot APIs are built on Ruby on Rails, you need install ruby 2.7.1
2019-10-12 05:17:08 +00:00
🔥Docker and environment variables cleanup (#270) * Added dotenv-rails gem to manage environment variables * Added dotenv-rails gem to manage environment variables * Removed figaro which was used earlier for this purpose * Standardized variable names * Changed all env variables to be upper case. This included changes in files referencing env variables. * Added example env file with all variables set to empty value * Removed the earlier setup of copying application.yml and database.yml and the scripts and documentation associated to this * Docker setup * Added docker file for building the docker images * Added entrypoint.sh script which is referenced inside the Docker image * Cloned the Procfile for development using docker which has slight change compared to regular procfile * Added the docker-compose.yml which has 3 service's configuration, postgres, redis and chatwoot server and a mounted volume for postgres * Added docker related info to documentation * Added the docker setup info in the documentation * Added info for using`rbenv` instead of rvm for managing ruby versions * Updated the documentation for environment variables to have one about `dotenv-rails` gem and removed the documentation about the old copy paste method used by figaro * Changing the postgres database, username and password as environment variables * Removed database.yml from gitignore * Made the postgres databse, username and password as environemnt variables * Added this in documentation * Added a quick setup page * Added quick setup page * Removed the docs from README and added link to the docs in website * Removed the figaro related things from circle.ci config * Adding external volume for redis in docker compose * Added instructions for adding the redis volume in docs
2019-11-23 19:57:39 +00:00
If you are using `rvm` :
2019-10-12 05:17:08 +00:00
```bash
rvm install ruby-2.7.1
rvm use 2.7.1
2019-10-12 05:17:08 +00:00
```
🔥Docker and environment variables cleanup (#270) * Added dotenv-rails gem to manage environment variables * Added dotenv-rails gem to manage environment variables * Removed figaro which was used earlier for this purpose * Standardized variable names * Changed all env variables to be upper case. This included changes in files referencing env variables. * Added example env file with all variables set to empty value * Removed the earlier setup of copying application.yml and database.yml and the scripts and documentation associated to this * Docker setup * Added docker file for building the docker images * Added entrypoint.sh script which is referenced inside the Docker image * Cloned the Procfile for development using docker which has slight change compared to regular procfile * Added the docker-compose.yml which has 3 service's configuration, postgres, redis and chatwoot server and a mounted volume for postgres * Added docker related info to documentation * Added the docker setup info in the documentation * Added info for using`rbenv` instead of rvm for managing ruby versions * Updated the documentation for environment variables to have one about `dotenv-rails` gem and removed the documentation about the old copy paste method used by figaro * Changing the postgres database, username and password as environment variables * Removed database.yml from gitignore * Made the postgres databse, username and password as environemnt variables * Added this in documentation * Added a quick setup page * Added quick setup page * Removed the docs from README and added link to the docs in website * Removed the figaro related things from circle.ci config * Adding external volume for redis in docker compose * Added instructions for adding the redis volume in docs
2019-11-23 19:57:39 +00:00
If you are using `rbenv` to manage ruby versions do :
2019-10-12 05:17:08 +00:00
```bash
rbenv install 2.7.1
2019-10-12 05:17:08 +00:00
```
🔥Docker and environment variables cleanup (#270) * Added dotenv-rails gem to manage environment variables * Added dotenv-rails gem to manage environment variables * Removed figaro which was used earlier for this purpose * Standardized variable names * Changed all env variables to be upper case. This included changes in files referencing env variables. * Added example env file with all variables set to empty value * Removed the earlier setup of copying application.yml and database.yml and the scripts and documentation associated to this * Docker setup * Added docker file for building the docker images * Added entrypoint.sh script which is referenced inside the Docker image * Cloned the Procfile for development using docker which has slight change compared to regular procfile * Added the docker-compose.yml which has 3 service's configuration, postgres, redis and chatwoot server and a mounted volume for postgres * Added docker related info to documentation * Added the docker setup info in the documentation * Added info for using`rbenv` instead of rvm for managing ruby versions * Updated the documentation for environment variables to have one about `dotenv-rails` gem and removed the documentation about the old copy paste method used by figaro * Changing the postgres database, username and password as environment variables * Removed database.yml from gitignore * Made the postgres databse, username and password as environemnt variables * Added this in documentation * Added a quick setup page * Added quick setup page * Removed the docs from README and added link to the docs in website * Removed the figaro related things from circle.ci config * Adding external volume for redis in docker compose * Added instructions for adding the redis volume in docs
2019-11-23 19:57:39 +00:00
`rbenv` identifies the ruby version from `.ruby-version` file on the root of the project and loads it automatically.
2019-10-12 05:17:08 +00:00
### Install Node.js
Install Node.js from NodeSoure using the following commands
```bash
brew install node
```
### Install yarn
We use `yarn` as package manager
```bash
brew install yarn
```
### Install postgres
The database used in Chatwoot is PostgreSQL. Use the following commands to install postgres.
```bash
brew install postgresql
```
The installation procedure created a user account called postgres that is associated with the default Postgres role. In order to use Postgres, you can log into that account.
```bash
sudo -u postgres psql
```
### Install redis-server
Chatwoot uses Redis server in agent assignments and reporting. To install `redis-server`
```bash
brew install redis
```
Enable Redis to start on system boot.
```bash
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
```
### Install imagemagick
Chatwoot uses `imagemagick` library to resize images for showing previews and smaller size based on context.
2019-10-12 05:17:08 +00:00
```bash
brew install imagemagick
```
You can read more on installing imagemagick from source from [here](https://imagemagick.org/script/download.php).
🔥Docker and environment variables cleanup (#270) * Added dotenv-rails gem to manage environment variables * Added dotenv-rails gem to manage environment variables * Removed figaro which was used earlier for this purpose * Standardized variable names * Changed all env variables to be upper case. This included changes in files referencing env variables. * Added example env file with all variables set to empty value * Removed the earlier setup of copying application.yml and database.yml and the scripts and documentation associated to this * Docker setup * Added docker file for building the docker images * Added entrypoint.sh script which is referenced inside the Docker image * Cloned the Procfile for development using docker which has slight change compared to regular procfile * Added the docker-compose.yml which has 3 service's configuration, postgres, redis and chatwoot server and a mounted volume for postgres * Added docker related info to documentation * Added the docker setup info in the documentation * Added info for using`rbenv` instead of rvm for managing ruby versions * Updated the documentation for environment variables to have one about `dotenv-rails` gem and removed the documentation about the old copy paste method used by figaro * Changing the postgres database, username and password as environment variables * Removed database.yml from gitignore * Made the postgres databse, username and password as environemnt variables * Added this in documentation * Added a quick setup page * Added quick setup page * Removed the docs from README and added link to the docs in website * Removed the figaro related things from circle.ci config * Adding external volume for redis in docker compose * Added instructions for adding the redis volume in docs
2019-11-23 19:57:39 +00:00
### Install Docker
This is an optional step. Those who are doing development can install docker from [Docker Desktop](https://www.docker.com/products/docker-desktop).