installdocker.txt 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720
  1. #!/bin/bash
  2. installApps()
  3. {
  4. clear
  5. OS="$REPLY" ## <-- This $REPLY is about OS Selection
  6. echo "We can install Docker-CE, Docker-Compose, NGinX Proxy Manager, and Portainer-CE."
  7. echo "Please select 'y' for each item you would like to install."
  8. echo "NOTE: Without Docker you cannot use Docker-Compose, NGinx Proxy Manager, or Portainer-CE."
  9. echo " You also must have Docker-Compose for NGinX Proxy Manager to be installed."
  10. echo ""
  11. echo ""
  12. ISACT=$( (sudo systemctl is-active docker ) 2>&1 )
  13. ISCOMP=$( (docker-compose -v ) 2>&1 )
  14. #### Try to check whether docker is installed and running - don't prompt if it is
  15. if [[ "$ISACT" != "active" ]]; then
  16. read -rp "Docker-CE (y/n): " DOCK
  17. else
  18. echo "Docker appears to be installed and running."
  19. echo ""
  20. echo ""
  21. fi
  22. if [[ "$ISCOMP" == *"command not found"* ]]; then
  23. read -rp "Docker-Compose (y/n): " DCOMP
  24. else
  25. echo "Docker-compose appears to be installed."
  26. echo ""
  27. echo ""
  28. fi
  29. read -rp "NGinX Proxy Manager (y/n): " NPM
  30. read -rp "Navidrome (y/n): " NAVID
  31. read -rp "Portainer-CE (y/n): " PTAIN
  32. read -rp "Remotely - Remote Desktop Support (y/n): " REMOTELY
  33. read -rp "Guacamole - Remote Desktop Protocol in the Browser (y/n): " GUAC
  34. if [[ "$PTAIN" == [yY] ]]; then
  35. echo ""
  36. echo ""
  37. PS3="Please choose either Portainer-CE or just Portainer Agent: "
  38. select _ in \
  39. " Full Portainer-CE (Web GUI for Docker, Swarm, and Kubernetes)" \
  40. " Portainer Agent - Remote Agent to Connect from Portainer-CE" \
  41. " Nevermind -- I don't need Portainer after all."
  42. do
  43. PORT="$REPLY"
  44. case $REPLY in
  45. 1) startInstall ;;
  46. 2) startInstall ;;
  47. 3) startInstall ;;
  48. *) echo "Invalid selection, please try again..." ;;
  49. esac
  50. done
  51. fi
  52. startInstall
  53. }
  54. startInstall()
  55. {
  56. clear
  57. echo "#######################################################"
  58. echo "### Preparing for Installation ###"
  59. echo "#######################################################"
  60. echo ""
  61. sleep 3s
  62. #######################################################
  63. ### Install for Arm64 / Raspbian ###
  64. #######################################################
  65. if [[ "$OS" == "7" ]]; then
  66. echo " 1. Installing System Updates..."
  67. (sudo apt update && sudoa apt upgrade -y) > ~/docker-script-install.loc 2>&1 &
  68. ## Show a spinner for activity progress
  69. pid=$ # Process ID of the previous running command
  70. spin='-\|/'
  71. i=0
  72. while kill -0 $pid 2>/dev/null
  73. do
  74. i=$(( (i+1) %4 ))
  75. printf "\r${spin:$i:1}"
  76. sleep .25
  77. done
  78. printf "\r"
  79. echo " 2. Install Prerequisite Packages..."
  80. (sudo apt install curl wget git -y) >> ~/docker-script-install.log 2>&1
  81. ## Spinner time...
  82. pid=$ # Process ID of the previous running command
  83. spin='-\|/'
  84. i=0
  85. while kill -0 $pid 2>/dev/null
  86. do
  87. i=$(( (i+1) %4 ))
  88. printf "\r${spin:$i:1}"
  89. sleep .25
  90. done
  91. printf "\r"
  92. if [[ "$ISACT" != "active" ]]; then
  93. echo " 3. Installing Docker-CE (Community Edition)..."
  94. sleep 2s
  95. curl -fsSL https://get.docker.com | sh >> ~/docker-script-install.log 2>&1
  96. # Time to spin
  97. pid=$ # Process ID of the previous running command
  98. spin='-\|/'
  99. i=0
  100. while kill -0 $pid 2>/dev/null
  101. do
  102. i=$(( (i+1) %4 ))
  103. printf "\r${spin:$i:1}"
  104. sleep .25
  105. done
  106. printf "\r"
  107. echo " - docker-ce version is now:"
  108. DOCKERV=$(docker -v)
  109. echo " "${DOCKERV}
  110. sleep 3s
  111. if [[ "$OS" == 2 ]]; then
  112. echo " 5. Starting Docker Service"
  113. sudo systemctl docker start >> ~/docker-script-install.log 2>&1
  114. fi
  115. fi
  116. fi
  117. #######################################################
  118. ### Install for Debian / Ubuntu ###
  119. #######################################################
  120. if [[ "$OS" == [234] ]]; then
  121. echo " 1. Installing System Updates... this may take a while...be patient. If it is being done on a Digial Ocean VPS, you should run updates before running this script."
  122. (sudo apt update && sudo apt upgrade -y) > ~/docker-script-install.log 2>&1 &
  123. ## Show a spinner for activity progress
  124. pid=$! # Process Id of the previous running command
  125. spin='-\|/'
  126. i=0
  127. while kill -0 $pid 2>/dev/null
  128. do
  129. i=$(( (i+1) %4 ))
  130. printf "\r${spin:$i:1}"
  131. sleep .1
  132. done
  133. printf "\r"
  134. echo " 2. Install Prerequisite Packages..."
  135. sleep 2s
  136. sudo apt install curl wget git -y >> ~/docker-script-install.log 2>&1
  137. if [[ "$ISACT" != "active" ]]; then
  138. echo " 3. Installing Docker-CE (Community Edition)..."
  139. sleep 2s
  140. curl -fsSL https://get.docker.com | sh >> ~/docker-script-install.log 2>&1
  141. echo " - docker-ce version is now:"
  142. DOCKERV=$(docker -v)
  143. echo " "${DOCKERV}
  144. sleep 3s
  145. if [[ "$OS" == 2 ]]; then
  146. echo " 5. Starting Docker Service"
  147. sudo systemctl start docker >> ~/docker-script-install.log 2>&1
  148. fi
  149. fi
  150. fi
  151. #######################################################
  152. ### Install for CentOS 7 or 8 ###
  153. #######################################################
  154. if [[ "$OS" == "1" ]]; then
  155. if [[ "$DOCK" == [yY] ]]; then
  156. echo " 1. Updating System Packages..."
  157. sudo yum check-update > ~/docker-script-install.log 2>&1
  158. echo " 2. Installing Prerequisite Packages..."
  159. sudo dnf install git curl wget -y >> ~/docker-script-install.log 2>&1
  160. if [[ "$ISACT" != "active" ]]; then
  161. echo " 3. Installing Docker-CE (Community Edition)..."
  162. sleep 2s
  163. (curl -fsSL https://get.docker.com/ | sh) >> ~/docker-script-install.log 2>&1
  164. echo " 4. Starting the Docker Service..."
  165. sleep 2s
  166. sudo systemctl start docker >> ~/docker-script-install.log 2>&1
  167. echo " 5. Enabling the Docker Service..."
  168. sleep 2s
  169. sudo systemctl enable docker >> ~/docker-script-install.log 2>&1
  170. echo " - docker version is now:"
  171. DOCKERV=$(docker -v)
  172. echo " "${DOCKERV}
  173. sleep 3s
  174. fi
  175. fi
  176. fi
  177. #######################################################
  178. ### Install for Arch Linux ###
  179. #######################################################
  180. if [[ "$OS" == "5" ]]; then
  181. read -rp "Do you want to install system updates prior to installing Docker-CE? (y/n): " UPDARCH
  182. if [[ "$UPDARCH" == [yY] ]]; then
  183. echo " 1. Installing System Updates... this may take a while...be patient."
  184. (sudo pacman -Syu --noconfirm) > ~/docker-script-install.log 2>&1 &
  185. ## Show a spinner for activity progress
  186. pid=$! # Process Id of the previous running command
  187. spin='-\|/'
  188. i=0
  189. while kill -0 $pid 2>/dev/null
  190. do
  191. i=$(( (i+1) %4 ))
  192. printf "\r${spin:$i:1}"
  193. sleep .1
  194. done
  195. printf "\r"
  196. else
  197. echo " 1. Skipping system update..."
  198. sleep 2s
  199. fi
  200. echo " 2. Installing Prerequisite Packages..."
  201. sudo pacman -Sy git curl wget --noconfirm >> ~/docker-script-install.log 2>&1
  202. if [[ "$ISACT" != "active" ]]; then
  203. echo " 3. Installing Docker-CE (Community Edition)..."
  204. sleep 2s
  205. sudo pacman -Sy docker --noconfirm >> ~/docker-script-install.log 2>&1
  206. echo " - docker-ce version is now:"
  207. DOCKERV=$(docker -v)
  208. echo " "${DOCKERV}
  209. sleep 3s
  210. fi
  211. fi
  212. #######################################################
  213. ### Install for Open Suse ###
  214. #######################################################
  215. if [[ "$OS" == "6" ]]; then
  216. # install system updates first
  217. read -rp "Do you want to install system updates prior to installing Docker-CE? (y/n): " UPDSUSE
  218. if [[ "$UPDSUSE" == [yY] ]]; then
  219. echo " 1. Installing System Updates... this may take a while...be patient."
  220. (sudo zypper -n update) > docker-script-install.log 2>&1 &
  221. ## Show a spinner for activity progress
  222. pid=$! # Process Id of the previous running command
  223. spin='-\|/'
  224. i=0
  225. while kill -0 $pid 2>/dev/null
  226. do
  227. i=$(( (i+1) %4 ))
  228. printf "\r${spin:$i:1}"
  229. sleep .1
  230. done
  231. printf "\r"
  232. else
  233. echo " 1. Skipping system update..."
  234. sleep 2s
  235. fi
  236. echo " 2. Installing Prerequisite Packages..."
  237. sudo zypper -n install git curl wget >> ~/docker-script-install.log 2>&1
  238. if [[ "$ISACT" != "active" ]]; then
  239. echo " 3. Installing Docker-CE (Community Edition)..."
  240. sleep 2s
  241. sudo zypper -n install docker-compose >> ~/docker-script-install.log 2>&1
  242. sudo zypper -n remove docker-compose
  243. echo "Giving the Docker service time to start..."
  244. sudo systemctl start docker >> ~/docker-script-install.log 2>&1
  245. sleep 5s &
  246. pid=$! # Process Id of the previous running command
  247. spin='-\|/'
  248. i=0
  249. while kill -0 $pid 2>/dev/null
  250. do
  251. i=$(( (i+1) %4 ))
  252. printf "\r${spin:$i:1}"
  253. sleep .1
  254. done
  255. printf "\r"
  256. sudo systemctl enable docker >> ~/docker-script-install.log 2>&1
  257. echo " - docker-ce version is now:"
  258. DOCKERV=$(docker -v)
  259. echo " "${DOCKERV}
  260. sleep 3s
  261. fi
  262. fi
  263. if [[ "$ISACT" != "active" ]]; then
  264. if [[ "$DOCK" == [yY] ]]; then
  265. # add current user to docker group so sudo isn't needed
  266. echo ""
  267. echo " - Attempting to add the currently logged in user to the docker group..."
  268. sleep 2s
  269. sudo usermod -aG docker "${USER}" >> ~/docker-script-install.log 2>&1
  270. echo " - You'll need to log out and back in to finalize the addition of your user to the docker group."
  271. echo ""
  272. echo ""
  273. sleep 3s
  274. fi
  275. fi
  276. if [[ "$DCOMP" = [yY] ]]; then
  277. echo "############################################"
  278. echo "###### Install Docker-Compose ######"
  279. echo "############################################"
  280. # install docker-compose
  281. echo ""
  282. echo " 1. Installing Docker-Compose..."
  283. echo ""
  284. echo ""
  285. sleep 2s
  286. ######################################
  287. ### Install Raspbian / Arm64 ###
  288. ######################################
  289. if [[ "$OS" == "7" ]]; then
  290. echo " 1. Installing dependencies..."
  291. (sudo apt-get install -y libffi-dev libssl-dev python3-dev python3 python3-pip) >> ~/docker-script-install.log 2>&1
  292. # Show our spinner
  293. pid=$ # Process ID of the previous running command
  294. spin='-\|/'
  295. i=0
  296. while kill -0 $pid 2>/dev/null
  297. do
  298. i=$(( (i+1) %4 ))
  299. printf "\r${spin:$i:1}"
  300. sleep .25
  301. done
  302. printf "\r"
  303. (sudo pip3 install docker-compose) >> ~/docker-script-install.log 2>&1
  304. # Show the spinner again...
  305. pid=$ # Process ID of the previous running command
  306. spin='-\|/'
  307. i=0
  308. while kill -0 $pid 2>/dev/null
  309. do
  310. i=$(( (i+1) %4 ))
  311. printf "\r${spin:$i:1}"
  312. sleep .25
  313. done
  314. printf "\r"
  315. fi
  316. ######################################
  317. ### Install Debian / Ubuntu ###
  318. ######################################
  319. if [[ "$OS" == "2" || "$OS" == "3" || "$OS" == "4" ]]; then
  320. VERSION=$(curl --silent https://api.github.com/repos/docker/compose/releases/latest | grep -Po '"tag_name": "\K.*\d')
  321. sudo curl -SL https://github.com/docker/compose/releases/download/$VERSION/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
  322. #sudo curl -L "https://github.com/docker/compose/releases/download/$(curl https://github.com/docker/compose/releases | grep -m1 '<a href="/docker/compose/releases/download/' | grep -o 'v[0-9:].[0-9].[0-9]')/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  323. sleep 2
  324. sudo chmod +x /usr/local/bin/docker-compose
  325. fi
  326. ######################################
  327. ### Install CentOS 7 or 8 ###
  328. ######################################
  329. if [[ "$OS" == "1" ]]; then
  330. VERSION=$(curl --silent https://api.github.com/repos/docker/compose/releases/latest | grep -Po '"tag_name": "\K.*\d')
  331. sudo curl -SL https://github.com/docker/compose/releases/download/$VERSION/docker-compose-linux-x86_64 -o /usr/bin/docker-compose >> ~/docker-script-install.log 2>&1
  332. sudo chmod +x /usr/bin/docker-compose >> ~/docker-script-install.log 2>&1
  333. fi
  334. ######################################
  335. ### Install Arch Linux ###
  336. ######################################
  337. if [[ "$OS" == "5" ]]; then
  338. sudo pacman -Sy docker-compose --noconfirm > ~/docker-script-install.log 2>&1
  339. fi
  340. ######################################
  341. ### Install Open Suse ###
  342. ######################################
  343. if [[ "$OS" == "6" ]]; then
  344. VERSION=$(curl --silent https://api.github.com/repos/docker/compose/releases/latest | grep -Po '"tag_name": "\K.*\d')
  345. sudo curl -SL https://github.com/docker/compose/releases/download/$VERSION/docker-compose-linux-x86_64 -o /usr/bin/docker-compose >> ~/docker-script-install.log 2>&1
  346. sudo chmod +x /usr/bin/docker-compose >> ~/docker-script-install.log 2>&1
  347. fi
  348. echo ""
  349. echo " - Docker Compose Version is now: "
  350. DOCKCOMPV=$(docker-compose --version)
  351. echo " "${DOCKCOMPV}
  352. echo ""
  353. echo ""
  354. sleep 3s
  355. fi
  356. ##########################################
  357. #### Test if Docker Service is Running ###
  358. ##########################################
  359. ISACT=$( (sudo systemctl is-active docker ) 2>&1 )
  360. if [[ "$ISACt" != "active" ]]; then
  361. echo "Giving the Docker service time to start..."
  362. while [[ "$ISACT" != "active" ]] && [[ $X -le 10 ]]; do
  363. sudo systemctl start docker >> ~/docker-script-install.log 2>&1
  364. sleep 10s &
  365. pid=$! # Process Id of the previous running command
  366. spin='-\|/'
  367. i=0
  368. while kill -0 $pid 2>/dev/null
  369. do
  370. i=$(( (i+1) %4 ))
  371. printf "\r${spin:$i:1}"
  372. sleep .1
  373. done
  374. printf "\r"
  375. ISACT=`sudo systemctl is-active docker`
  376. let X=X+1
  377. echo "$X"
  378. done
  379. fi
  380. echo "################################################"
  381. echo "###### Creating a Docker Network #######"
  382. echo "################################################"
  383. sudo docker network create my-main-net
  384. sleep 2s
  385. # move to home directory of user
  386. cd
  387. if [[ "$NPM" == [yY] ]]; then
  388. echo "##########################################"
  389. echo "### Install NGinX Proxy Manager ###"
  390. echo "##########################################"
  391. # pull an nginx proxy manager docker-compose file from github
  392. echo " 1. Pulling a default NGinX Proxy Manager docker-compose.yml file."
  393. mkdir -p docker/nginx-proxy-manager
  394. cd docker/nginx-proxy-manager
  395. curl https://gitlab.com/bmcgonag/docker_installs/-/raw/main/docker_compose.nginx_proxy_manager.yml -o docker-compose.yml >> ~/docker-script-install.log 2>&1
  396. echo " 2. Running the docker-compose.yml to install and start NGinX Proxy Manager"
  397. echo ""
  398. echo ""
  399. if [[ "$OS" == "1" ]]; then
  400. docker-compose up -d
  401. else
  402. sudo docker-compose up -d
  403. fi
  404. echo " 3. You can find NGinX Proxy Manager files at ./docker/nginx-proxy-manager"
  405. echo ""
  406. echo " Navigate to your server hostname / IP address on port 81 to setup"
  407. echo " NGinX Proxy Manager admin account."
  408. echo ""
  409. echo " The default login credentials for NGinX Proxy Manager are:"
  410. echo " username: admin@example.com"
  411. echo " password: changeme"
  412. echo ""
  413. sleep 3s
  414. cd
  415. fi
  416. if [[ "$PORT" == "1" ]]; then
  417. echo "########################################"
  418. echo "### Installing Portainer-CE ###"
  419. echo "########################################"
  420. echo ""
  421. echo " 1. Preparing to Install Portainer-CE"
  422. echo ""
  423. echo " 2. Creating the folder structure for Portainer."
  424. echo " 3. You can find Portainer-CE files in ./docker/portainer"
  425. #sudo docker volume create portainer_data >> ~/docker-script-install.log 2>&1
  426. mkdir -p docker/portainer/portainer_data
  427. cd docker/portainer
  428. curl https://gitlab.com/bmcgonag/docker_installs/-/raw/main/docker_compose_portainer_ce.yml -o docker-compose.yml >> ~/docker-script-install.log 2>&1
  429. echo ""
  430. if [[ "$OS" == "1" ]]; then
  431. docker-compose up -d
  432. else
  433. sudo docker-compose up -d
  434. fi
  435. echo ""
  436. echo " Navigate to your server hostname / IP address on port 9000 and create your admin account for Portainer-CE"
  437. echo ""
  438. echo ""
  439. echo ""
  440. sleep 3s
  441. cd
  442. fi
  443. if [[ "$PORT" == "2" ]]; then
  444. echo "###########################################"
  445. echo "### Installing Portainer Agent ###"
  446. echo "###########################################"
  447. echo ""
  448. echo " 1. Preparing to install Portainer Agent"
  449. echo " 2. Creating the folder structure for Portainer."
  450. echo " 3. You can find Portainer-Agent files in ./docker/portainer"
  451. sudo docker volume create portainer_data
  452. mkdir -p docker/portainer
  453. cd docker/portainer
  454. curl https://gitlab.com/bmcgonag/docker_installs/-/raw/main/docker_compose_portainer_ce_agent.yml -o docker-compose.yml >> ~/docker-script-install.log 2>&1
  455. echo ""
  456. if [[ "$OS" == "1" ]]; then
  457. docker-compose up -d
  458. else
  459. sudo docker-compose up -d
  460. fi
  461. echo ""
  462. echo " From Portainer or Portainer-CE add this Agent instance via the 'Endpoints' option in the left menu."
  463. echo " #### Use the IP address of this server and port 9001"
  464. echo ""
  465. echo ""
  466. echo ""
  467. sleep 3s
  468. cd
  469. fi
  470. if [[ "$NAVID" == [yY] ]]; then
  471. echo "###########################################"
  472. echo "### Installing Navidrome ###"
  473. echo "###########################################"
  474. echo ""
  475. echo " 1. Preparing to install Navidrome"
  476. mkdir -p docker/navidrome
  477. cd docker/navidrome
  478. curl https://gitlab.com/bmcgonag/docker_installs/-/raw/main/docker_compose_navidrome.yml -o docker-compose.yml >> ~/docker-script-install.log 2>&1
  479. echo " 2. Running the docker-compose.yml to install and start Navidrome"
  480. echo ""
  481. echo ""
  482. if [[ "$OS" == "1" ]]; then
  483. docker-compose up -d
  484. else
  485. sudo docker-compose up -d
  486. fi
  487. echo " 3. You can find your Navidrome files in ./docker/navidrome"
  488. echo ""
  489. echo " Navigate to your server hostname / IP address on port 4533 to setup"
  490. echo " your new Navidrome admin account."
  491. echo ""
  492. sleep 3s
  493. cd
  494. fi
  495. if [[ "$REMOTELY" == [yY] ]]; then
  496. echo "##########################################"
  497. echo "### Install Remotely ###"
  498. echo "##########################################"
  499. # pull a remotely docker-compose file from gitlab
  500. echo " 1. Pulling a default Remotely docker-compose.yml file."
  501. mkdir -p docker/remotely
  502. cd docker/remotely
  503. curl https://gitlab.com/bmcgonag/docker_installs/-/raw/main/docker_compose_remotely.yml -o docker-compose.yml >> ~/docker-script-install.log 2>&1
  504. echo ""
  505. echo ""
  506. echo " 2. Running the docker-compose.yml to pull and start Remotely..."
  507. echo ""
  508. if [[ "$OS" == "1" ]]; then
  509. docker-compose up -d
  510. else
  511. sudo docker-compose up -d
  512. fi
  513. echo " 3. You can find the Remotely folder at ~/docker/remotely..."
  514. echo ""
  515. echo " Navigate to your server hostname / IP address on port 8188 to setup"
  516. echo " your new Remotely installation."
  517. echo ""
  518. echo " You will likely want to create a reverse proxy entry in NGinX Proxy Manager"
  519. echo " for your new Remotely server. If so, also make sure to set the"
  520. echo " 'Require https' option in the Remotely Settings."
  521. echo ""
  522. echo ""
  523. sleep 3s
  524. cd
  525. fi
  526. if [[ "$GUAC" == [yY] ]]; then
  527. echo "##########################################"
  528. echo "### Installing Guacamole ###"
  529. echo "##########################################"
  530. # pull a guacamole docker-compose file from gitlab
  531. echo " 1. Pulling a default Guacamole docker-compose.yml file."
  532. mkdir -p docker/guacamole
  533. cd docker/guacamole
  534. curl https://gitlab.com/bmcgonag/docker_installs/-/raw/main/docker_compose_guacamole.yml -o docker-compose.yml >> ~/docker-script-install.log 2>&1
  535. echo ""
  536. echo ""
  537. echo " 2. Running the docker-compose.yml to pull and start Guacamole..."
  538. echo ""
  539. if [[ "$OS" == "1" ]]; then
  540. docker-compose up -d
  541. else
  542. sudo docker-compose up -d
  543. fi
  544. echo " 3. You can find the Guacamole folder at ~/docker/guacamole..."
  545. echo ""
  546. echo " You can now navigate in your browser to yoru server IP at"
  547. echo " port number 8080 to reach the Guacamole login page."
  548. echo ""
  549. echo " Use the default credentials to loging the first time:"
  550. echo " username: guacadmin"
  551. echo " password: guacadmin"
  552. echo ""
  553. echo " It is highly recommended that you create a new admin user, and"
  554. echo " delete / disable the default user."
  555. echo ""
  556. echo ""
  557. sleep 3s
  558. cd
  559. fi
  560. echo "All docker applications have been added to the docker network my-main-net"
  561. echo ""
  562. echo "If you add more docker applications to this server, make sure to add them to the my-main-net network."
  563. echo "You can then use them by container name in NGinX Proxy Manager if so desired."
  564. exit 1
  565. }
  566. echo ""
  567. echo ""
  568. clear
  569. echo ""
  570. echo ""
  571. echo "Let's figure out which OS / Distro you are running."
  572. echo ""
  573. echo ""
  574. echo " From some basic information on your system, you appear to be running: "
  575. echo " -- OS Name " $(lsb_release -i)
  576. echo " -- Description " $(lsb_release -d)
  577. echo " -- OS Version " $(lsb_release -r)
  578. echo " -- Code Name " $(lsb_release -c)
  579. echo ""
  580. echo "------------------------------------------------------"
  581. echo ""
  582. PS3="Please select the number for your OS / distro: "
  583. select _ in \
  584. "CentOS 7 / 8 / Fedora" \
  585. "Debian 10 / 11" \
  586. "Ubuntu 18.04" \
  587. "Ubuntu 20.04 / 21.04 / 22.04+" \
  588. "Arch Linux" \
  589. "Open Suse"\
  590. "Arm64 / Raspbian"\
  591. "End this Installer"
  592. do
  593. case $REPLY in
  594. 1) installApps ;;
  595. 2) installApps ;;
  596. 3) installApps ;;
  597. 4) installApps ;;
  598. 5) installApps ;;
  599. 6) installApps ;;
  600. 7) installApps ;;
  601. 8) exit ;;
  602. *) echo "Invalid selection, please try again..." ;;
  603. esac
  604. done