Skip to content

Commit

Permalink
Update
Browse files Browse the repository at this point in the history
  • Loading branch information
wilsonmar committed Apr 25, 2018
1 parent e6fb582 commit 7232722
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 35 deletions.
44 changes: 26 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,19 @@ comments: true

The tagline of this repo is "Automatically install and configure the dozens of programs that a developer needs to work offline as a developer of several stacks on a Mac."

This script was created to help people cope with the large number of apps needed to be a "full stack" developer today. This installs several stacks with sample repositories:
This script was created to help you cope with the large number of apps needed to be a "full stack" developer today. This installs several stacks with sample repositories:

* MEAN (MongoDB, Express, Angular, NodeJs) with the MeanJs sample app
* JAM (Jekyll, APIs, Markup) with a sample Github.io website
* MAMP (Macintosh, Apache/Nginx, MySQL, PHP) for WordPress websites
* Python, etc.
* Elastic (ELK) stack (Elasticsearch, Logstash, Kibana, etc.)
* etc.

Most tutorials on have you <strong>manually type</strong> or copy and paste commands (often with missing steps), which can take hours, and be error-prone. And don't get me started on webinars with demos that brags rather than teach.

Most tutorials on each of the above have you <strong>manually type</strong> or copy and paste commands, which can take hours, and be error-prone.
> This script cuts through all that b.s. by running on your Mac and displaying on your screen.
You will benefit most if you configure a <strong>new</strong> laptop for yourself or for other developers joining your organization. You'll skip wasted days installing everything one at a time (and doing it differently than colleagues).
You will benefit most from this if you configure a <strong>new</strong> laptop for yourself or for other developers joining your organization. You'll skip wasted days installing everything one at a time (and doing it differently than colleagues).
This repo brings DevSecOps-style <strong>"immutable architecture"</strong> to MacOS laptops. Immutability means replacing the whole machine instance instead of upgrading or repairing faulty components.

But this script helps with updates too. You can, but don't have to, start from scratch.
Expand All @@ -33,22 +36,27 @@ Although you may use Apple's Time Machine app to backup everything to a USB driv
This bash script enables you to <strong>work offline</strong> by installing several servers. You manage allocation of port numbers in one place:

<pre>
GRAFANA_PORT="8089" # VIZ_TOOLS from default 8080
JEKYLL_PORT="4000" # from default 4000
JENKINS_PORT="8088" # LOCALHOSTS from default 8080
MYSQL_PORT="3060" # DATA_TOOLS default 3060
MEANJS_PORT="3000" # from default 3000
MINIKUBE_PORT="8083" # from default 8080
NEO4J_PORT="7474" # DATA_TOOL default 7474 HTTPS: 7473
NGINX_PORT="8086" # LOCALHOSTS from default 8080
POSTGRESQL_PORT="5432" # DATA_TOOLS default 5432
PROMETHEUS_PORT="9090" # MON_TOOLS default 9090
REDIS_PORT="6379" # DATA_TOOLS default 6379
SONAR_PORT="9000" # DATA_TOOLS default 9000
TOMCAT_PORT="8087" # LOCALHOSTS from default 8080
ELASTIC_PORT="9200" # DATA_TOOLS from default 9200
GRAFANA_PORT="8089" # VIZ_TOOLS from default 8080
JEKYLL_PORT="4000" # from default 4000
JENKINS_PORT="8088" # LOCALHOSTS from default 8080
KIBANA_PORT="5601" # DATA_TOOLS default 5601
MYSQL_PORT="3060" # DATA_TOOLS default 3060
MEANJS_PORT="3000" # from default 3000
MINIKUBE_PORT="8083" # from default 8080
NEO4J_PORT="7474" # DATA_TOOL default 7474 HTTPS: 7473
NGINX_PORT="8086" # LOCALHOSTS from default 8080
PACT_PORT="6666" # TEST_TOOLS from default 6666
POSTGRESQL_PORT="5432" # DATA_TOOLS default 5432
PROMETHEUS_PORT="9090" # MON_TOOLS default 9090
REDIS_PORT="6379" # DATA_TOOLS default 6379
SONAR_PORT="9000" # DATA_TOOLS default 9000
TOMCAT_PORT="8087" # LOCALHOSTS from default 8080
</pre>

You specify which port numbers and apps you want by editing the <strong>secrets.sh</strong> file in this repo.
The above are fron the <strong>secrets.sh</strong> file in your $HOME folder, which
you edit to specify which port numbers and the keywords for apps you want installed.
Apps belong to a category:

* MAC_TOOLS mas, Ansible, 1Password, PowerShell, Kindle, etc.
* EDITORS Atom, Code, Eclipse, Emacs, IntelliJ, Macvim, STS, Sublime, Textmate, vim
Expand Down
35 changes: 18 additions & 17 deletions mac-setup-all.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2766,10 +2766,11 @@ if [[ "${DATA_TOOLS,,}" == *"elastic"* ]]; then
# https://logz.io/blog/elk-mac/?aliId=12015968
# http://www.elasticsearchtutorial.com/elasticsearch-in-5-minutes.html
JAVA_INSTALL

BREW_INSTALL "DATA_TOOLS" "elasticsearch" "brew"
BREW_INSTALL "DATA_TOOLS" "logstash" "brew"
BREW_INSTALL "DATA_TOOLS" "kibana" "brew" # old?
exit

echo "DATA_TOOLS elasticsearch ELASTIC_PORT config ..."
if [ ! -z "$ELASTIC_PORT" ]; then # fall-back if not set in secrets.sh:
ELASTIC_PORT="9200" # default 9200
Expand Down Expand Up @@ -2814,7 +2815,8 @@ exit
brew services start kibana
open "http://localhost:$KIBANA_PORT/status" # Kibana
brew services list


#open "http://localhost:&ELASTIC_PORT/status#?_g=()"
#open "http://localhost:&ELASTIC_PORT/_search?pretty"
#open "http://localhost:&ELASTIC_PORT/_cat/indices?v"
#open "http://localhost:&ELASTIC_PORT/app/kibana#/home?_g=()"
Expand Down Expand Up @@ -3204,7 +3206,6 @@ if [[ "$JAVA_TOOLS" == *"junit4"* ]]; then
#
fi


if [[ "$JAVA_TOOLS" == *"junit5"* ]]; then
# junit5 reached 2nd GA February 18, 2018 https://junit.org/junit5/docs/current/user-guide/
# http://junit.org/junit4/
Expand Down Expand Up @@ -3403,6 +3404,10 @@ fi
if [[ "$MON_TOOLS" == *"jprofiler"* ]]; then
JAVA_INSTALL
BREW_CASK_INSTALL "MON_TOOLS" "jprofiler" "JProfiler"

# Creates $HOME/.jprofiler10/config.xml containing the license key.
# https://www.ej-technologies.com/resources/jprofiler/help/doc/#jprofiler.offline

if [[ "${TRYOUT,,}" == *"jprofiler"* ]] || [[ "${TRYOUT,,}" == *"all"* ]]; then
open -a "/Applications/JProfiler.app" &
# jprofiler &
Expand Down Expand Up @@ -4823,8 +4828,6 @@ fi

if [[ "${MON_TOOLS,,}" == *"others"* ]]; then
fancy_echo "MON_TOOLS=$MON_TOOLS" >>$LOGFILE
# Kibana (with ElasticSearch)
# Elastic Stack Logstash
# Dynatrace agent
# Open Tracing (Cloud Native)
# AppDynamics agent
Expand Down Expand Up @@ -4895,8 +4898,6 @@ fi

if [[ "${VIZ_TOOLS,,}" == *"others"* ]]; then
fancy_echo "VIZ_TOOLS=$VIZ_TOOLS" >>$LOGFILE
# kibana
# gafana
fi


Expand All @@ -4914,7 +4915,7 @@ if [[ "${COLAB_TOOLS,,}" == *"discord"* ]]; then
# https://discordapp.com/
BREW_CASK_INSTALL "COLAB_TOOLS" "discord" "Discord"
if [[ "${TRYOUT,,}" == *"discord"* ]] || [[ "${TRYOUT,,}" == *"all"* ]]; then
fancy_echo "EDITORS discord starting ..."
fancy_echo "COLAB_TOOLS discord starting ..."
open -a "/Applications/Discord.app" &
fi
else
Expand All @@ -4924,7 +4925,7 @@ fi
if [[ "${COLAB_TOOLS,,}" == *"hangouts"* ]]; then
BREW_CASK_INSTALL "COLAB_TOOLS" "google-hangouts" "Google Hangouts"
if [[ "${TRYOUT,,}" == *"google-hangouts"* ]] || [[ "${TRYOUT,,}" == *"all"* ]]; then
fancy_echo "EDITORS google-hangouts starting ..."
fancy_echo "COLAB_TOOLS google-hangouts starting ..."
open -a "/Applications/Google Hangouts.app" &
fi
else
Expand All @@ -4934,7 +4935,7 @@ fi
if [[ "${COLAB_TOOLS,,}" == *"hipchat"* ]]; then
BREW_CASK_INSTALL "COLAB_TOOLS" "hipchat" "Hipchat"
if [[ "${TRYOUT,,}" == *"hipchat"* ]] || [[ "${TRYOUT,,}" == *"all"* ]]; then
fancy_echo "EDITORS hipchat starting ..."
fancy_echo "COLAB_TOOLS hipchat starting ..."
open -a "/Applications/Hipchat.app" &
fi
else
Expand All @@ -4944,7 +4945,7 @@ fi
if [[ "${COLAB_TOOLS,,}" == *"joinme"* ]]; then
BREW_CASK_INSTALL "COLAB_TOOLS" "joinme" "Join me"
if [[ "${TRYOUT,,}" == *"joinme"* ]] || [[ "${TRYOUT,,}" == *"all"* ]]; then
fancy_echo "EDITORS joinme starting ..."
fancy_echo "COLAB_TOOLS joinme starting ..."
open -a "/Applications/Join me.app" &
fi
else
Expand All @@ -4953,7 +4954,7 @@ fi
if [[ "${COLAB_TOOLS,,}" == *"keybase"* ]]; then
BREW_CASK_INSTALL "COLAB_TOOLS" "keybase" "Keybase"
if [[ "${TRYOUT,,}" == *"keybase"* ]] || [[ "${TRYOUT,,}" == *"all"* ]]; then
fancy_echo "EDITORS keybase starting ..."
fancy_echo "COLAB_TOOLS keybase starting ..."
open -a "/Applications/Keybase.app" &
fi
else
Expand All @@ -4962,7 +4963,7 @@ fi
if [[ "${COLAB_TOOLS,,}" == *"skype"* ]]; then
BREW_CASK_INSTALL "COLAB_TOOLS" "skype" "Skype"
if [[ "${TRYOUT,,}" == *"skype"* ]] || [[ "${TRYOUT,,}" == *"all"* ]]; then
fancy_echo "EDITORS skype starting ..."
fancy_echo "COLAB_TOOLS skype starting ..."
open -a "/Applications/Skype.app" &
fi
else
Expand All @@ -4974,7 +4975,7 @@ fi
if [[ "${COLAB_TOOLS,,}" == *"slack"* ]]; then
BREW_CASK_INSTALL "COLAB_TOOLS" "slack" "Slack"
if [[ "${TRYOUT,,}" == *"slack"* ]] || [[ "${TRYOUT,,}" == *"all"* ]]; then
fancy_echo "EDITORS slack starting ..."
fancy_echo "COLAB_TOOLS slack starting ..."
open -a "/Applications/Slack.app" &
fi
else
Expand All @@ -4983,7 +4984,7 @@ fi
if [[ "${COLAB_TOOLS,,}" == *"sococo"* ]]; then
BREW_CASK_INSTALL "COLAB_TOOLS" "sococo" "Sococo"
if [[ "${TRYOUT,,}" == *"sococo"* ]] || [[ "${TRYOUT,,}" == *"all"* ]]; then
fancy_echo "EDITORS sococo starting ..."
fancy_echo "COLAB_TOOLS sococo starting ..."
open -a "/Applications/Sococo.app" &
fi
else
Expand All @@ -4999,7 +5000,7 @@ if [[ "${COLAB_TOOLS,,}" == *"teamviewer"* ]]; then
fi

if [[ "${TRYOUT,,}" == *"teamviewer"* ]] || [[ "${TRYOUT,,}" == *"all"* ]]; then
fancy_echo "EDITORS teamviewer starting ..."
fancy_echo "COLAB_TOOLS teamviewer starting ..."
open -a "/Applications/Teamviewer.app" &
fi
else
Expand All @@ -5008,7 +5009,7 @@ fi
if [[ "${COLAB_TOOLS,,}" == *"whatsapp"* ]]; then
BREW_CASK_INSTALL "COLAB_TOOLS" "whatsapp" "Whatsapp"
if [[ "${TRYOUT,,}" == *"whatsapp"* ]] || [[ "${TRYOUT,,}" == *"all"* ]]; then
fancy_echo "EDITORS whatsapp starting ..."
fancy_echo "COLAB_TOOLS whatsapp starting ..."
open -a "/Applications/Whatsapp.app" &
fi
else
Expand Down

0 comments on commit 7232722

Please sign in to comment.