diff options
| author | Luke Hoersten <[email protected]> | 2019-01-03 20:46:13 -0600 |
|---|---|---|
| committer | Luke Hoersten <[email protected]> | 2019-01-03 20:46:13 -0600 |
| commit | c5ba641b1cb66e19c23691995bcd0661fbf4d027 (patch) | |
| tree | b86b24d3e84c60fa2790787fb58b6829451e31aa /roles | |
| parent | d8e1d8bc284bfbe34b60ee5a40d5b5df0b25dc96 (diff) | |
Lots of updates.
Diffstat (limited to 'roles')
| -rw-r--r-- | roles/nginx/base/defaults/main.yaml | 3 | ||||
| -rw-r--r-- | roles/nginx/base/tasks/certbot.yaml | 12 | ||||
| -rw-r--r-- | roles/nginx/base/tasks/main.yaml | 17 | ||||
| -rw-r--r-- | roles/nginx/defaults/main.yaml (renamed from roles/nginx/site/defaults/main.yaml) | 1 | ||||
| -rw-r--r-- | roles/nginx/handlers/main.yaml (renamed from roles/nginx/base/handlers/main.yaml) | 0 | ||||
| -rw-r--r-- | roles/nginx/site/handlers/main.yaml | 5 | ||||
| -rw-r--r-- | roles/nginx/site/meta/main.yaml | 4 | ||||
| -rw-r--r-- | roles/nginx/site/tasks/main.yaml | 20 | ||||
| -rw-r--r-- | roles/nginx/tasks/main.yaml | 45 | ||||
| -rw-r--r-- | roles/pleroma/defaults/main.yaml | 15 | ||||
| -rw-r--r-- | roles/pleroma/meta/main.yaml | 2 | ||||
| -rw-r--r-- | roles/pleroma/tasks/main.yaml | 2 | ||||
| -rw-r--r-- | roles/pleroma/templates/pleroma.nginx.conf.j2 | 12 | ||||
| -rw-r--r-- | roles/pleroma/templates/pleroma.service.j2 | 1 | ||||
| -rw-r--r-- | roles/pleroma/templates/prod.secret.exs.j2 | 8 |
15 files changed, 71 insertions, 76 deletions
diff --git a/roles/nginx/base/defaults/main.yaml b/roles/nginx/base/defaults/main.yaml deleted file mode 100644 index 44b37f8..0000000 --- a/roles/nginx/base/defaults/main.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- - -nginx_enable_ssl: No diff --git a/roles/nginx/base/tasks/certbot.yaml b/roles/nginx/base/tasks/certbot.yaml deleted file mode 100644 index 194f5c9..0000000 --- a/roles/nginx/base/tasks/certbot.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- - -# https://certbot.eff.org/lets-encrypt/ubuntuxenial-nginx - -- name: add certbot (letsencrypt) repo - become: yes - apt_repository: repo="ppa:certbot/certbot" - -- name: install nginx packages - become: yes - apt: name="python-certbot-nginx" - notify: restart nginx diff --git a/roles/nginx/base/tasks/main.yaml b/roles/nginx/base/tasks/main.yaml deleted file mode 100644 index ee66773..0000000 --- a/roles/nginx/base/tasks/main.yaml +++ /dev/null @@ -1,17 +0,0 @@ ---- - -- name: install nginx packages - become: yes - apt: name="nginx" - -- name: disable default site - become: yes - file: path="/etc/nginx/sites-enabled/default" state="absent" - notify: restart nginx - -- import_tasks: certbot.yaml - when: nginx_enable_ssl - -- name: enable nginx service - become: yes - systemd: name="nginx" enabled="yes" state="started" diff --git a/roles/nginx/site/defaults/main.yaml b/roles/nginx/defaults/main.yaml index 0092918..8d65d55 100644 --- a/roles/nginx/site/defaults/main.yaml +++ b/roles/nginx/defaults/main.yaml @@ -2,6 +2,7 @@ nginx_port: 80 nginx_ssl_port: 443 +nginx_enable_ssl: No nginx_server_name: "{{ansible_host}}" nginx_conf_dst: "{{nginx_server_name}}.nginx.conf" nginx_admin_email: "admin@{{nginx_server_name}}" diff --git a/roles/nginx/base/handlers/main.yaml b/roles/nginx/handlers/main.yaml index 1feca07..1feca07 100644 --- a/roles/nginx/base/handlers/main.yaml +++ b/roles/nginx/handlers/main.yaml diff --git a/roles/nginx/site/handlers/main.yaml b/roles/nginx/site/handlers/main.yaml deleted file mode 100644 index 1feca07..0000000 --- a/roles/nginx/site/handlers/main.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- - -- name: restart nginx - become: yes - systemd: name="nginx" state="restarted" daemon_reload="yes" diff --git a/roles/nginx/site/meta/main.yaml b/roles/nginx/site/meta/main.yaml deleted file mode 100644 index af2cf0f..0000000 --- a/roles/nginx/site/meta/main.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- - -dependencies: - - nginx/base diff --git a/roles/nginx/site/tasks/main.yaml b/roles/nginx/site/tasks/main.yaml deleted file mode 100644 index 9b51013..0000000 --- a/roles/nginx/site/tasks/main.yaml +++ /dev/null @@ -1,20 +0,0 @@ ---- - -- name: install site - become: yes - template: src="{{nginx_conf_src}}" dest="/etc/nginx/sites-available/{{nginx_conf_dst}}" - notify: restart nginx - -- name: install certbot in nginx - become: yes - command: "certbot certonly --nginx -n --agree-tos -d {{nginx_server_name}} -m {{nginx_admin_email}}" - notify: restart nginx - when: nginx_enable_ssl - -- name: enable site - become: yes - file: - src: "/etc/nginx/sites-available/{{nginx_conf_dst}}" - dest: "/etc/nginx/sites-enabled/{{nginx_conf_dst}}" - state: "link" - notify: restart nginx diff --git a/roles/nginx/tasks/main.yaml b/roles/nginx/tasks/main.yaml new file mode 100644 index 0000000..7a0589f --- /dev/null +++ b/roles/nginx/tasks/main.yaml @@ -0,0 +1,45 @@ +--- + +- name: install nginx packages + become: yes + apt: name="nginx" + +- name: install site + become: yes + template: src="{{nginx_conf_src}}" dest="/etc/nginx/sites-available/{{nginx_conf_dst}}" + notify: restart nginx + +# https://certbot.eff.org/lets-encrypt/ubuntuxenial-nginx +- name: add certbot (letsencrypt) repo + become: yes + apt_repository: repo="ppa:certbot/certbot" + when: nginx_enable_ssl + +- name: install nginx packages + become: yes + apt: name="python-certbot-nginx" + notify: restart nginx + when: nginx_enable_ssl + +- name: install certbot in nginx + become: yes + command: "certbot certonly --nginx -n --agree-tos -d {{nginx_server_name}} -m {{nginx_admin_email}}" + notify: restart nginx + when: nginx_enable_ssl + +- name: disable default site + become: yes + file: path="/etc/nginx/sites-enabled/default" state="absent" + notify: restart nginx + +- name: enable site + become: yes + file: + src: "/etc/nginx/sites-available/{{nginx_conf_dst}}" + dest: "/etc/nginx/sites-enabled/{{nginx_conf_dst}}" + state: "link" + notify: restart nginx + +- name: enable nginx service + become: yes + systemd: name="nginx" enabled="yes" state="started" diff --git a/roles/pleroma/defaults/main.yaml b/roles/pleroma/defaults/main.yaml index c9cbf1d..5d2569f 100644 --- a/roles/pleroma/defaults/main.yaml +++ b/roles/pleroma/defaults/main.yaml @@ -1,12 +1,19 @@ --- pleroma_user: "pleroma" -pleroma_instance_name: "{{pleroma_host}}" -pleroma_desc: "A Pleroma fediverse instance." + pleroma_host: "localhost" -pleroma_scheme: "http" pleroma_port: 4000 -pleroma_url: "{{pleroma_scheme}}://{{pleroma_host}}:{{pleroma_port}}" +pleroma_scheme: "http" + +pleroma_proxy_pass: "{{pleroma_scheme}}://{{pleroma_host}}:{{pleroma_port}}" + +pleroma_link_host: "localhost" +pleroma_link_port: "443" +pleroma_link_scheme: "https" + +pleroma_instance_name: "{{pleroma_link_host}}" +pleroma_desc: "A Pleroma fediverse instance." pleroma_admin_email: "admin@{{pleroma_host}}" pleroma_char_limit: 5000 pleroma_signup_open: "true" diff --git a/roles/pleroma/meta/main.yaml b/roles/pleroma/meta/main.yaml index efae8cd..d7aa38d 100644 --- a/roles/pleroma/meta/main.yaml +++ b/roles/pleroma/meta/main.yaml @@ -1,4 +1,4 @@ --- dependencies: - - nginx/site + - nginx diff --git a/roles/pleroma/tasks/main.yaml b/roles/pleroma/tasks/main.yaml index 0d4ed29..f34952b 100644 --- a/roles/pleroma/tasks/main.yaml +++ b/roles/pleroma/tasks/main.yaml @@ -67,7 +67,7 @@ - "mix local.hex --force" - "mix local.rebar --force" - "mix deps.get" - - "mix ecto.migrate" + # - "mix ecto.migrate" notify: restart pleroma environment: MIX_ENV: "prod" diff --git a/roles/pleroma/templates/pleroma.nginx.conf.j2 b/roles/pleroma/templates/pleroma.nginx.conf.j2 index 34cec8a..b760a44 100644 --- a/roles/pleroma/templates/pleroma.nginx.conf.j2 +++ b/roles/pleroma/templates/pleroma.nginx.conf.j2 @@ -6,12 +6,12 @@ # 3. Copy this file to /etc/nginx/sites-available/ and then add a symlink to it # in /etc/nginx/sites-enabled/ and run 'nginx -s reload' or restart nginx. -proxy_cache_path /tmp/pleroma-media-cache levels=1:2 keys_zone=pleroma_media_cache:10m max_size=10g +proxy_cache_path /tmp/{{pleroma_user}}-pleroma-media-cache levels=1:2 keys_zone={{pleroma_user}}-pleroma_media_cache:10m max_size=10g inactive=720m use_temp_path=off; server { listen {{nginx_port}}; - listen [::]:{{nginx_port}}; + # listen [::]:{{nginx_port}}; server_name {{nginx_server_name}}; return 301 https://$server_name$request_uri; @@ -30,7 +30,7 @@ ssl_session_cache shared:ssl_session_cache:10m; server { listen {{nginx_ssl_port}} ssl http2; - listen [::]:{{nginx_ssl_port}} ssl ipv6only=on; + # listen [::]:{{nginx_ssl_port}} ssl ipv6only=on; server_name {{nginx_server_name}}; ssl_certificate /etc/letsencrypt/live/{{nginx_server_name}}/fullchain.pem; @@ -81,15 +81,15 @@ server { proxy_set_header Connection "upgrade"; proxy_set_header Host $http_host; - proxy_pass {{pleroma_url}}; + proxy_pass {{pleroma_proxy_pass}}; client_max_body_size 16m; } location /proxy { - proxy_cache pleroma_media_cache; + proxy_cache {{pleroma_user}}-pleroma_media_cache; proxy_cache_lock on; proxy_ignore_client_abort on; - proxy_pass {{pleroma_url}}; + proxy_pass {{pleroma_proxy_pass}}; } } diff --git a/roles/pleroma/templates/pleroma.service.j2 b/roles/pleroma/templates/pleroma.service.j2 index 15a0879..e024200 100644 --- a/roles/pleroma/templates/pleroma.service.j2 +++ b/roles/pleroma/templates/pleroma.service.j2 @@ -9,6 +9,7 @@ User={{pleroma_user}} WorkingDirectory=/home/{{pleroma_user}}/pleroma Environment="HOME=/home/{{pleroma_user}}" Environment="MIX_ENV=prod" +Environment="PLUG_TMPDIR=/tmp/{{pleroma_user}}" ExecStart=/usr/local/bin/mix phx.server ExecReload=/bin/kill $MAINPID KillMode=process diff --git a/roles/pleroma/templates/prod.secret.exs.j2 b/roles/pleroma/templates/prod.secret.exs.j2 index d39f57d..2c4d9f2 100644 --- a/roles/pleroma/templates/prod.secret.exs.j2 +++ b/roles/pleroma/templates/prod.secret.exs.j2 @@ -1,7 +1,7 @@ use Mix.Config config :pleroma, Pleroma.Web.Endpoint, - url: [host: "{{pleroma_host}}", scheme: "{{pleroma_scheme}}", port: 443], + url: [host: "{{pleroma_link_host}}", scheme: "{{pleroma_link_scheme}}", port: {{pleroma_link_port}}], http: [port: {{pleroma_port}}], secret_key_base: "{{pleroma_secret_key}}" @@ -10,8 +10,10 @@ config :pleroma, :instance, description: "{{pleroma_desc}}", email: "{{pleroma_admin_email}}", limit: {{pleroma_char_limit}}, - registrations_open: {{pleroma_signup_open}}, - dedupe_media: true + registrations_open: {{pleroma_signup_open}} + +config :pleroma, Pleroma.Upload, + filters: [Pleroma.Upload.Filter.Dedupe] config :pleroma, :media_proxy, enabled: false, |
