# SSL/HTTPS Without Docker

**URL:** <https://community.n8n.io/t/ssl-https-without-docker/11321>\
**Category:** Questions\
**Created:** [February 9, 2022, 10:02pm UTC](https://community.n8n.io/t/ssl-https-without-docker/11321 "2022-02-09T22:02:07Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![replwithoutacause](https://avatars.discourse-cdn.com/v4/letter/r/e19adc/32.png) [@replwithoutacause](https://community.n8n.io/u/replwithoutacause)\
**Post date:** [February 9, 2022, 10:02pm UTC](https://community.n8n.io/t/ssl-https-without-docker/11321/1 "2022-02-09T22:02:07Z")

</div>

I’ve configured past installs of n8n quite easily using docker and enabled SSL via LetsEncrypt, but this time I’ve decided to install n8n globally via npm on a Vultr VPS. Can someone please provide some guidance on getting SSL setup with LetsEnrypt without using docker? I am aware of [this guide on Vultr](https://www.vultr.com/docs/setup-letsencrypt-on-linux/) but don’t know if n8n uses Apache or Nginx.

Thank you.  
🕶

---

<div class="post-metadata">

**Author:** ![replwithoutacause](https://avatars.discourse-cdn.com/v4/letter/r/e19adc/32.png) [@replwithoutacause](https://community.n8n.io/u/replwithoutacause)\
**Post date:** [February 10, 2022, 4:20am UTC](https://community.n8n.io/t/ssl-https-without-docker/11321/2 "2022-02-10T04:20:27Z")

</div>

Disregard, I’ve got this working. I will try to compile the steps so someone else can benefit.

---

<div class="post-metadata">

**Author:** ![replwithoutacause](https://avatars.discourse-cdn.com/v4/letter/r/e19adc/32.png) [@replwithoutacause](https://community.n8n.io/u/replwithoutacause)\
**Post date:** [February 10, 2022, 3:16pm UTC](https://community.n8n.io/t/ssl-https-without-docker/11321/3 "2022-02-10T15:16:26Z")

</div>

Here are the steps I followed to get SSL setup on n8n without Docker. I linked each step to the resource I used.

1. Created an A record ([n8n.mydomain.com](http://n8n.mydomain.com)) with domain registrar pointed to my VPS IP
2. [Installed nginx](https://www.nginx.com/resources/wiki/start/topics/tutorials/install/)
3. [Installed certbot](https://www.nginx.com/blog/using-free-ssltls-certificates-from-lets-encrypt-with-nginx/)
4. Requested certificate using certbot for URL: [n8n.mydomain.com](http://n8n.mydomain.com) using `sudo certbot --nginx -d n8n.mydomain.com`
5. Scheduled cron job for certbot auto renewal (instructions linked in Step 3 above)
6. Created UFW firewall rule for port 8443: `sudo ufw allow 8443/tcp`
7. Updated N8N environment variables in **/root/.bashrc** for new config:

```auto
export N8N_HOST="n8n.mydomain.com"
export N8N_PROTOCOL="https"
export N8N_PORT=8443
export VUE_APP_URL_BASE_API="https://n8n.mydomain.com/"
export WEBHOOK_TUNNEL_URL="https://n8n.mydomain.com:8443/"
export N8N_SSL_KEY=/etc/letsencrypt/live/n8n.mydomain.com/privkey.pem
export N8N_SSL_CERT=/etc/letsencrypt/live/n8n.mydomain.com/cert.pem

```

---

<div class="post-metadata">

**Author:** ![MutedJam](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/mutedjam/32/70851_2.png) [@MutedJam](https://community.n8n.io/u/MutedJam)\
**Post date:** [February 10, 2022, 3:38pm UTC](https://community.n8n.io/t/ssl-https-without-docker/11321/4 "2022-02-10T15:38:14Z")

</div>

Great stuff, thanks so much for sharing!
