--- - name: Install docker package: name: docker.io state: present - name: Clone the Official Discourse Docker Image git: repo: https://github.com/discourse/discourse_docker.git dest: /var/discourse - name: Setup nginx include_role: name=nginx vars: nginx_domain: "{{ discourse_domain }}" nginx_certificates: ["{{ discourse_domain }}"] nginx_conf: | server { listen [::]:80; listen 80; server_name {{ discourse_domain }}; return 301 https://$host$request_uri; } server { listen [::]:443 ssl http2; listen 443 ssl http2; server_name {{ discourse_domain }}; include snippets/letsencrypt-{{ discourse_domain }}.conf; client_max_body_size 21m; location / { error_page 502 =502 /errorpages/discourse_offline.html; error_page 500 =500 /errorpages/discourse_offline.html; proxy_intercept_errors on; proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock:; proxy_set_header Host $http_host; proxy_http_version 1.1; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; proxy_set_header X-Real-IP $remote_addr; } location /errorpages/ { alias /var/www/discourse-errorpages/; } } - name: Setup discourse template: src: app.yml dest: /var/discourse/containers/app.yml - name: Setup sorry page template: src: discourse_offline.html dest: /var/www/discourse-errorpages/ - name: Setup sorry logo copy: src: d-logo-sketch.png dest: /var/www/discourse-errorpages/d-logo-sketch.png - name: Setup sorry sob copy: src: sob.png dest: /var/www/discourse-errorpages/sob.png