infra/static_websites.yml

155 lines
4.9 KiB
YAML

---
- hosts: mdk
vars:
letsencrypt_email: julien@palard.fr
tasks:
- name: Setup palard.fr
include_role: name=nginx
vars:
nginx_domain: palard.fr
nginx_certificates: [palard.fr, www.palard.fr]
nginx_conf: |
server
{
listen 80;
server_name palard.fr www.palard.fr;
return 301 https://$host$request_uri;
}
server
{
listen 443 ssl http2;
charset utf-8;
server_name palard.fr www.palard.fr;
include snippets/letsencrypt-palard.fr.conf;
add_header Content-Security-Policy "frame-ancestors 'none'";
add_header X-Frame-Options "DENY";
root /var/www/palard.fr/;
}
- name: Create /var/www/palard.fr/
file:
path: /var/www/palard.fr/
state: directory
mode: 0755
- name: palard.fr page
copy:
dest: /var/www/palard.fr/index.html
mode: 0644
content: |
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8" />
<title>palard.fr</title>
</head>
<body>
<h1>Bonjour et bienvenu sur la FAQ de <i>palard.fr</i></h1>
<p>
Q: À qui le domaine appartient&nbsp;?<br/>
A: C'est <a href="https://mdk.fr">Julien Palard</a> qui s'occupe de palard.fr.
</p>
<p>
Q: Je suis un Palard, je peux avoir un email en @palard.fr moi aussi&nbsp;?<br/>
A: Oui ! Volontiers, envoie moi un mail à julien@palard.fr, j'héberge ça chez <a href="https://protonmail.com">Protonmail</a>.
</p>
<p>
Q: Et c'est gratuit un mail en @palard.fr&nbsp;?<br/>
A: Non, ça me coûte 8€ par mois par adresse, participation aux frais bienvenue&nbsp;!
</p>
<p>
Q: Je suis un Palard, je peux avoir une page sur ce domaine&nbsp;?<br/>
A: Pas de souci, un https://palard.fr/~ton_prénom c'est facile, envoie moi un mail à julien@palard.fr.
</p>
<p>
Q: Et c'est gratuit une page sur ce domaine&nbsp;?<br/>
A: Oui, c'est une toute petite machine hébergée chez <a href="scaleway.com">Scaleway</a>, je la paye que vous y posiez vos pages ou pas.
</p>
<p>
Q: Ma question n'est pas dans la FAQ&nbsp;!<br/>
A: Envoie moi un mail à julien@palard.fr.
</p>
<br/>
<pre>
--
Julien Palard
</pre>
</body>
</html>
- name: Setup le-poitevin.fr
include_role: name=nginx
tags: always
vars:
nginx_domain: le-poitevin.fr
nginx_certificates: [le-poitevin.fr, www.le-poitevin.fr]
nginx_owner: le_poitevin_fr
nginx_path: /var/www/le-poitevin.fr/
nginx_public_deploy_key: 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBhFjd1nWN2N0xNm5N+sg9yMcb3sHrYWZ5vPdSUST0zn deploy'
nginx_conf: |
server
{
listen 80;
server_name le-poitevin.fr;
return 301 https://$host$request_uri;
}
server
{
listen 80;
server_name www.le-poitevin.fr;
return 301 https://le-poitevin.fr$request_uri;
}
server
{
listen 443 ssl http2;
server_name le-poitevin.fr;
include snippets/letsencrypt-le-poitevin.fr.conf;
add_header Content-Security-Policy "frame-ancestors 'none'";
add_header X-Frame-Options "DENY";
root /var/www/le-poitevin.fr/;
index index.html;
}
server
{
listen 443 ssl http2;
server_name www.le-poitevin.fr;
include snippets/letsencrypt-le-poitevin.fr.conf;
add_header Content-Security-Policy "frame-ancestors 'none'";
add_header X-Frame-Options "DENY";
return 301 https://le-poitevin.fr$request_uri;
}
- name: matrix.palard.fr
include_role: name=nginx
vars:
nginx_domain: matrix.palard.fr
nginx_certificates: [matrix.palard.fr]
nginx_conf: |
server
{
listen 80;
server_name matrix.palard.fr;
return 301 https://$host$request_uri;
}
server
{
listen 443 ssl http2;
server_name matrix.palard.fr;
include snippets/letsencrypt-matrix.palard.fr.conf;
add_header Content-Security-Policy "frame-ancestors 'none'";
add_header X-Frame-Options "DENY";
location /
{
proxy_pass http://127.0.0.1:8008;
proxy_set_header X-Forwarded-For $remote_addr;
}
}