infra/dl.yml

103 lines
2.6 KiB
YAML
Raw Permalink Normal View History

2021-04-04 17:26:30 +00:00
---
- hosts: dl
vars:
uploaders:
2022-02-28 14:00:13 +00:00
- mdk
- hs-157
- pilou
- entwanne
- merwyn
2021-04-04 17:26:30 +00:00
tasks:
- name: Basic setup
include_role: name=common
- name: Create uploaders group
group:
name: uploaders
state: present
- name: Create uploaders accounts
user:
group: uploaders
2022-02-28 14:00:13 +00:00
name: "{{ item }}"
state: present
loop: "{{ uploaders }}"
- name: mkdir uploaders .ssh
file:
path: "~/.ssh"
state: directory
mode: 0755
become: yes
2022-02-28 14:00:13 +00:00
become_user: "{{ item }}"
loop: "{{ uploaders }}"
- name: Set user authorized keys
copy:
2022-02-28 14:00:13 +00:00
content: "{{ authorized_keys[item]|join('\n') }}"
dest: "~/.ssh/authorized_keys"
mode: 0644
become: yes
2022-02-28 14:00:13 +00:00
become_user: "{{ item }}"
loop: "{{ uploaders }}"
2021-04-06 19:49:40 +00:00
- name: Install dependencies
2021-04-04 17:26:30 +00:00
apt:
2021-04-06 19:49:40 +00:00
name: [libnginx-mod-http-fancyindex, rsync]
2021-04-04 17:26:30 +00:00
state: present
- name: Setup afpy.org
2023-02-14 15:20:38 +00:00
tags: nginx
include_role:
name: nginx
apply:
tags: nginx
2021-04-04 17:26:30 +00:00
vars:
nginx_owner: dl-afpy-org
2021-11-18 07:08:04 +00:00
nginx_domain: dl.afpy.org
2021-04-04 17:26:30 +00:00
nginx_certificates: [dl.afpy.org, videos-2015.pycon.fr]
nginx_conf: |
server
{
listen [::]:80; listen 80;
server_name dl.afpy.org;
2021-04-04 17:26:30 +00:00
return 301 https://$host$request_uri;
}
server
{
listen [::]:80; listen 80;
server_name videos-2015.pycon.fr;
return 301 https://dl.afpy.org/pycon-fr-15$request_uri;
2021-04-04 17:26:30 +00:00
}
server
{
2023-02-13 21:40:47 +00:00
listen [::]:443 ssl http2; listen 443 ssl http2;
2021-04-04 17:26:30 +00:00
server_name videos-2015.pycon.fr;
include snippets/letsencrypt-dl.afpy.org.conf;
return 301 https://dl.afpy.org/pycon-fr-15$request_uri;
}
server
{
2023-02-13 21:40:47 +00:00
listen [::]:443 ssl http2; listen 443 ssl http2;
server_name dl.afpy.org;
2022-11-08 21:00:32 +00:00
charset utf-8;
include snippets/letsencrypt-dl.afpy.org.conf;
2021-04-04 17:26:30 +00:00
root /var/www/dl.afpy.org/;
2021-04-04 17:26:30 +00:00
add_header Content-Security-Policy "default-src 'none'; style-src 'unsafe-inline'; frame-ancestors 'self'; media-src 'self'";
add_header X-Content-Type-Options "nosniff";
2023-02-14 15:20:38 +00:00
2021-04-04 17:26:30 +00:00
location /
{
fancyindex on;
2022-11-08 21:00:32 +00:00
fancyindex_exact_size off; # Output human-readable file sizes.
fancyindex_name_length 150;
2021-04-04 17:26:30 +00:00
}
}