infra/pycon.fr.yml

215 lines
6.9 KiB
YAML
Raw Normal View History

2019-12-16 21:09:24 +00:00
---
2021-11-18 06:06:56 +00:00
# After running this playbook on a new machine, you'll need either to:
# - Rsync /var/www/pycon/fr/ from another server or a backup.
# - Redeploy every sites (to run pelican / frozen-flask / ...).
2019-12-16 22:58:06 +00:00
- hosts: webservers
vars:
nginx_public_deploy_key: |
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINbgxOufHY7SxQrJNTlHmye+xeNHBA1O5SGtGhGeOVZM
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIvF5rwjx5lpjzH6B4Uce9kZhz260kkwzYvIieR189Q1
2019-12-16 21:09:24 +00:00
tasks:
- name: Basic setup
include_role: name=common
- name: Setup PyConFr
include_role: name=nginx
vars:
nginx_owner: pyconfr
2021-11-18 07:08:04 +00:00
nginx_domain: pycon.fr
nginx_certificates: ['pycon.fr', 'www.pycon.fr']
nginx_path: /var/www/pycon.fr/
nginx_conf: |
server
{
listen 80;
server_name .pycon.fr;
2019-12-19 14:58:06 +00:00
access_log /var/log/nginx/pycon.fr-access.log;
error_log /var/log/nginx/pycon.fr-error.log;
return 301 https://www.pycon.fr$request_uri;
}
server
{
listen 443 ssl;
server_name pycon.fr;
access_log /var/log/nginx/pycon.fr-access.log;
error_log /var/log/nginx/pycon.fr-error.log;
include snippets/letsencrypt-pycon.fr.conf;
return 301 https://www.pycon.fr$request_uri;
}
server
{
listen 443 ssl;
2019-12-19 14:58:06 +00:00
server_name www.pycon.fr;
access_log /var/log/nginx/pycon.fr-access.log;
error_log /var/log/nginx/pycon.fr-error.log;
include snippets/letsencrypt-pycon.fr.conf;
root /var/www/pycon.fr/;
location = / {
2020-08-02 09:05:12 +00:00
return 302 https://www.pycon.fr/2020$request_uri;
}
rewrite ^/2018/$ /2018/fr/index/ last;
rewrite ^/2018/(A-Za-z-)+/$ /2018/fr/$1/ last;
}
- name: Setup PyConFr 2016
include_role: name=nginx
vars:
2021-11-18 07:08:04 +00:00
nginx_domain: 2016.pycon.fr
nginx_certificates: [2016.pycon.fr]
nginx_conf: |
server
{
listen 80;
server_name 2016.pycon.fr;
access_log /var/log/nginx/2016.pycon.fr-access.log;
error_log /var/log/nginx/2016.pycon.fr-error.log;
return 301 https://www.pycon.fr/2016/;
}
server
{
listen 443 ssl;
server_name 2016.pycon.fr;
access_log /var/log/nginx/2016.pycon.fr-access.log;
error_log /var/log/nginx/2016.pycon.fr-error.log;
include snippets/letsencrypt-2016.pycon.fr.conf;
return 301 https://www.pycon.fr/2016/;
}
- name: Setup PyConFr 2012
include_role: name=nginx
vars:
2021-11-18 07:08:04 +00:00
nginx_domain: 2012.pycon.fr
nginx_certificates: [2012.pycon.fr]
nginx_conf: |
server
{
listen 80;
server_name 2012.pycon.fr;
access_log /var/log/nginx/2012.pycon.fr-access.log;
error_log /var/log/nginx/2012.pycon.fr-error.log;
2019-12-19 14:58:06 +00:00
return 301 https://www.pycon.fr/2012/;
}
server
{
listen 443 ssl;
server_name 2012.pycon.fr;
access_log /var/log/nginx/2012.pycon.fr-access.log;
error_log /var/log/nginx/2012.pycon.fr-error.log;
include snippets/letsencrypt-2012.pycon.fr.conf;
2019-12-19 14:58:06 +00:00
return 301 https://www.pycon.fr/2012/;
}
2019-12-16 21:09:24 +00:00
- name: Setup PyConFr 2011
include_role: name=nginx
2019-12-16 21:09:24 +00:00
vars:
2021-11-18 07:08:04 +00:00
nginx_domain: 2011.pycon.fr
nginx_certificates: [2011.pycon.fr]
nginx_conf: |
server
{
listen 80;
server_name 2011.pycon.fr;
access_log /var/log/nginx/2011.pycon.fr-access.log;
error_log /var/log/nginx/2011.pycon.fr-error.log;
2019-12-19 14:58:06 +00:00
return 301 https://www.pycon.fr/2011/;
}
2019-12-16 21:09:24 +00:00
server
{
listen 443 ssl;
server_name 2011.pycon.fr;
access_log /var/log/nginx/2011.pycon.fr-access.log;
error_log /var/log/nginx/2011.pycon.fr-error.log;
include snippets/letsencrypt-2011.pycon.fr.conf;
2019-12-19 14:58:06 +00:00
return 301 https://www.pycon.fr/2011/;
}
2019-12-16 21:09:24 +00:00
2019-12-19 14:53:22 +00:00
- name: Setup PyConFr 2010
include_role: name=nginx
2019-12-19 14:53:22 +00:00
vars:
2021-11-18 07:08:04 +00:00
nginx_domain: 2010.pycon.fr
2019-12-19 14:53:22 +00:00
nginx_certificates: [2010.pycon.fr]
nginx_conf: |
server
{
listen 80;
server_name 2010.pycon.fr;
access_log /var/log/nginx/2010.pycon.fr-access.log;
error_log /var/log/nginx/2010.pycon.fr-error.log;
2019-12-19 14:58:06 +00:00
return 301 https://www.pycon.fr/2010/;
2019-12-19 14:53:22 +00:00
}
server
{
listen 443 ssl;
server_name 2010.pycon.fr;
access_log /var/log/nginx/2010.pycon.fr-access.log;
error_log /var/log/nginx/2010.pycon.fr-error.log;
include snippets/letsencrypt-2010.pycon.fr.conf;
2019-12-19 14:58:06 +00:00
return 301 https://www.pycon.fr/2010/;
2019-12-19 14:53:22 +00:00
}
2019-12-16 21:09:24 +00:00
- name: Setup sigal of paullaroid.pycon.fr
include_role: name=nginx
2019-12-16 21:09:24 +00:00
vars:
nginx_owner: paullaroid
2021-11-18 07:08:04 +00:00
nginx_domain: paullaroid.pycon.fr
nginx_certificates: [paullaroid.pycon.fr]
nginx_path: /var/www/paullaroid.pycon.fr/
nginx_conf: |
server
{
listen 80;
server_name paullaroid.pycon.fr;
access_log /var/log/nginx/paullaroid.pycon.fr-access.log;
error_log /var/log/nginx/paullaroid.pycon.fr-error.log;
return 301 https://$host$request_uri;
}
server
{
listen 443 ssl;
charset utf-8;
server_name paullaroid.pycon.fr;
access_log /var/log/nginx/paullaroid.pycon.fr-access.log;
error_log /var/log/nginx/paullaroid.pycon.fr-error.log;
include snippets/letsencrypt-paullaroid.pycon.fr.conf;
root /var/www/paullaroid.pycon.fr/;
index index.html;
}
- name: Setup fr.pycon.org
include_role: name=julienpalard.nginx
vars:
nginx_domain: fr.pycon.org
nginx_certificates: [fr.pycon.org]
nginx_conf: |
server
{
listen 80;
server_name fr.pycon.org;
access_log /var/log/nginx/fr.pycon.org-access.log;
error_log /var/log/nginx/fr.pycon.org-error.log;
2019-12-19 14:58:06 +00:00
return 301 https://www.pycon.fr/;
}
server
{
listen 443 ssl;
server_name fr.pycon.org;
access_log /var/log/nginx/fr.pycon.org-access.log;
error_log /var/log/nginx/fr.pycon.org-error.log;
include snippets/letsencrypt-fr.pycon.org.conf;
2019-12-19 14:58:06 +00:00
return 301 https://www.pycon.fr/;
}