102 lines
2.9 KiB
YAML
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
|