✨: add nextcloud webapps
This commit is contained in:
@@ -58,3 +58,41 @@ freshrss_pg_password: !vault |
|
||||
63363033306636316630373762623563613233633337626430643262323338326630333933626434
|
||||
3234313965356665650a613830653463636630663735393839303934643266646132373065653032
|
||||
3339
|
||||
|
||||
nextcloud_passwordsalt: !vault |
|
||||
$ANSIBLE_VAULT;1.1;AES256
|
||||
64653764653265656264326436346633343430613136643363386363633766303265366462306432
|
||||
6631363537663434373066386337363931626661353861380a333762386635663336356436643532
|
||||
64383261393061353934333064373665646430643432333061623937373364343639303535633666
|
||||
6330363537633866630a343138613834666231323233623333313639653935616533383462323265
|
||||
36393265333639653833373031633337643835656336316333643932383565363936
|
||||
nextcloud_objectstore_secret: !vault |
|
||||
$ANSIBLE_VAULT;1.1;AES256
|
||||
64346461383065303532333038333131656265336364333233646464373638333364303265346662
|
||||
3130366233663737336361356664663964623239313963340a393333323265623434636330343962
|
||||
36323232306538666235376564363931363662613131636339383262613230656538373833306264
|
||||
3666663530616533380a663464393937356166633132646339376261313238316332343139666164
|
||||
61663232643362633730333135323461643539333633306637303461613664306538653337373430
|
||||
37303933316462393966313139633935653139613536333531323238373839613435313934313434
|
||||
35633936653335353964363435636531333635343865376633656564396637663632663438343434
|
||||
37343137613038623337
|
||||
nextcloud_secret: !vault |
|
||||
$ANSIBLE_VAULT;1.1;AES256
|
||||
38623462386531323764653130343865633535386439626163343430376263636261643062346261
|
||||
3561353239653461386266316136326235623063346431630a353064373662336336353062373238
|
||||
38356662633536363836616138623965373035336362366161626630646138666662303666383231
|
||||
6338316339353135350a623030313961623362663165646365313530623633653831366565653262
|
||||
61306362663134623434316639313063633830303033386465653432353738386562386661306332
|
||||
64326635626536636336326162663032323931663063323432326136666238636430633739326537
|
||||
33643437313861616134346136396334376237303833303338353964663262393533336461653131
|
||||
65623234313836633830643633386163386431316361303031353636333338633838326338346133
|
||||
38333835376662343939333438326238396162343332303539346233303364663935
|
||||
nextcloud_pg_role: "admin_nc"
|
||||
nextcloud_pg_database: "libertus_nextcloud"
|
||||
nextcloud_pg_password: !vault |
|
||||
$ANSIBLE_VAULT;1.1;AES256
|
||||
39653865316330373734616434306330303130336466376335396537613031636336663635333836
|
||||
3638303465316562373937386432616232383363366531650a346163333039633436613361306539
|
||||
39333636373365373638393930303063333066376362363262343239353632393663306564643061
|
||||
3761366163373132360a643234333137313131396334303762616634333661396337393731323334
|
||||
3361
|
||||
|
@@ -7,3 +7,4 @@
|
||||
- roundcube
|
||||
- shaarli
|
||||
- freshrss
|
||||
- nextcloud
|
||||
|
15
roles/nextcloud/tasks/db.yml
Normal file
15
roles/nextcloud/tasks/db.yml
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
|
||||
- name: Create nextcloud db role
|
||||
become_user: postgres
|
||||
become: true
|
||||
community.postgresql.postgresql_user:
|
||||
name: "{{ nextcloud_pg_role }}"
|
||||
password: "{{ nextcloud_pg_password }}"
|
||||
|
||||
- name: Create nextcloud db
|
||||
become_user: postgres
|
||||
become: true
|
||||
community.postgresql.postgresql_db:
|
||||
name: "{{ nextcloud_pg_database }}"
|
||||
owner: "{{ nextcloud_pg_role }}"
|
7
roles/nextcloud/tasks/main.yml
Normal file
7
roles/nextcloud/tasks/main.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
|
||||
- name: Init db
|
||||
ansible.builtin.include_tasks: db.yml
|
||||
|
||||
- name: Install nextcloud
|
||||
ansible.builtin.include_tasks: nextcloud.yml
|
58
roles/nextcloud/tasks/nextcloud.yml
Normal file
58
roles/nextcloud/tasks/nextcloud.yml
Normal file
@@ -0,0 +1,58 @@
|
||||
---
|
||||
|
||||
- name: Create application directory
|
||||
ansible.builtin.file:
|
||||
state: directory
|
||||
dest: "{{ nextcloud_local_path }}"
|
||||
owner: root
|
||||
group: www-data
|
||||
mode: "0o750"
|
||||
|
||||
- name: Install nextcloud application
|
||||
ansible.builtin.unarchive:
|
||||
remote_src: true
|
||||
src: "{{ nextcloud_url }}"
|
||||
dest: "{{ nextcloud_local_path }}"
|
||||
owner: root
|
||||
group: www-data
|
||||
mode: "a-rwx,u+rwX,g+rX"
|
||||
extra_opts: ['--strip-components=1']
|
||||
exclude:
|
||||
- "data"
|
||||
- "config/config.php"
|
||||
|
||||
- name: Put config file
|
||||
ansible.builtin.template:
|
||||
src: "config.php.j2"
|
||||
dest: "{{ nextcloud_local_path }}/config/config.php"
|
||||
owner: www-data
|
||||
group: www-data
|
||||
mode: "0o640"
|
||||
|
||||
- name: Set config dir permissions
|
||||
ansible.builtin.file:
|
||||
state: directory
|
||||
dest: "{{ nextcloud_local_path }}/config"
|
||||
owner: www-data
|
||||
group: www-data
|
||||
mode: "0o750"
|
||||
|
||||
- name: Check writable dirs
|
||||
ansible.builtin.file:
|
||||
state: directory
|
||||
dest: "{{ nextcloud_local_path }}/{{ item }}"
|
||||
owner: root
|
||||
group: www-data
|
||||
mode: "g+w"
|
||||
recurse: true
|
||||
loop:
|
||||
- "apps"
|
||||
- "data"
|
||||
|
||||
- name: Run occ upgrade
|
||||
become: true
|
||||
become_user: www-data
|
||||
ansible.builtin.command:
|
||||
cmd: "php occ upgrade"
|
||||
chdir: "{{ nextcloud_local_path }}"
|
||||
changed_when: false
|
60
roles/nextcloud/templates/config.php.j2
Normal file
60
roles/nextcloud/templates/config.php.j2
Normal file
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
$CONFIG = array (
|
||||
'dbtype' => 'pgsql',
|
||||
'version' => '{{ nextcloud_version }}',
|
||||
'dbname' => '{{ nextcloud_pg_database }}',
|
||||
'dbhost' => 'localhost',
|
||||
'dbtableprefix' => 'oc_',
|
||||
'dbuser' => '{{ nextcloud_pg_role }}',
|
||||
'dbpassword' => '{{ nextcloud_pg_password }}',
|
||||
'installed' => true,
|
||||
'instanceid' => '507bf5ef0f4bd',
|
||||
'theme' => '',
|
||||
'trusted_domains' =>
|
||||
array (
|
||||
0 => '{{ nextcloud_access_url }}',
|
||||
),
|
||||
'mail_domain' => 'libertus.eu',
|
||||
'mail_from_address' => 'nextcloud',
|
||||
'loglevel' => 1,
|
||||
'log_type' => 'errorlog',
|
||||
'secret' => '{{ nextcloud_secret }}',
|
||||
'trashbin_retention_obligation' => 'auto',
|
||||
'overwrite.cli.url' => 'https://{{ nextcloud_access_url }}',
|
||||
'updater.release.channel' => 'stable',
|
||||
'user_backends' =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
'class' => '\\OCA\\UserExternal\\IMAP',
|
||||
'arguments' =>
|
||||
array (
|
||||
0 => 'imap.libertus.eu',
|
||||
1 => 993,
|
||||
2 => 'ssl',
|
||||
),
|
||||
),
|
||||
),
|
||||
'objectstore' =>
|
||||
array (
|
||||
'class' => '\\OC\\Files\\ObjectStore\\S3',
|
||||
'arguments' =>
|
||||
array (
|
||||
'bucket' => 'nextcloud-libertus',
|
||||
'autocreate' => false,
|
||||
'key' => 'GK7f69982ab6b981b3fa5ec230',
|
||||
'secret' => '{{ nextcloud_objectstore_secret }}',
|
||||
'hostname' => 'garage.mateu.be',
|
||||
'port' => 443,
|
||||
'use_ssl' => true,
|
||||
'region' => 'garage',
|
||||
'use_path_style' => true,
|
||||
),
|
||||
),
|
||||
'maintenance' => false,
|
||||
'passwordsalt' => '{{ nextcloud_passwordsalt }}',
|
||||
'app_install_overwrite' =>
|
||||
array (
|
||||
0 => 'user_external',
|
||||
),
|
||||
);
|
8
roles/nextcloud/vars/main.yml
Normal file
8
roles/nextcloud/vars/main.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
|
||||
nextcloud_version: "30.0.6"
|
||||
nextcloud_url: "https://download.nextcloud.com/server/releases/nextcloud-{{ nextcloud_version }}.tar.bz2"
|
||||
|
||||
nextcloud_access_url: "{{ web_hostname | selectattr('type', 'defined') | selectattr('type', '==', 'nextcloud') | map(attribute='host') | first }}"
|
||||
|
||||
nextcloud_local_path: "/srv/http/{{ nextcloud_access_url }}"
|
Reference in New Issue
Block a user