ERPNext letsencrypt not working for development

I was following the ssl letsencrypt instructions found here: Using Let's Encrypt to setup HTTPS
But still bench start runs on port 8001 and no ssl is set.
The sudo service nginx restart also complains that no such service is found as I did not install nginx as the instructions did not specify to do so for development. Can I only run ssl in production? If so, how do I switch the bench to run my site in production mode?

sudo apt-get install supervisor
sudo apt-get install nginx

bench setup production username

Yes. Development (bench start) runs the python web server while let’s encrypt depends on nginx.

It is possible to have SSL in develop, but you have to attach the keys to werkzeug via code. I can show how if anyone needs this.

Oh okay, so the
bench init somebench
always crates development bench that I have to convert to production with
bench setup production username
in order to use ssl? Is the username in command the name of the linux user that I want to run the production server with?

Okay, the site crashes when I run the bench setup production frappe in the bench directory.
Commands that I have run on clean install of ubuntu 18.04 server are the following:

sudo apt update -y
sudo apt upgrade -y
sudo apt install python3-minimal build-essential python3-setuptools nginx supervisor -y

export LC_ALL=C.UTF-8
sudo --preserve-env=LC_ALL python3 --production

sudo cp my.cnf /etc/mysql/my.cnf

bench init test-bench --frappe-branch version-12
cd consulting-bench
bench get-app erpnext --branch version-12

bench config dns_multitenant on
bench new-site
bench setup add-domain
bench --site install-app erpnext

bench setup nginx

#Before this command the application is visible on port 80
sudo bench setup production frappe
#After this the site returns only 503 error page.

is it says system being updated?
If so, then try below command
bench --site site-name set-maintenance-mode off