initial ansible code
This commit is contained in:
54
roles/nextcloud/templates/nextcloud.config.json.j2
Normal file
54
roles/nextcloud/templates/nextcloud.config.json.j2
Normal file
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"system": {
|
||||
"trusted_proxies": {{ trusted_proxies | to_json }},
|
||||
"trusted_domains": [
|
||||
"{{ nextcloud_domain_name }}"
|
||||
],
|
||||
"overwrite.cli.url": "https:\/\/{{ nextcloud_domain_name }}",
|
||||
"datadirectory": "{{ nextcloud_data_dir }}",
|
||||
"dbtype": "pgsql",
|
||||
"dbname": "{{ nextcloud_db_name }}",
|
||||
"dbhost": "{{ nextcloud_db_host }}",
|
||||
"dbport": "{{ nextcloud_db_port }}",
|
||||
"dbtableprefix": "oc_",
|
||||
"dbuser": "{{ nextcloud_db_user }}",
|
||||
"dbpassword": "{{ vault_nextcloud_db_pass }}",
|
||||
"skeletondirectory": "",
|
||||
"default_language": "de",
|
||||
"default_phone_region": "DE",
|
||||
"mail_smtpmode": "smtp",
|
||||
"mail_smtphost": "{{ nextcloud_smtp_host }}",
|
||||
"mail_smtpport": "{{ nextcloud_smtp_port }}",
|
||||
"mail_smtptimeout": 10,
|
||||
"mail_smtpauthtype": "LOGIN",
|
||||
"mail_from_address": "{{ nextcloud_smtp_from_address }}",
|
||||
"mail_sendmailmode": "smtp",
|
||||
"mail_domain": "{{ nextcloud_smtp_from_domain }}",
|
||||
"mail_smtpauth": 1,
|
||||
"mail_smtpname": "{{ nextcloud_smtp_user }}",
|
||||
"mail_smtppassword": "{{ nextcloud_smtp_pass }}",
|
||||
"mail_smtpsecure": "ssl",
|
||||
"loglevel": 1,
|
||||
"logfile": {{ nextcloud_log_file | to_json }},
|
||||
"logtimezone": "Europe\/Berlin",
|
||||
"memcache.local": "\\OC\\Memcache\\APCu",
|
||||
"filelocking.enabled": true,
|
||||
"memcache.distributed": "\\OC\\Memcache\\Redis",
|
||||
"memcache.locking": "\\OC\\Memcache\\Redis",
|
||||
"redis": {
|
||||
"host": {{ redis_unixsocket | to_json }},
|
||||
"port": 0,
|
||||
"timeout": 0,
|
||||
"dbindex": 0
|
||||
},
|
||||
"trashbin_retention_obligation": "auto, 90",
|
||||
"versions_retention_obligation": "auto, 180",
|
||||
"tempdirectory": {{ nextcloud_temp_dir | to_json }},
|
||||
"cache_path": {{ nextcloud_cache_dir | to_json }},
|
||||
"localstorage.allowsymlinks": true,
|
||||
"enable_previews": "true",
|
||||
"preview_max_x": "2048",
|
||||
"preview_max_y": "2048",
|
||||
"preview_max_scale_factor": 1
|
||||
}
|
||||
}
|
||||
15
roles/nextcloud/templates/nextcloud_exporter.service.j2
Normal file
15
roles/nextcloud/templates/nextcloud_exporter.service.j2
Normal file
@@ -0,0 +1,15 @@
|
||||
## Managed by Ansible ##
|
||||
|
||||
[Unit]
|
||||
Description=Nextcloud Exporter
|
||||
After=network-online.target
|
||||
|
||||
[Service]
|
||||
User={{ nextcloud_exporter_system_user }}
|
||||
Group={{ nextcloud_exporter_system_group }}
|
||||
Type=simple
|
||||
ExecStart={{ nextcloud_exporter_install_dir }}/nextcloud_exporter --server https://{{ nextcloud_domain_name }} --auth-token {{ vault_nextcloud_exporter_token }}
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
12
roles/nextcloud/templates/nextcloud_nightlycron.service.j2
Normal file
12
roles/nextcloud/templates/nextcloud_nightlycron.service.j2
Normal file
@@ -0,0 +1,12 @@
|
||||
## Managed by Ansible ##
|
||||
|
||||
[Unit]
|
||||
Description = Nextcloud nightly background job
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User={{ webserver_user }}
|
||||
ExecStart=/usr/local/bin/nextcloud_nightlycron.sh
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
10
roles/nextcloud/templates/nextcloud_nightlycron.sh.j2
Normal file
10
roles/nextcloud/templates/nextcloud_nightlycron.sh.j2
Normal file
@@ -0,0 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
## Managed by Ansible ##
|
||||
|
||||
cd {{ nextcloud_dir }}
|
||||
# Print start status message.
|
||||
echo "delete expired versions"
|
||||
/usr/bin/php occ versions:expire --quiet
|
||||
echo "permanently delete trashed files"
|
||||
/usr/bin/php occ trashbin:expire --quiet
|
||||
12
roles/nextcloud/templates/nextcloud_nightlycron.timer.j2
Normal file
12
roles/nextcloud/templates/nextcloud_nightlycron.timer.j2
Normal file
@@ -0,0 +1,12 @@
|
||||
## Managed by Ansible ##
|
||||
|
||||
[Unit]
|
||||
Description=Run Nextcloud nightly background job every night
|
||||
|
||||
[Timer]
|
||||
OnCalendar=02:00:00
|
||||
RandomizedDelaySec=600
|
||||
Unit=nextcloud_nightlycron.service
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
17
roles/nextcloud/templates/nextcloud_notify_push.service.j2
Normal file
17
roles/nextcloud/templates/nextcloud_notify_push.service.j2
Normal file
@@ -0,0 +1,17 @@
|
||||
## Managed by Ansible ##
|
||||
|
||||
[Unit]
|
||||
Description = Push daemon for Nextcloud clients
|
||||
|
||||
[Service]
|
||||
Environment = SOCKET_PATH={{ nextcloud_notify_push_socket }} METRICS_PORT=9206
|
||||
User={{ webserver_user }}
|
||||
Group={{ webserver_user }}
|
||||
RuntimeDirectory=nextcloud
|
||||
RuntimeDirectoryMode=0750
|
||||
PIDFile=/run/nextcloud/notify_push.pid
|
||||
ExecStart = {{ nextcloud_notify_push_install_dir }}/nextcloud_notify_push-{{ deb_architecture_alias }} {{ nextcloud_dir }}/config/config.php
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy = multi-user.target
|
||||
9
roles/nextcloud/templates/nextcloudcron.service.j2
Normal file
9
roles/nextcloud/templates/nextcloudcron.service.j2
Normal file
@@ -0,0 +1,9 @@
|
||||
## Managed by Ansible ##
|
||||
|
||||
[Unit]
|
||||
Description=Nextcloud background job (cron.php)
|
||||
|
||||
[Service]
|
||||
User={{ webserver_user }}
|
||||
ExecStart=/usr/bin/php -f /var/www/nextcloud/cron.php
|
||||
KillMode=process
|
||||
12
roles/nextcloud/templates/nextcloudcron.timer.j2
Normal file
12
roles/nextcloud/templates/nextcloudcron.timer.j2
Normal file
@@ -0,0 +1,12 @@
|
||||
## Managed by Ansible ##
|
||||
|
||||
[Unit]
|
||||
Description=Run Nextcloud background job (cron.php) every 5min
|
||||
|
||||
[Timer]
|
||||
OnBootSec=5min
|
||||
OnUnitActiveSec=5min
|
||||
Unit=nextcloudcron.service
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
47
roles/nextcloud/templates/rclone_mount_nextcloud.service.j2
Normal file
47
roles/nextcloud/templates/rclone_mount_nextcloud.service.j2
Normal file
@@ -0,0 +1,47 @@
|
||||
## Managed by Ansible ##
|
||||
|
||||
[Unit]
|
||||
Description = rclone crypt mount {{ nextcloud_rclone_mount_dir }}
|
||||
After = network-online.target
|
||||
|
||||
[Service]
|
||||
Environment=RCLONE_RCD_USER=rclone
|
||||
Environment=RCLONE_RCD_PASSWORD={{ vault_rclone_rcd_pass }}
|
||||
Type=notify
|
||||
ExecStart=/usr/bin/rclone mount GD3_crypt:cloud_data {{ nextcloud_rclone_mount_dir }} \
|
||||
--devname rclone \
|
||||
--use-mmap \
|
||||
--allow-other \
|
||||
--uid {{ created_rclone_user.uid }} \
|
||||
--gid {{ created_rclone_group.gid }} \
|
||||
--umask 002 \
|
||||
--dir-perms 775 \
|
||||
--file-perms 664 \
|
||||
--dir-cache-time 8760h \
|
||||
--poll-interval 1h \
|
||||
--buffer-size 32M \
|
||||
--drive-chunk-size 256M \
|
||||
--drive-pacer-min-sleep 10ms \
|
||||
--drive-pacer-burst 1000 \
|
||||
--vfs-cache-max-age 720h \
|
||||
--vfs-cache-mode full \
|
||||
--vfs-cache-max-size 100G \
|
||||
--vfs-read-chunk-size 128M \
|
||||
--vfs-read-chunk-size-limit off \
|
||||
--vfs-write-back 20s \
|
||||
--cache-dir={{ rclone_cache_dir }} \
|
||||
--log-file={{ rclone_log_dir }}/mount_nextcloud.log \
|
||||
--log-level=INFO \
|
||||
--rc \
|
||||
--rc-addr "0.0.0.0:5572" \
|
||||
--rc-enable-metrics \
|
||||
--rc-user $RCLONE_RCD_USER \
|
||||
--rc-pass $RCLONE_RCD_PASSWORD \
|
||||
--user-agent "{{ rclone_user_agent_gd }}"
|
||||
ExecStop=/bin/fusermount -u -z {{ nextcloud_rclone_mount_dir }}
|
||||
Restart=on-failure
|
||||
RestartSec=20s
|
||||
User=root
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Reference in New Issue
Block a user