Using LetsEncrypt SSL with a NO-IP site and ERPNext V15 Development

My new site is up and running pretty darn well.

I am using a mini PC running Ubuntu 24.04.1 at home.
I have a paid No-IP site (my-site.hopto.org) that points to my home IP address with a script that updates the IP address when it changes dynamically and I port forward port 80 to the LAN IP of my server.

Works flawlessly.

I feel as though I should get an SSL certificate. I’m not actually sure why because I only have a handful of customers and I haven’t had any issues with just having the http as opposed to https. I feel as though this is something I am going to need if I want more electronic interaction with my customers. For example teach them how to log in and re-order on their own.

I have the following procedure to install the certificate to my local site but I am curious if I have to do anything on the LetsEncrypt website first. Like register or get a key from them or something or is it just as easy as running the following commands:

bench setup add-domain my-site.hopto.org --ssl-certificate /etc/letsencrypt/live/erpnext.cert --ssl-certificate-key /etc/letsencrypt/live/erpnext.key

Domain configuration is stored in my site’s site_config.json

“domains”: [ { “ssl_certificate”: “/etc/letsencrypt/live/erpnext.cert”, “domain”: “hopto.org”, “ssl_certificate_key”: “/etc/letsencrypt/live/erpnext.key” } ],

Regenerate the nginx configuration by runnning bench setup nginx and reload the nginx service by running sudo service nginx reload to put your custom domain in effect

Is this really all I need to do? Besides maybe updating the certificate every few months?

Hi there,

Since your website is accessible on the internet using port 80, you can secure it with SSL by following these steps. This will automatically renew your certificate every 90 days.

Remember to forward port 443 to your server as well. Once the SSL certificate is installed, you’ll be able to access your website using HTTPS (instead of HTTP).

  1. Setup SSL Certificate with following command for the newly added site
bench setup nginx
  1. Run the following command to issue the SSL certificate
sudo certbot --nginx
  1. Run the following command to restart the nginx service
sudo service nginx reload

Thanks,

Divyesh Mangroliya

That didn,t work.

When I enter:
sudo certbot --nginx

I get:
sudo: certbot: command not found

u need to install the certbot:

  1. Update the package list:
sudo apt update

2.Install Certbot:

sudo apt install certbot python3-certbot-nginx
  1. Run Certbot for Nginx
sudo certbot --nginx

and finally the restart the nginx server

that worked perfectly!

1 Like