1.0.0 • Published 4 years ago

nkgitwebhook v1.0.0

Weekly downloads
4
License
ISC
Repository
github
Last release
4 years ago

NKGitwebhook

GIT Webhook connection for PM2

How to install

Install your webstack #apt update; apt -y upgrade; apt -y autoremove; apt install -y mongodb npm certbot nginx python-certbot-nginx git-hub; npm install -g pm2; pm2 startup

edit your hostname #echo "mydomain.com" > /etc/hostname

generate a private deploy key with no passphrase #ssh-keygen -t rsa -b 4096 -C "your email" ; cat /home/ubuntu/.ssh/id_rsa.pub Save this result in Github under Settings -> deploy keys you DO NOT need write access for this hook

Modify your /etc/nginx/sites-available/defualt server { listen 80; listen :::80; server_name mycoolserver.com; root /var/www/html; index index.html index.html; location / { try_files $uri $uri/ =404; } }

#systemctl restart nginx ; certbot certonly --nginx

Clone and install the githook

mkdir /var/www/GITwebhook/; cd /var/www/GITwebhook/; git clone https://github.com/Encke/NKGitwebhook .; npm i

then modift your config.json to match your settings #nano config.json { "sslCert": "/etc/letsencrypt/live/mycoolserver.com", //What SSL Certificate will we use "deployTo": "/var/www/html/", //Where should we deploy the GIT Repo "chownUser": "ubuntu" //Which user needs to own the files }

#pm2 start index.js ; pm2 save

Add the hook in GitHub https://mycoolserver.com:3420/ set to post only the event

Modify your /etc/nginx/sites-available/defualt server { listen 80; listen :::80; server_name mycoolserver.com; root /var/www/html; index index.html index.html; location / { try_files $uri $uri/ =404; } listen 443 ssl; # managed by Certbot ssl_certificate /etc/letsencrypt/live/mycoolserver.com/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/mycoolserver.com/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot } #systemctl restart nginx