nkgitwebhook

1.0.0 • Public • Published

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

Readme

Keywords

none

Package Sidebar

Install

npm i nkgitwebhook

Weekly Downloads

0

Version

1.0.0

License

ISC

Unpacked Size

4.8 kB

Total Files

5

Last publish

Collaborators

  • encke