Installed Discource on Digital Ocean, but now cannot install nginx?

This is how we’ve done it.

  1. Discourse is running on port 8080 without letsencrypt.

  2. letsencrypt scripts have been installed
    2.1 letsencrypt updating is handled by a cron job
    2.2 We use AWS for DNS. In our setup letsencrypt requires access to AWS to create certificates - currently, we use wildcards.

  3. Nginx handles port 80 and swaps it to port 443
    3.1 Nginx sends request upstream to discouse.
    3.2 Here is an example nginx config

     upstream discourse {
     server 127.0.0.1:8080;
     	keepalive 32;
    

    }

    proxy_cache_path /var/cache/nginx-discourse levels=1:2 keys_zone=discourse_cache:10m max_size=3g inactive=120m use_temp_path=off;

    server {
    listen 80;
    server_name discourse.your-domain-name.tld ;

     add_header Strict-Transport-Security max-age=2592000;
     rewrite ^/.*$ https://$host$request_uri? permanent;
    

    }

    server {
    listen 443 ;
    server_name discourse.your-domain-name.tld;

     access_log  /home/your-domain-name/discourse-access.log;
     error_log   /home/your-domain-name/discourse-error.log;
    
     ssl on;
     ssl_certificate "/etc/letsencrypt/live/your-domain-name/fullchain.pem" ;
     ssl_certificate_key "/etc/letsencrypt/live/your-domain-name/privkey.pem" ;
     keepalive_timeout   60;
    
     ssl_ciphers             HIGH:!ADH:!MD5;
     ssl_protocols           SSLv3 TLSv1;
     ssl_prefer_server_ciphers on;
    
     proxy_buffers 16 64k;
     proxy_buffer_size 128k;
    
     location ~ /api/v[0-9]+/(users/)?websocket$ {
         proxy_set_header Upgrade $http_upgrade;
         proxy_set_header Connection "upgrade";
         client_max_body_size 50M;
         proxy_set_header Host $http_host;
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header X-Forwarded-Proto $scheme;
         proxy_set_header X-Frame-Options SAMEORIGIN;
         proxy_buffers 256 16k;
         proxy_buffer_size 16k;
         client_body_timeout 60;
         send_timeout 300;
         lingering_timeout 5;
         proxy_connect_timeout 90;
         proxy_send_timeout 300;
         proxy_read_timeout 90s;
         proxy_pass http://discourse;
     }
    
     location / {
         client_max_body_size 50M;
         proxy_set_header Connection "";
         proxy_set_header Host $http_host;
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header X-Forwarded-Proto $scheme;
         proxy_set_header X-Frame-Options SAMEORIGIN;
         proxy_buffers 256 16k;
         proxy_buffer_size 16k;
         proxy_read_timeout 600s;
         proxy_cache discourse_cache;
         proxy_cache_revalidate on;
         proxy_cache_min_uses 2;
         proxy_cache_use_stale timeout;
         proxy_cache_lock on;
         proxy_http_version 1.1;
         proxy_pass http://discourse;
     }
    }