infra/roles/discourse/tasks/main.yml

44 lines
1.4 KiB
YAML

---
- 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 }};
access_log /var/log/nginx/{{ discourse_domain }}-access.log;
error_log /var/log/nginx/{{ discourse_domain }}-error.log;
return 301 https://$host$request_uri;
}
server
{
listen [::]:443 ssl; listen 443 ssl;
server_name {{ discourse_domain }};
access_log /var/log/nginx/{{ discourse_domain }}-access.log;
error_log /var/log/nginx/{{ discourse_domain }}-error.log;
include snippets/letsencrypt-{{ discourse_domain }}.conf;
location / {
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;
}
}
- name: Setup discourse
template:
src: app.yml
dest: /var/discourse/containers/app.yml