home-server/roles/dmz_wallabag_front/tasks/main.yml

102 lines
2.9 KiB
YAML

---
# The home-server project produces a multi-purpose setup using Ansible.
# Copyright © 2018 Y. Gablin, under the GPL-3.0-or-later license.
# Full licensing information in the LICENSE file, or gnu.org/licences/gpl-3.0.txt if the file is missing.
### UPSTREAM BEGIN ⇒ ###
- name: pull prerequisites from upstream
include_role: name=etckeeper.inc allow_duplicates=true tasks_from=upstream.yml
vars:
msg: wallabag
### ⇐ UPSTREAM BEGIN ###
- name: install AUR software
include_role:
name: aur.inc
allow_duplicates: true
vars:
pkg_names: |
[
"wallabag"
]
aur_user: git
### UPSTREAM END ⇒ ###
- name: merge upstream
include_role: name=etckeeper.inc allow_duplicates=true tasks_from=merge.yml
vars:
msg: wallabag
### ⇐ UPSTREAM END ###
- name: configure wallabag
lineinfile:
path: /etc/webapps/wallabag/parameters.yml
regexp: '^\s*{{item.key}}:'
line: ' {{item.key}}: {{item.value}}'
with_dict:
database_driver: pdo_pgsql
database_host: /run/shared_sockets
database_port: 5432
database_name: '{{wallabag_db}}'
database_user: '{{wallabag_db_user}}'
database_password: '{{wallabag_db_password}}'
database_path: 'null'
database_table_prefix: wallabag_
database_socket: 'null'
locale: '{{locales_default | truncate(2, True, "", 0)}}'
#- name: check that wallabag is already initialized
# shell: >
# grep -E '^[[:blank:]]*init_done:[[:blank:]]*true$'
# /etc/webapps/wallabag/parameters.yml || true
# register: check_init_wallabag
# changed_when: false
#
#- name: run the initialization script
# command: >
# ./bin/console wallabag:install -e prod --quiet --no-interaction --no-debug
# become: true
# become_user: http
# args:
# chdir: /usr/share/webapps/wallabag
# when:
# - ((check_init_wallabag.stdout is not defined) or (check_init_wallabag.stdout == ''))
#
#- name: initialization done
# lineinfile:
# path: /etc/webapps/wallabag/parameters.yml
# regexp: '^\s*init_done:'
# line: ' init_done: true'
- name: configure nginx for wallabag
copy:
content: |
location {{http_pfx_wallabag}} {
alias /usr/share/webapps/wallabag/web;
try_files $uri @wallabag;
}
location @wallabag {
rewrite ^ {{http_pfx_wallabag}}/app.php/$is_args$args;
}
location ~ ^{{http_pfx_wallabag}}/app\.php(/|$) {
alias /usr/share/webapps/wallabag/web;
rewrite ^({{http_pfx_wallabag}})(/.*?\.php)(/.*)?$ /php...$document_root/...$1/...$2/...$3 last;
}
location ~ ^{{http_pfx_wallabag}}.*\.php$ {
return 404;
}
dest: /etc/nginx/inc.d/wallabag.https.inc
mode: 0440
owner: http
group: http
notify:
- restart nginx.service
### LOCAL COMMIT ⇒ ###
- name: commit local changes
include_role: name=etckeeper.inc allow_duplicates=true tasks_from=local.yml
vars:
msg: wallabag
### ⇐ LOCAL COMMIT ###
- meta: flush_handlers