├── README.md ├── dashboard-running.json ├── easy-install.sh ├── fresh-install.sh ├── parse-dashboard-config.json └── ubuntu-18.04 ├── README.md ├── app.domain.conf ├── dash.domain.conf ├── dashboard-running.json ├── dns.png ├── key.png ├── parse-dashboard-config.json ├── parse.png ├── pd-u18.04-install.sh ├── sshconsole.png └── ssl.png /README.md: -------------------------------------------------------------------------------- 1 | 2 | # Updated version of this script available here please use this one 3 | https://goo.gl/8cSZyx 4 | -------------------------------------------------------------------------------- /dashboard-running.json: -------------------------------------------------------------------------------- 1 | { 2 | "apps" : [{ 3 | "name" : "parse-dashboard-wrapper", 4 | "script" : "parse-dashboard", 5 | "watch" : true, 6 | "merge_logs" : true, 7 | "cwd" : "/root/parse-server-example/", 8 | "args" : "--config /root/parse-server-example/parse-dashboard-config.json --allowInsecureHTTP=1" 9 | }] 10 | } 11 | -------------------------------------------------------------------------------- /easy-install.sh: -------------------------------------------------------------------------------- 1 | echo 'Wellcome to Parse Server and Dashboard on Ubuntu install script'; 2 | sleep 2; 3 | cd ~ 4 | echo 'installing python-software-properties'; 5 | sleep 2; 6 | apt-get install -y build-essential git python-software-properties 7 | 8 | echo 'installing Node Js'; 9 | sleep 2; 10 | 11 | curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - 12 | apt-get install -y nodejs 13 | apt-get install -y build-essential 14 | 15 | echo 'installing Mongo DB'; 16 | sleep 2; 17 | 18 | sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 19 | echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list 20 | apt-get update 21 | apt-get install -y mongodb-org 22 | service mongod start 23 | 24 | echo 'Installing Parse Server Dashboard and PM2'; 25 | sleep 2; 26 | 27 | npm install -g parse-server mongodb-runner parse-dashboard pm2@latest --no-optional --no-shrinkwrap 28 | git clone https://github.com/ParsePlatform/parse-server-example.git 29 | cd parse-server-example 30 | 31 | echo 32 | echo 'Downloading Parse Server Dashboard Configrtion Files'; 33 | sleep 2; 34 | 35 | sudo curl https://raw.githubusercontent.com/bajpangosh/Install-Parse-Server-on-Ubuntu/master/parse-dashboard-config.json > parse-dashboard-config.json 36 | sudo curl https://raw.githubusercontent.com/bajpangosh/Install-Parse-Server-on-Ubuntu/master/dashboard-running.json > dashboard-running.json 37 | npm -g install 38 | echo 39 | echo 'Adding APP_ID and MASTER_KEY'; 40 | sleep 2; 41 | sudo sed -i "s/appId: process.env.APP_ID || .*/appId: process.env.APP_ID || 'KLOUDBOY123',/" /root/parse-server-example/index.js 42 | sudo sed -i "s/masterKey: process.env.MASTER_KEY || .*/masterKey: process.env.MASTER_KEY || 'KLOUDBOY456',/" /root/parse-server-example/index.js 43 | echo 'Happy Ending'; 44 | echo 45 | pm2 start index.js && pm2 startup 46 | pm2 start dashboard-running.json && pm2 startup 47 | pm2 status 48 | -------------------------------------------------------------------------------- /fresh-install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # GET ALL USER INPUT 3 | 4 | echo 'Wellcome to Parse Server and Dashboard on Ubuntu install script'; 5 | sleep 2; 6 | 7 | echo "Domain Name (eg. example.com)?" 8 | read DOMAIN 9 | 10 | echo "Domain Name (eg. example.com)?" 11 | read APP_ID 12 | echo "Domain Name (eg. example.com)?" 13 | read MASTER_KEY 14 | 15 | 16 | cd ~ 17 | echo 'installing python-software-properties'; 18 | sleep 2; 19 | apt-get install -y build-essential git python-software-properties 20 | 21 | echo 'installing Node Js'; 22 | sleep 2; 23 | 24 | curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - 25 | apt-get install -y nodejs 26 | apt-get install -y build-essential 27 | 28 | echo 'installing Mongo DB'; 29 | sleep 2; 30 | 31 | sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 32 | echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list 33 | apt-get update 34 | apt-get install -y mongodb-org 35 | service mongod start 36 | 37 | echo 'Installing Parse Server Dashboard and PM2'; 38 | sleep 2; 39 | 40 | npm install -g parse-server mongodb-runner parse-dashboard pm2@latest --no-optional --no-shrinkwrap 41 | git clone https://github.com/ParsePlatform/parse-server-example.git 42 | cd parse-server-example 43 | 44 | echo 45 | echo 'Downloading Parse Server Dashboard Configrtion Files'; 46 | sleep 2; 47 | 48 | sudo curl https://raw.githubusercontent.com/bajpangosh/Install-Parse-Server-on-Ubuntu/master/parse-dashboard-config.json > parse-dashboard-config.json 49 | sudo curl https://raw.githubusercontent.com/bajpangosh/Install-Parse-Server-on-Ubuntu/master/dashboard-running.json > dashboard-running.json 50 | npm -g install 51 | echo 52 | echo 'Adding APP_ID and MASTER_KEY'; 53 | sleep 2; 54 | sudo sed -i "s/appId: process.env.APP_ID || .*/appId: process.env.APP_ID || '$APP_ID',/" /root/parse-server-example/index.js 55 | sudo sed -i "s/masterKey: process.env.MASTER_KEY || .*/masterKey: process.env.MASTER_KEY || '$MASTER_KEY',/" /root/parse-server-example/index.js 56 | echo 'Happy Ending'; 57 | echo 58 | pm2 start index.js && pm2 startup 59 | pm2 start dashboard-running.json && pm2 startup 60 | pm2 status 61 | -------------------------------------------------------------------------------- /parse-dashboard-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "apps": [ 3 | { 4 | "serverURL": "http://localhost:1337/parse", 5 | "appId": "KLOUDBOY123", 6 | "masterKey": "KLOUDBOY456", 7 | "appName": "KLOUDBOY" 8 | } 9 | ], 10 | "users": [ 11 | { 12 | "user":"admin", 13 | "pass":"kloudboy" 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /ubuntu-18.04/README.md: -------------------------------------------------------------------------------- 1 | # How To Run Parse Server and Parse Dashboard on Ubuntu 18.04 2 | > This bash script is that fastest way to install Parse Server and Parse Dashboard on your server. 3 | ## Use only on Ubuntu 18.04.1 LTS (Bionic Beaver) 4 | 5 | ![](parse.png) 6 | 7 | ## Installation & Usage 8 | 9 | ## Step 1 10 | Add your domain to [cloudflare](https://www.cloudflare.com/) 11 | 12 | ## Step 2 13 | ![](ssl.png) 14 | 15 | Activate FULL SSL. 16 | 17 | ## Step 3 18 | ![](dns.png) 19 | 20 | add 2 sub-domains with your VPS ip A record. 21 | app.yourdomain.com 22 | dash.yourdomain.com 23 | 24 | ## Step 4 25 | ssh login to your vps (root) 26 | 27 | paste below code and press ENTER. 28 | 29 | ```sh 30 | wget -qO pd-u18-04 run.kloudboy.com/pd-u18-04 && sudo bash pd-u18-04 31 | ``` 32 | ## Step 5 33 | ![](sshconsole.png) 34 | 35 | it will ask you your domain name and app name then press ENTER. 36 | 37 | ## Step 6 38 | the Installation will start. after sometime you need to fill or press Enter in SSL certificate generator. 39 | 40 | ## Step 7 41 | ![](key.png) 42 | 43 | After successful Installation your Credentials shows (take a copy to notepad and save it.). 44 | you can login to Parse Dashboard. https://dash.yourdomain.com (username is admin) 45 | 46 | ## Features 47 | 48 | > parse-server@3.1.3 49 | 50 | > parse-dashboard@1.2.0 51 | 52 | > mongodb-runner@4.7.1 53 | 54 | > Nginx (updated) 55 | 56 | > Node js v11.7.0 57 | 58 | > pm2@3.2.9 59 | 60 | > Cloudflare Full SSL 61 | 62 | ## Author 63 | 64 | Bajpan Gosh – [@bajpangosh](https://twitter.com/bajpangosh) – bajpan@kloudboy.com 65 | 66 | I'm a freelancer living in Kerala, India. I mostly do server administration, bash stuffs and love them 67 | 68 | Currently I'm making lots of easy install bash scripts, web tools, websites and apps to help people solve problems, if you enjoy my works please consider making a donation 💕. My ultimate goal is to become a full-time open-source ninja. 69 | 70 | [![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/O4O41E4TQ) 71 | 72 | [![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.me/bajpangosh) 73 | 74 | ## NEED HELP? 75 | 76 | A team of dedicated Cloud Server Administrators assures 24/7 availability of experts for all levels of your server management requirements. 77 | 78 | I'd be glad to help you if you have any questions relating to this script. No guarantees, but I'll do my best to assist. 79 | 80 | Support via Facebook, Twitter, Email @ Ticket 81 | 82 | email :-support@kloudboy.com 83 | 84 | facebook :- https://m.me/TeamKloudBoy 85 | 86 | twitter :- https://twitter.com/TeamKloudBoy 87 | 88 | ticket :-https://kloudboy.freshdesk.com/support/home 89 | 90 | https://kloudboy.com/ 91 | 92 | ## Thanks 93 | 94 | Your boy, KLOUDBOY.💕 95 | -------------------------------------------------------------------------------- /ubuntu-18.04/app.domain.conf: -------------------------------------------------------------------------------- 1 | # HTTPS — proxy all requests to the Node.js App KLOUDBOY.COM 2 | server { 3 | # Enable HTTP/2 4 | listen 443 ssl http2; 5 | listen [::]:443 ssl http2; 6 | server_name app.example.com; 7 | 8 | # Use the Cloudflare FULL SSL certificates 9 | ssl_certificate /etc/nginx/ssl/nginx.crt; 10 | ssl_certificate_key /etc/nginx/ssl/nginx.key; 11 | ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 12 | ssl_prefer_server_ciphers on; 13 | ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; 14 | ssl_dhparam /etc/nginx/ssl/dhparam.pem; 15 | ssl_session_cache shared:SSL:20m; 16 | ssl_session_timeout 180m; 17 | resolver 8.8.8.8 8.8.4.4; 18 | add_header Strict-Transport-Security "max-age=31536000" always; 19 | 20 | location / { 21 | proxy_set_header X-Real-IP $remote_addr; 22 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 23 | proxy_set_header X-NginX-Proxy true; 24 | proxy_pass http://127.0.0.1:1337; 25 | proxy_ssl_session_reuse off; 26 | proxy_set_header Host $http_host; 27 | proxy_cache_bypass $http_upgrade; 28 | proxy_redirect off; 29 | } 30 | } 31 | 32 | server { 33 | listen 80; 34 | listen [::]:80; 35 | server_name app.example.com; 36 | return 301 https://$server_name$request_uri; 37 | } 38 | -------------------------------------------------------------------------------- /ubuntu-18.04/dash.domain.conf: -------------------------------------------------------------------------------- 1 | # HTTPS — proxy all requests to the Node.js App KLOUDBOY.COM 2 | server { 3 | # Enable HTTP/2 4 | listen 443 ssl http2; 5 | listen [::]:443 ssl http2; 6 | server_name dash.example.com; 7 | 8 | # Use the Cloudflare FULL SSL certificates 9 | ssl_certificate /etc/nginx/ssl/nginx.crt; 10 | ssl_certificate_key /etc/nginx/ssl/nginx.key; 11 | ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 12 | ssl_prefer_server_ciphers on; 13 | ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; 14 | ssl_dhparam /etc/nginx/ssl/dhparam.pem; 15 | ssl_session_cache shared:SSL:20m; 16 | ssl_session_timeout 180m; 17 | resolver 8.8.8.8 8.8.4.4; 18 | add_header Strict-Transport-Security "max-age=31536000" always; 19 | 20 | location / { 21 | proxy_set_header X-Real-IP $remote_addr; 22 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 23 | proxy_set_header X-NginX-Proxy true; 24 | proxy_pass http://127.0.0.1:4040; 25 | proxy_ssl_session_reuse off; 26 | proxy_set_header Host $http_host; 27 | proxy_cache_bypass $http_upgrade; 28 | proxy_redirect off; 29 | } 30 | } 31 | 32 | server { 33 | listen 80; 34 | listen [::]:80; 35 | server_name dash.example.com; 36 | return 301 https://$server_name$request_uri; 37 | } 38 | -------------------------------------------------------------------------------- /ubuntu-18.04/dashboard-running.json: -------------------------------------------------------------------------------- 1 | { 2 | "apps" : [{ 3 | "name" : "parse-dashboard-wrapper", 4 | "script" : "parse-dashboard", 5 | "watch" : true, 6 | "merge_logs" : true, 7 | "cwd" : "/root/APP_NAME/", 8 | "args" : "--config /root/APP_NAME/parse-dashboard-config.json --allowInsecureHTTP=1" 9 | }] 10 | } 11 | -------------------------------------------------------------------------------- /ubuntu-18.04/dns.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajpangosh/Install-Parse-Server-on-Ubuntu/9d089b9dfa9e175955e174ae4e1a3d90b7fcc74c/ubuntu-18.04/dns.png -------------------------------------------------------------------------------- /ubuntu-18.04/key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajpangosh/Install-Parse-Server-on-Ubuntu/9d089b9dfa9e175955e174ae4e1a3d90b7fcc74c/ubuntu-18.04/key.png -------------------------------------------------------------------------------- /ubuntu-18.04/parse-dashboard-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "apps": [ 3 | { 4 | "serverURL": "https://app.DOMAIN/parse", 5 | "appId": "APP_ID", 6 | "masterKey": "MASTER_KEY", 7 | "appName": "APP_NAME", 8 | "iconName": "MyAppIcon.png", 9 | "supportedPushLocales": ["en", "ru", "fr"] 10 | } 11 | ], 12 | 13 | "users": [ 14 | { 15 | "user":"admin", 16 | "pass":"PASS" 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /ubuntu-18.04/parse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajpangosh/Install-Parse-Server-on-Ubuntu/9d089b9dfa9e175955e174ae4e1a3d90b7fcc74c/ubuntu-18.04/parse.png -------------------------------------------------------------------------------- /ubuntu-18.04/pd-u18.04-install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # GET ALL USER INPUT 3 | echo "Domain Name (eg. example.com)?" 4 | read DOMAIN 5 | echo "App name (eg. kloudboy)?" 6 | read APP_NAME 7 | tput setaf 2; echo 'Wellcome to Parse Server and Dashboard on Ubuntu 18.04 install bash script'; 8 | sleep 2; 9 | tput sgr0 10 | cd ~ 11 | tput setaf 2; echo 'installing Node Js and Nginx Server'; 12 | sleep 2; 13 | tput sgr0 14 | apt-get update 15 | curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash - 16 | sudo apt-get install -y nodejs pwgen nginx 17 | 18 | tput setaf 2; echo "Sit back and relax :) ......" 19 | sleep 2; 20 | tput sgr0 21 | cd /etc/nginx/sites-available/ 22 | sudo wget -O "app.$DOMAIN" https://goo.gl/2H3uGq 23 | sudo sed -i -e "s/app.example.com/app.$DOMAIN/" "app.$DOMAIN" 24 | 25 | sudo wget -O "dash.$DOMAIN" https://goo.gl/VZhPLP 26 | sudo sed -i -e "s/dash.example.com/dash.$DOMAIN/" "dash.$DOMAIN" 27 | 28 | sudo ln -s /etc/nginx/sites-available/"app.$DOMAIN" /etc/nginx/sites-enabled/ 29 | sudo ln -s /etc/nginx/sites-available/"dash.$DOMAIN" /etc/nginx/sites-enabled/ 30 | 31 | tput setaf 2; echo "Setting up Cloudflare FULL SSL" 32 | sleep 2; 33 | tput sgr0 34 | sudo mkdir /etc/nginx/ssl 35 | sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt 36 | sudo openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048 37 | cd /etc/nginx/ 38 | sudo mv nginx.conf nginx.conf.backup 39 | sudo wget -O nginx.conf https://goo.gl/7UBeQS 40 | sudo systemctl reload nginx 41 | 42 | tput setaf 2; echo 'installing Mongo DB'; 43 | sleep 2; 44 | tput sgr0 45 | sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 46 | echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list 47 | apt-get update 48 | apt-get install -y mongodb-org 49 | service mongod start 50 | cd ~ 51 | tput setaf 2; echo 'Installing Parse Server Dashboard and PM2'; 52 | sleep 2; 53 | tput sgr0 54 | git clone https://github.com/ParsePlatform/parse-server-example.git $APP_NAME 55 | cd $APP_NAME 56 | npm install -g parse-server mongodb-runner parse-dashboard pm2@latest --no-optional --no-shrinkwrap 57 | echo 58 | tput setaf 2; echo 'Downloading Parse Server Dashboard Configrtion Files'; 59 | sleep 2; 60 | 61 | sudo curl https://raw.githubusercontent.com/bajpangosh/Install-Parse-Server-on-Ubuntu/master/ubuntu-18.04/parse-dashboard-config.json > parse-dashboard-config.json 62 | sudo curl https://raw.githubusercontent.com/bajpangosh/Install-Parse-Server-on-Ubuntu/master/ubuntu-18.04/dashboard-running.json > dashboard-running.json 63 | npm -g install 64 | echo 65 | tput setaf 2; echo 'Adding APP_ID and MASTER_KEY'; 66 | sleep 2; 67 | tput sgr0 68 | APP_ID=`pwgen -s 24 1` 69 | sudo sed -i "s/appId: process.env.APP_ID || .*/appId: process.env.APP_ID || '$APP_ID',/" /root/$APP_NAME/index.js 70 | sudo sed -i -e "s/APP_ID/$APP_ID/" "/root/$APP_NAME/parse-dashboard-config.json" 71 | sudo sed -i -e "s/APP_NAME/$APP_NAME/" "/root/$APP_NAME/parse-dashboard-config.json" 72 | sudo sed -i -e "s/DOMAIN/$DOMAIN/" "/root/$APP_NAME/parse-dashboard-config.json" 73 | sudo sed -i -e "s/APP_NAME/$APP_NAME/" "/root/$APP_NAME/dashboard-running.json" 74 | sudo sed -i -e "s/localhost:1337/app.$DOMAIN/" "/root/$APP_NAME/index.js" 75 | sudo sed -i -e "s/http/https/" "/root/$APP_NAME/index.js" 76 | MASTER_KEY=`pwgen -s 26 1` 77 | sudo sed -i "s/masterKey: process.env.MASTER_KEY || .*/masterKey: process.env.MASTER_KEY || '$MASTER_KEY',/" /root/$APP_NAME/index.js 78 | sudo sed -i -e "s/MASTER_KEY/$MASTER_KEY/" "/root/$APP_NAME/parse-dashboard-config.json" 79 | 80 | PASS=`pwgen -s 9 1` 81 | sudo sed -i -e "s/PASS/$PASS/" "/root/$APP_NAME/parse-dashboard-config.json" 82 | tput setaf 2; echo 'Enable pm2'; 83 | echo 84 | tput sgr0 85 | pm2 start index.js && pm2 startup 86 | pm2 start dashboard-running.json && pm2 startup 87 | echo 88 | echo 89 | tput setaf 2; echo "Here is your Credentials" 90 | echo "--------------------------------" 91 | echo "APP_ID: $APP_ID" 92 | echo 93 | echo "MASTER_KEY: $MASTER_KEY" 94 | echo 95 | echo "App: https://app.$DOMAIN" 96 | echo "Dashboard: https://dash.$DOMAIN" 97 | echo 98 | echo "Username: admin" 99 | echo "Password: $PASS" 100 | echo "--------------------------------" 101 | tput sgr0 102 | echo 103 | echo 104 | tput setaf 3; echo "Installation & configuration succesfully finished." 105 | echo 106 | echo "Twitter @TeamKloudboy" 107 | echo "E-mail: support@kloudboy.com" 108 | echo "Bye! Your boy KLOUDBOY!" 109 | tput sgr0 110 | -------------------------------------------------------------------------------- /ubuntu-18.04/sshconsole.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajpangosh/Install-Parse-Server-on-Ubuntu/9d089b9dfa9e175955e174ae4e1a3d90b7fcc74c/ubuntu-18.04/sshconsole.png -------------------------------------------------------------------------------- /ubuntu-18.04/ssl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajpangosh/Install-Parse-Server-on-Ubuntu/9d089b9dfa9e175955e174ae4e1a3d90b7fcc74c/ubuntu-18.04/ssl.png --------------------------------------------------------------------------------