MacOS/Linux
Learn how to configure your local machine to run Novu
Terminal upgrade (Optional)
Install ZSH
ZSH is a shell on steroids, it has multiple plugins and functionality that can save a lot of time.
To install zsh run in your command line:
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
If you previously haven’t installed git on the machine, a prompt to install
git will show up. After installation, run the sh
command from above again.
Make sure you have a ~/.zshrc
exists, if not it might be an indicator that
the installation failed for some reason.
ZSH auto-complete plugin
Add the autocomplete plugin for autocompleting previously typed commands in the shell. Follow the instructions here.
Powerlevel10k (optional)
Powerlevel10k is a theme for Zsh. It emphasizes speed, flexibility, and out-of-the-box experience.
-
Clone the repository:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
-
Set
ZSH_THEME="powerlevel10k/powerlevel10k"
in~/.zshrc
. -
Restart your terminal and follow the onboarding wizard to configure it to your likings and preferences.
Command Line Tools, Homebrew & Casks
Every developer utilizes Command Line Tools. A simple terminal command will allow you to download these. It will ask you to confirm after you have entered the command.
xcode-select --install
Homebrew & Casks
Homebrew, it’s the missing package manager for macOS, and quite powerful at that.
Copy and paste the following code into your terminal to install Homebrew.
/bin/shell -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
It will ask you to enter ‘Return’ to confirm the installation.
After installation run, the echo
and eval
commands shown on screen to add
brew to your shell executables
Setting up git
To set up git and create an access token for GitHub, suggested installing GitHub Desktop before.
Helpful settings
Show hidden files in Finder: cmd + shift + .
or in the terminal:
defaults write com.apple.finder AppleShowAllFiles YES
Development Environment
Node & NVM
For installing node we suggest installing it using NVM (Node Version Manager) for easily managing multiple node versions.
- Install nvm on your machine.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | shell
Make sure that you have installed zsh previously, so NVM can automatically inject the executable to PATH in the .zshrc config file.
- After installing nvm and checking that it’s in the path by running
nvm --version
in your CLI. You can now install our node version:
After running the install script, if you get nvm: command not found
or see
no feedback from your terminal after you type command -v nvm
, simply close
your current terminal, open a new terminal, and try verifying again.
- Optional for M1 processors - Install Rosetta.
Rosetta enables a Mac with Apple silicon to use apps built for a Mac with an Intel processor.
softwareupdate --install-rosetta
PNPM
For package management, we use PNPM instead of npm or yarn to speed up our install times and space efficiency. To install pnpm globally run:
npm install -g pnpm@8.9.0
Docker
Follow the installation guide on docker website to install docker on your own machine. For ease of use, we suggest installing Docker Desktop.
AWS CLI
Follow the instructions to install the AWS CLI so you can use it to create env later on, based on existing S3 buckets:
Installing or updating the latest version of the AWS CLI
You should get something like this:
If needed, see:
Resolve “Unable to locate credentials” error in Amazon S3
Run LocalStack
This is needed only when you upload files (for example - an image) in the admin panel from your local environment.
LocalStack emulates cloud service that runs in a single container on your computer. So you can run your AWS applications on your local machine without connecting to the remote cloud provider.
- Build a container and run it:
docker run --rm -it -p 4566:4566 -p 4571:4571 localstack/localstack
-
Create local S3 buckets needed for the app:
In local environment:
aws --endpoint-url=http://localhost:4566 s3 mb s3://novu-local
In test environment:
aws --endpoint-url=http://localhost:4566 s3 mb s3://novu-test
-
Update cors:
aws --endpoint-url=http://localhost:4566 s3api put-bucket-cors --bucket novu-local --cors-configuration file://cors.json
cors.json{ "CORSRules": [ { "AllowedOrigins": ["*"], "AllowedHeaders": ["*"], "AllowedMethods": ["GET", "PUT", "POST", "DELETE"], "MaxAgeSeconds": 3000, "ExposeHeaders": ["x-amz-server-side-encryption"] } ] }
MongoDB
After installing brew you can easily install the MongoDB community edition.
- Tap the MongoDB Homebrew Tap to download the official Homebrew formula for MongoDB and the Database Tools, by running the following command in your macOS Terminal:
brew tap mongodb/brew
-
To install MongoDB, run the following command in your macOS Terminal application
- You might need to update the Command Line Tools to be compatible with Xcode - see
brew install mongodb-community@5.0
- Run the service in the background and start automatically after restart.
brew services start mongodb/brew/mongodb-community@5.0
Redis
After installing homebrew run the redis installation
brew install redis
After installation run the service to start on system start as well.
brew services restart redis
Local dev domain (Optional)
This will allow you to use local.novu.co instead of localhost when accessing the service on your machine.
Open the /etc/hosts
file:
sudo nano /etc/hosts
And add the local.novu.co domain
127.0.0.1 local.novu.co
Code Editor
Feel free to install your favorite code editor. We supply licenses for WebStorm, or you can Visual Studio Code if you prefer it.
Productivity tools
- GitHub Desktop (Optional)
GitHub Desktop simplifies the development workflow and interaction with Git. Download the client from their website.
- Clean your Dock bar (Optional)
For better productivity and wellness, we suggest removing the not-used apps from LaunchBar. Don’t worry if you will remove most apps from there. You can always use the spotlight to open the apps you need. Clean workspace === Happy life :) Right Click on the app icon > Options > Remove from Dock